NAOMI configuration saves

I just setup flycast to play some naomi games but i noticed when i would change a setting in the test menu, the setting(s) would be reset to default after i exit and restart the game. The only way i have found to get around this is to save my game and then reload it when i am in the game and that will reload the modified test menu settings. Is there a way to change the eeprom file(s) to have this permanent without having to load my saved game everytime?

The eeprom is saved when you close the content or exit RetroArch cleanly. It won’t be saved if RA crashes. Also make sure RA has write permissions to the content directory (or RA “save” directory if configured although I need to check if this is true). The settings are saved to .eeprom files.

I forgot to mention I’m using MAME roms and not bin/dat/lst, but even then those still did the same thing. So if i have RA set to launch through my front end (attract mode) and exit via Esc button, does that count as exiting cleanly?

Exiting via the ESC button/key is considered a clean exit.

However I was wrong in my previous message: the Naomi eeprom file is saved as soon as it’s modified by the game, and this happens when exiting the Naomi service menu.

Unfortunately there’s no log message if saving the file fails for whatever reason. I’ll fix this.

The roms are kept in a ‘roms’ folder inside of the RA directory so it should have full access to the files. I gave full permission on the RA folder to administrators, everyone, and users and unchecked ‘read only’ and ‘unblock from firewall’ on the rom zip file properties but still no success

I loaded MvC2 into mame (.219) and went into the test menu to change some settings. It allowed me to change the settings (even though it’s slow to navigate), save them, and reboot into the game. Once booted into the game, i exited out of the game back to the mame menu and then booted back into the game via mame again. When I got into the test menu, the settings were saved. Looks as though MAME makes a copy or creates some files in it’s ‘nvram’ folder with a subfolder of the rom name (mvsc2u) and has 4 files in it. ‘main_eeprom’, ‘mie_eeprom’, ‘naomibd_eeprom’, and ‘sram’. I replaced the ‘main_eeprom’ file in the flycast rom’s zip file with the one that mame created and placed the remaining 3 inside of it as well to see if when i loaded the game through RA if the same settings would be there. I assume the new modified test menu settings are in one or more of these files. Unfortuantely they werent and everything was default, so it seems mame is able to save the settings but RA/flycast are not. Is RA/flycast supposed to do something similar to mame in how it creates these files and places them in its ‘nvram’ folder?

Yes, flycast does something similar. In your case, the file containing the test menu settings is named mvsc2.zip.eeprom and saved in the content folder, or in a reicast folder inside RA Savefile folder if configured.

There is a ‘reicast’ folder in the ‘saves’ folder but it only has 2 files, ‘cvs2mf.zip.eeprom’ and ‘cvs2mf.zip.nvmem’. I’m not sure how those got there as I have never gotten cvs2 (capcom vs snk 2) to save and load settings correctly either. I turned on logging in RA and loaded the game up and modified the difficulty settings in both games, saved it, let the game boot to main menu/intro, exited, reloaded the game and the settings were default again. The last modified date of the cvs2mf eeprom and nvmam files was 2 days ago from when I am writing this so it looks as though it didnt modify the files when i tested to see if it would save the difficulty settings. I pastebin’d the log for cvs2 here https://pastebin.com/Gq5uvf3c and mvsc2u here https://pastebin.com/dG9AU4ar I dont see anywhere in those logs where it says it’s attempting to access either the eeprom or nvmem files but idk if that is logged or not. My launch settings for RA through attract mode are

executable C:\retroarch2\retroarch.exe args -L C:\retroarch2\cores\flycast_libretro.dll “[romfilename]” rompath C:\retroarch2\roms romext .zip

I have no clue what’s going on but I added some logging yesterday. Now if the eeprom save fails, it will be logged, along with the full eeprom file path. Please upgrade and retry.

Got it. https://pastebin.com/QtxyRSva For some reason it was looking for a subfolder in the ‘saves’ folder name ‘roms’ to save the eeprom files in. I had this exact same problem with loading CHD files when i first set this up as well. My RA folder is C:\Retroarch2 and my roms are in a ‘roms’ folder in the main RA directory. I would place the CHD file(s) in a subfolder inside the roms folder with the same name as the mame file (i.e. C:\retroarch2\roms\ikaruga\ikaruga.chd) but it still would not load them. After i turned on logging, i saw it was looking for ANOTHER roms folder inside the roms folder to load the CHD files (C:\Retroarch2\roms\ROMS\ikaruga) which i thought was strange and now it was doing the exact same thing with the eeprom files. Is my launch command and or roms file location info i’m feeding to attract mode causing flycast to do this? Ive searched high and low and couldnt find anyone else with this issue. Thanks again for adding the logging and helping me fix this. I unlocked characters in MVSC2, exited the game, and when i rebooted the settings were saved and the eeprom files are now in the new location since i created that additional ‘roms’ folder inside the saves folder.

I think this is a bug, it shouldn’t be replicating your folder structure inside the ‘saves’ folder. Or, if it does, it should create the folders as needed.

The Naomi CHD folder structure is unrelated: this is how it’s supposed to work.

I’m glad it’s finally working!

But if my roms are in C:\retroarch2\roms, isnt the CHD directory supposed to be C:\retroach2\roms\ikaruga\ikargua.chd and not C:\retroarch2\roms\roms\ikaruga\ikaruga.chd ? Just seems like it’s looking for a subfolder in the saves and roms folder for the eeprom and chd files. Just trying to figure out if it’s something i’m doing or not. Anyway i guess it doesnt matter as long as everything works but if anything i’m giving you helps to work out any bugs then i’m happy to help :slight_smile:

You’re right:

Probably the same issue