Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

What are bus conflicts?

bus conflicts
0
Posted

What are bus conflicts?

0

Bus conflicts are what occur when a game program writes to a memory mapper in order to change a bank of CHR graphics or PRG code. Memory mappers get switched by having the NES program write to some address in the ROM address space [$8000-$FFFF]; however, this address area is normally WRITE ONLY, so the data on the data lines of the cartridge connector comes into conflict with what the CPU is trying to do. I’ll give the CNROM board as an example. Mapper 3 games such as Cybernoid, Adventure Island, etc, use the CNROM board to effect character bank switching. To switch the CHR banks, you simply have to write the bank value to some address between $8000-$FFFF. However, since you can’t actually write a value into the address area, the CNROM switcher just takes whatever value is on the data bus at the address specified. And since this is a game, it usually is a random value. That is not what we want. To get around this, many games have included in the game program a table of known data value

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.