Bus conflicts in Pipe Dream

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Bus conflicts in Pipe Dream

Post by NewRisingSun »

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.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Bus conflicts in Pipe Dream

Post by lidnariq »

Bus conflicts are almost always bitwise-AND(value written,value in ROM), not "ROM wins"
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: Bus conflicts in Pipe Dream

Post by NewRisingSun »

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?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Bus conflicts in Pipe Dream

Post by lidnariq »

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.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Bus conflicts in Pipe Dream

Post by tokumaru »

Also, while the behavior usually is a bitwise AND for the parts used back in the day, this isn't ALWAYS the case.
Post Reply