jmchacon Posted July 2, 2019 Share Posted July 2, 2019 Couldn't find an obvious old post so thought I'd ask. I'm working on my emulator again after a bit and things are running pretty well as I implement various cart mappers, etc. This is mostly an exercise for me in exploring bus cycle completeness issues as I implement. I was wondering why the community never seemed to chose to adopt a header format for the ROM images (i.e. how the ines format is used for NES emulation)? Reading z26 src it appears to match mappers by keeping a list of game checksums and basing it on that. Stella uses a variety of heuristics in auto-detect mode to determine things and in a lot of cases falls back to "it's 16k and nothing matches so we'll just assume F6". I know it also supports using extensions on the filename to force mappings as well (along with checksums to match ROMs for initial state, etc). I agree both systems work but they seem slightly brittle in some ways. i.e. all the ROMs available for download are raw .bin files so emulators loading them have to play auto-detect games (which can have gaps) or the ROM owner has to know already which mapper to rename the file to force a mapping, etc. What about a defined header and general extension name which allows one to declare up front "this is an F6+SC ROM" ? I'm not trying to argue here but mostly just curious about the history here more than anything as I look at other 8 bit systems and how they handled this sort of thing. Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted July 2, 2019 Share Posted July 2, 2019 I thought .A26 and .A78 fixed that. Quote Link to comment Share on other sites More sharing options...
jmchacon Posted July 2, 2019 Author Share Posted July 2, 2019 1 hour ago, CPUWIZ said: I thought .A26 and .A78 fixed that. Oh. I see those in the stella list but don't see a cross reference to anything. Got a pointer? Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted July 2, 2019 Share Posted July 2, 2019 A26 is just another suffix for a raw ROM. A better ROM dump format has been discussed in the past, but has not been defined and implemented for various, mostly historical reasons. Quote Link to comment Share on other sites More sharing options...
+FujiSkunk Posted July 2, 2019 Share Posted July 2, 2019 If I'm not mistaken, A78 is not just a raw ROM dump, but like Thomas said, A26 is. I imagine people started using A26 simply to have a unique extension for each system's ROMs, so they could all be mapped to different emulators. Quote Link to comment Share on other sites More sharing options...
MrMaddog Posted July 6, 2019 Share Posted July 6, 2019 The No Intro format is pretty much the universal standard for ROMS right now. The only formats that do need headers for emulation is Lynx, NES & N64. 2600 ROMS run fine without headers so there was no need for any... ProTip: No Intro roms won't work on MAME, but other emulators are fine. Quote Link to comment Share on other sites More sharing options...
+FujiSkunk Posted July 8, 2019 Share Posted July 8, 2019 Well, theoretically, 2600 ROMs could benefit from a header, just as NES ROMs theoretically could work without headers, provided you have an emulator that does what Stella does: work with an internal DB and some heuristics to figure out which mapper / bank switching scheme a given game uses. 7800 ROMs also need a header, or something else to dictate what the bank switching is and whether there is a POKEY or other extra cartridge hardware involved. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.