What's new

totoroslayer

Beginner
Joined
Aug 17, 2015
Messages
17
Reaction score
6
Does anyone know if the games themselves can be patched or modified to be set up for free play or event mode upon net loading? I've seen some games start up in free play mode. Do those settings reside in the DIMM memory, or deeper somewhere on the naomi board itself?
 
the naomi's coin settings are part of the main board test settings. which when changed affect all games.
so setting freeplay will set it for ever game as long as the nvram stays active eg. a good battery. similar to a pc and cmos settings

event mode is normally set via the games test menu and will be individual to each game.

for atmoisware games on naomi coins setting (including freeplay) are in the game's test menu but these are not saved after restart as far as im aware.
 
crazy sounding idea, but totoroslayer has an interesting point here...
It'd be interesting if the settings could be loaded with the games if one used a netboot setup...
vertical games could be properly setup beforehand, games that require 1Player ONLY could be implemented, a master "free play" mode might be toggle-able.. etc.
Thoughts on if it'd be possible even to implement some kind of nvram programmer that could be controlled by the same raspberry pi that did the netboot?

I don't offhand see any reason it's NOT possible, and probably not even overly complicated if there's a way to piggyback or replace that nvram with an external tap...

if it was eeprom, it'd be stupid simple.. I haven't looked to see exactly where it's stored, but I can only assume that it's battery backed, or that onboard CR2032 wouldn't be doing much.
 
actually, then game run for 1st time, bios 'system assignment' settings (i.e. coin settings, demo sound on/off, etc) copied/set from ROM header into mobo EEPROM.

if you open NAOMI game image in hex editor at offset 1E0h you'll see something like this:
000001E0 01 00 00 01 01 01 00 00 01 01 01 01 01 01 01 01
000001F0 01 00 00 01 01 01 00 00 01 01 01 01 01 01 01 01
00000200 01 00 00 01 01 01 00 00 01 01 01 01 01 01 01 01
00000210 01 00 00 01 01 01 00 00 01 01 01 01 01 01 01 01
00000220 01 00 00 01 01 01 00 00 01 01 01 01 01 01 01 01
00000230 01 00 00 01 01 01 00 00 01 01 01 01 01 01 01 01
00000240 01 02 00 01 01 01 00 00 01 01 01 01 01 01 01 01
00000250 01 02 00 01 01 01 00 00 01 01 01 01 01 01 01 01

this is 8x 16byte configuration blocks, for each region (Japan, USA, Export, etc).
if 1st byte not 0 this means the rest 15 will be used for system assignment EEPROM init.
sorry, was not that interested to identify what all of them means...
 
Really?

I thought flags that were set in the non-game service manual were visible to games, but not settable?
 
I've definitely noticed some games automatically changing the number of coins required, number of players, and orientation... other games seem to just bitch when the settings aren't to their liking.

If this is all controlled by those bits, It shouldn't be difficult for someone to develop a tool to modify your ROMs so they always load up the way you want them.
 
@defor really. I had REd NAOMI ROM header structure, finding this was side effect ;)

you can change settings 2nd byte (i.e. offsets 1E1h, 1F1h, 201h etc) to:
2 - and you get game with advertise sound disabled (no sound on NAOMI drop logo as well),
3 - you get no sound and orientation changed to vertical.

note: default settings applied only then game change was detected. BIOS do this comparing 4 character gameID from ROM at 134h with stored in EEPROM values, so if you want to play with this values on real hardware - change gameID in ROM as well so BIOS thinks some new game was installed.
 
I'm totally going to have to play with this!
Is there any checksum we'll have to worry about on the image?

Thanks for the mad info drop! :)
 
Well, let's be honest- if you're frequently changing games (aka most of us cheapass netboot users).. it's a damn pain in the ass to have to change system configs all the time just to switch a game- having the game do this FOR you, is actually pretty much the final step in making it stupid easy for the end user... and almost an expectation for people using the system "consolized"
 
That could be pretty awesome. No more error 51 or 54 would be a dream come true. I mean, I'm used to it at this point, but I'm all for convenience. If this works you could have versions of Power Stone 2 (for example) that set the cab to 2p or 4p as needed.
 
I see, automatic assignments switching can be handy if games changed often.

@skate323k137 avoiding ERROR xx is much easier, in game header:
0428h - 0xff support all countries
0429h - 0 disable player number check
042Ah - 0 disable display frequency check
042Bh - 0 disable display orientation check
042Ch - 0 disable DIMM S/N EEPROM check
 
I've seen few games requiring 31Khz only, and none 15Khz.
mentioned above bytes works as bitmap, there each bit is possible settings value (i.e. bit 0 - 15Khz, bit 1 - 31Khz, or vice versa, can't remember), if bit =1 it is acceptable by game. 0x00 works as magic 'doesn't care' flag, except for region byte.
 
I've seen few games requiring 31Khz only, and none 15Khz.
mentioned above bytes works as bitmap, there each bit is possible settings value (i.e. bit 0 - 15Khz, bit 1 - 31Khz, or vice versa, can't remember), if bit =1 it is acceptable by game. 0x00 works as magic 'doesn't care' flag, except for region byte.
I did some testing and it looks like Sega Strike Fighter, Airline Pilots, and Rhythm Heaven all complain if not in 31K mode. Wave Race GP outputs in 31K mode even if 15K mode is set, which is problematic as it could cause damage if you tried running it on a 15K monitor.
 
@defor really. I had REd NAOMI ROM header structure, finding this was side effect ;)

you can change settings 2nd byte (i.e. offsets 1E1h, 1F1h, 201h etc) to:
2 - and you get game with advertise sound disabled (no sound on NAOMI drop logo as well),
3 - you get no sound and orientation changed to vertical.

note: default settings applied only then game change was detected. BIOS do this comparing 4 character gameID from ROM at 134h with stored in EEPROM values, so if you want to play with this values on real hardware - change gameID in ROM as well so BIOS thinks some new game was installed.
Thanks again for leaving a trail of bits...
 
Back
Top