![]() ![]() The SNES has fewer moving parts than the Genesis, so setup is more straightforward here and feels more like setting up the NES, just with more switches to reset. The fourth part, which we do not provide here, takes up 16 bytes of space just before the game title, from $FFB0-$FFBF, and provides extra (legacy?) game identification bytes and more options for coprocessor registration. When we do proper releases, we’ll compute the checksum properly. We’re leaving dummy values there for now but respecting the complement part of it because emulators will often recognize a bad but properly-formatted checksum as part of a consistent header as marking a homebrew cartridge. The ROMINFO segment is rounded out by two words, the first of which is the checksum for the entire ROM and the second of which is the one’s-complement of that checksum. The final three zeroes represent region (0 is NTSC), developer ID (We don’t have one), and ROM version (first release). We don’t have any RAM, so that value is a zero, but we have 128KB of ROM, so we write a 7 into at slot. The third and fourth bytes represent the ROM and RAM size within the cartridge, as powers of two. ![]() The second byte describes what hardware is present on the cartridge a 0 here means we’re just a pack of ROM chips, but this byte lets us specify on-board RAM, a savestate battery, or one of a dozen coprocessors. The first byte specifies the cartridge layout $20, $21, and $25 represent LoROM, HiROM, and ExHiROM respectively, and adding $10 to this (so the first hex digit is 3 instead of 2) signifies that it is FastROM-capable.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |