iNES Mapper 157 is used for games using the Datach Joint ROM system. This belongs in the Bandai FCG family of mappers. The Datach main unit is a device for insertion into the Famicom's cartridge port that provides a barcode scanner, and that accepts its own custom game cartridges. It contains an internal 256-byte serial EEPROM (X24C02) that is shared among all Datach games. Graphics are stored in 8 KiB of unbanked CHR-RAM instead of bankswitched CHR-ROM.
One game, Battle Rush: Build up Robot Tournament, has an additional external 128-byte serial EEPROM (X24C01) on the game cartridge. As part of that game's functionality is to transfer save data between the Datach main unit's EEPROM and the game cartridge's EEPROM, emulators should save each EEPROM's data to separate files, one for the main unit's EEPROM, and one for the game cartridge's EEPROM.
The NES 2.0 header's PRG-NVRAM field will only denote whether the game cartridge has an additional 128-byte serial EEPROM (byte 10 value 0x10) or not (byte 10 value 0x00). The Datach main unit's serial EEPROM is not included in the NES 2.0 header's PRG-NVRAM field, as that EEPROM is not part of the game cartridge, but instead shared among all games using this mapper.
Name | External EEPROM | NES 2.0 Byte 10 |
---|---|---|
Battle Rush: Build up Robot Tournament | X24C01 | 0x10 |
Crayon Shin-chan: Ora to Poi Poi | - | 0x00 |
Dragon Ball Z: Gekitou Tenkaichi Budoukai | - | 0x00 |
J-League Super Top Players | - | 0x00 |
SD Gundam Wars | - | 0x00 |
Ultraman Club: Spokon Fight!! | - | 0x00 |
Yuu Yuu Hakusho - Bakutou Ankoku Bujutsu-kai | - | 0x00 |
Mask: $E000 7 bit 0 ---- ---- xxxE Bxxx |||| |||| +++|-|+++- Open bus | +---- Serial data out from Barcode scanner +------ Data out from I²C EEPROMs
The barcode scanner just returns a sequence of light and dark periods from a one-dimesional barcode as the user moves it past the sensor. The game only expects UPCs to be scanned, so an emulator may wish to provide an interface to convert a series of digits into a UPC, similar to FCEUX.
Mask: $800F 7 bit 0 ---- ---- xxxx Cxxx | +----- External EEPROM's I²C SCL
These four registers function the same way as on INES Mapper 016, submapper 5.
Mask: $800F 7 bit 0 ---- ---- RDC. .... ||| ||+-------- Internal EEPROM's I²C SCL |+--------- Both EEPROM's I²C SDA +---------- Both EEPROM's Direction bit (1=Enable Read)
Categories: INES Mappers, Mappers with CHR RAM, Mappers with cycle IRQs