INES Mapper 144: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
m (rephrase to less awkward and hopefully more clear) |
m (fix nescartdb links) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:GNROM-like mappers|144]][[Category:iNES Mappers|144]][[Category:in NesCartDB|144]] | [[Category:GNROM-like mappers|144]][[Category:iNES Mappers|144]][[Category:in NesCartDB|144]] | ||
[[iNES Mapper 144]], allocated for the game | [[iNES Mapper 144]], allocated for the game [https://nescartdb.com/profile/view/1223/death-race Death Race], describes a intentionally defective variant of the [[Color Dreams]] board ('''mapper 11'''). | ||
This game's PCB (labelled '''50282''') is almost identical to the revision B Color Dreams boards, but a 300Ω resistor was added between CPU D0 and the combination of mapper hardware and ROM. This addition means that ''only'' the ROM's ''least significant bit'' always wins bus conflicts. | This game's PCB (labelled '''50282''') is almost identical to the [https://nescartdb.com/search/advanced?pcb=UNK-COLORDREAMS-REVB revision B Color Dreams boards], but a 300Ω resistor was added between CPU D0 and the combination of mapper hardware and ROM. This addition means that ''only'' the ROM's ''least significant bit'' always wins bus conflicts. | ||
Nestopia-1.4.0 implements this as <code>EffectiveData = (WrittenData & ROM[address]) | (ROM[address] & 1)</code> | Nestopia-1.4.0 implements this as <code>EffectiveData = (WrittenData & ROM[address]) | (ROM[address] & 1)</code> |
Latest revision as of 20:39, 30 August 2022
iNES Mapper 144, allocated for the game Death Race, describes a intentionally defective variant of the Color Dreams board (mapper 11).
This game's PCB (labelled 50282) is almost identical to the revision B Color Dreams boards, but a 300Ω resistor was added between CPU D0 and the combination of mapper hardware and ROM. This addition means that only the ROM's least significant bit always wins bus conflicts.
Nestopia-1.4.0 implements this as EffectiveData = (WrittenData & ROM[address]) | (ROM[address] & 1)
FCEUX-2.1.5 works around this by ignoring writes to 0x8000
The most succinct description is EffectiveData = (ROM[address] & (WrittenData|1))