By the way, now let's start discussing about the format of a new Mega Drive header, OK? Probably a lot of you don't find enough the information you can put in the standard header, so let's make a new one What kind of information? Well, things like what kind of memory is being used if you have SRAM, mappers or even if you have several kind of memories (like normal RAM and SRAM in the same cartridge, or mirrored RAM that is accessed differently, like the RAM in the Sega CD that can be accessed both as a bitmap or as a tilemap, depending from which address it's accessed (it's just a line swap)). Once we're done, I'll put the official specifications for this new header in my page, OK?
Some notes:
- The new header must be compatible with the old one, that is, the old fields should remain, and must be filled with valid data (this doesn't imply we can't extend the functionality of those fields).
- Sega won't update the old header at this point so let's assume that the reserved fields are free for the new header to use.
- The new header doesn't need to have the same size as the old one, so feel free to add new fields after the original 256 bytes. This may clash with the 32x, but we would probably make special code to override the lock-up of the 32x BIOS.
- There must be an easy way to identify the old header from the new one. The best way to do it probably is using a reserved field to contain certain value if it's the new header, or modifying the magic to say something like "SEGA 2GEN" instead of "SEGA MEGA DRIVE" or "SEGA GENESIS".
- If I make a 2gen BIOS, it'll be able to recognise the 2gen header (even if just to retrieve info if the user wants to know). It would be cool if, for example, Regen was compatible with it and could retrieve info from it.