Bus conflicts in Pipe Dream
Moderator: Moderators
-
- Posts: 1510
- Joined: Thu May 19, 2005 11:30 am
Bus conflicts in Pipe Dream
Pipe Dream uses a CNROM board. To switch CHR-ROM banks, it writes the bank value to $BFFF, which contains the value $FF. This would mean that if the ROM value wins, CHR-ROM bank 3 always gets selected. NesCartDB displays a revision -07 CNROM board; does this revision ensure that the written data always wins? Otherwise I cannot see how this could possibly work.
Re: Bus conflicts in Pipe Dream
Bus conflicts are almost always bitwise-AND(value written,value in ROM), not "ROM wins"
-
- Posts: 1510
- Joined: Thu May 19, 2005 11:30 am
Re: Bus conflicts in Pipe Dream
Okay. But then why does most advice, that most games seem to follow, recommend writing to a ROM location that contains the exact value being written, which seems quite roundabout compared to just writing to a location that contains $FF?
Re: Bus conflicts in Pipe Dream
Because it's still safer to not generate a bus conflict. Causing one still generates extra heat inside the transistors inside the ROM & CPU, which theoretically could damage something.
I mean, the prototype The Graduate for the 2600 deliberately made use of tons of bus conflicts to treat the 6507 inside as a coprocessor, directly blitting values to the TIA without the 6507 being fully involved. And PVI persuaded someone in Atari (maybe only a manager instead of someone who actually knows things about silicon) that it was ok to induce bus conflicts every 3rd cycle.
But the 2A03 is a different silicon process than the 6507. I don't know how quickly heat builds up in the CPU and ROM.
I mean, the prototype The Graduate for the 2600 deliberately made use of tons of bus conflicts to treat the 6507 inside as a coprocessor, directly blitting values to the TIA without the 6507 being fully involved. And PVI persuaded someone in Atari (maybe only a manager instead of someone who actually knows things about silicon) that it was ok to induce bus conflicts every 3rd cycle.
But the 2A03 is a different silicon process than the 6507. I don't know how quickly heat builds up in the CPU and ROM.
Re: Bus conflicts in Pipe Dream
Also, while the behavior usually is a bitwise AND for the parts used back in the day, this isn't ALWAYS the case.