INES Mapper 001: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(added instructions for loading .sav files in the algorithm)
m (bank 2 should be saved alone only if PRG-ROM is smaller than 256 KB)
Line 6: Line 6:


# CHR ROM present on cartridge : MMC1 registers acts "normal".
# CHR ROM present on cartridge : MMC1 registers acts "normal".
# CHR ROM not-present on cartridge : MMC1 CHR's registers bankswitches SRAM banks. If the battery bit is present, only banks which are accessed are saved to the disk when the game is quit. In the particular case where only bank 0 and 2 were acessed, only bank 2 is saved to disk (SOROM). When loading a game with the battery bit set, if a 8KB .sav file is present, it is spreaded across all banks (so that it loads correctly for both SNROM and SOROM), if a 32KB .sav file is present obviously load it into the whole RAM area.
# CHR ROM not-present on cartridge : MMC1 CHR's registers bankswitches SRAM banks. If the battery bit is present, only banks which are accessed are saved to the disk when the game is quit. When loading a game with the battery bit set, if a 8KB .sav file is present, it is repeated equally across all banks.
In the particular case where only bank 0 and 2 were acessed, and if PRG-ROM is 256 KB or less, only bank 2 is saved to disk (SOROM).
# PRG ROM size equal to 512 KiB: Higher CHR line switches 256 KB banks.
# PRG ROM size equal to 512 KiB: Higher CHR line switches 256 KB banks.
# PRG ROM size equal to 256 KiB or less and CHR-ROM not present on the cartidge : Higher CHR line disables SRAM.
# PRG ROM size equal to 256 KiB or less and CHR-ROM not present on the cartidge : Higher CHR line disables SRAM.


[[Category:iNES Mappers]]
[[Category:iNES Mappers]]

Revision as of 09:52, 15 November 2010

iNES Mapper 001 is used to designate the SxROM boardset, all of which use the Nintendo MMC1.

This has proven to be problematic for boards (such as SOROM, SUROM and SXROM) which use the upper CHR bank select lines to select additional PRG ROM or PRG RAM data; games which use SOROM or SXROM often must be handled individually based on the ROM checksum.

In the absence of data beyond basic iNES header data, the following procedure may work to guess a board type useful for emulation:

  1. CHR ROM present on cartridge : MMC1 registers acts "normal".
  2. CHR ROM not-present on cartridge : MMC1 CHR's registers bankswitches SRAM banks. If the battery bit is present, only banks which are accessed are saved to the disk when the game is quit. When loading a game with the battery bit set, if a 8KB .sav file is present, it is repeated equally across all banks.

In the particular case where only bank 0 and 2 were acessed, and if PRG-ROM is 256 KB or less, only bank 2 is saved to disk (SOROM).

  1. PRG ROM size equal to 512 KiB: Higher CHR line switches 256 KB banks.
  2. PRG ROM size equal to 256 KiB or less and CHR-ROM not present on the cartidge : Higher CHR line disables SRAM.