Mapper 144 support (Death Race)

This commit is contained in:
Souryo 2016-06-18 11:24:30 -04:00
parent 6cc2e6a2e9
commit 58163ee067
2 changed files with 9 additions and 0 deletions

View file

@ -7,6 +7,7 @@ class ColorDreams : public BaseMapper
protected:
virtual uint16_t GetPRGPageSize() { return 0x8000; }
virtual uint16_t GetCHRPageSize() { return 0x2000; }
virtual bool HasBusConflicts() { return true; }
void InitMapper()
{
@ -16,6 +17,11 @@ class ColorDreams : public BaseMapper
void WriteRegister(uint16_t addr, uint8_t value)
{
if(_mapperID == 144) {
//"This addition means that only the ROM's least significant bit always wins bus conflicts."
value |= (ReadRAM(addr) & 0x01);
}
SelectPRGPage(0, value & 0x03);
SelectCHRPage(0, (value >> 4) & 0x0F);
}

View file

@ -179,9 +179,11 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case 93: return new Sunsoft93();
case 94: return new UnRom_94();
case 95: return new Namco108_95();
case 96: break; //Bandai - Oeka Tablet
case 97: return new IremTamS1();
case 99: return new VsSystem();
case 101: return new JalecoJfxx(true);
case 105: break; //NES World Champ - has dip switches
case 107: return new Mapper107();
case 112: return new Mapper112();
case 113: return new Nina03_06(true);
@ -189,6 +191,7 @@ BaseMapper* MapperFactory::GetMapperFromID(RomData &romData)
case 118: return new TxSRom();
case 119: return new MMC3_ChrRam(0x40, 0x7F, 8);
case 140: return new JalecoJf11_14();
case 144: return new ColorDreams();
case 145: return new Sachen_145();
case 146: return new Nina03_06(false);
case 147: return new Sachen_147();