Mastodon

Teaching Naomi to Auto-Set the EEPROM

October 1st 2021, 12:27 pm

In a few of my games downstairs I run Naomi hardware. Instead of loading the games from the original GD-ROM I netboot the games. For that I run a small web server which monitors the games and lets guests choose which game is loaded on what cabinet. It's pretty slick, and its all solid-state and future-proof. However, the settings for each game are reset to the defaults every time a new game is turned on. That means I have to go into the operator menu, enable free-play, modify game settings such as lives and difficulty, calibrate joysticks and the works. That's annoying and not very guest-friendly.

My solution to this problem was originally to create a series of patches which forced the Naomi to put games into free-play and silent attract mode. This was good enough, since both me and my guests could load a game and play it without getting the keys, going through the test menu and setting everything up. However, I figured I could do one better! So I figured out the format of the EEPROM that saves system and game settings, figured out how to read from and write to it and then wrote a program that could change my settings for me. I made it such that the program could be loaded before any game so that it had a change to customize the settings for me before running the game. I also made a utility that I can run on my server which lets me choose custom game options and then saves those options into a small program it attaches to the game ROM which then gets netbooted. The end result is that I can pick custom game and system settings, load the game onto my arcade cabinet and when it finishes booting up it has all of the settings I want already configured!

The whole project is avilable at https://github.com/DragonMinded/netboot for download if you want to do the same thing to your games. Right now there is only a console UI for changing or viewing settings, and I have settings definitions for the system settings and Marvel Vs. Capcom 2. I would like to integrate it with my ROM configuration screen on the web server so that I can edit the settings on the fly without messing with ROM files directly. I would also like to get more definition files worked out so that I can edit the settings for other games I play such as Ikaruga and Monkey Ball. Hopefully that's all coming soon! For now you can check out the documentation at https://dragonminded.com/naomidev/settingspatcher/.