nesdev.com
http://forums.nesdev.com/

Bus conflicts in Pipe Dream
http://forums.nesdev.com/viewtopic.php?f=3&t=17020
Page 1 of 1

Author:  NewRisingSun [ Sat Feb 03, 2018 12:25 pm ]
Post subject:  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.

Author:  lidnariq [ Sat Feb 03, 2018 12:31 pm ]
Post subject:  Re: Bus conflicts in Pipe Dream

Bus conflicts are almost always bitwise-AND(value written,value in ROM), not "ROM wins"

Author:  NewRisingSun [ Sat Feb 03, 2018 1:03 pm ]
Post subject:  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?

Author:  lidnariq [ Sat Feb 03, 2018 1:47 pm ]
Post subject:  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.

Author:  tokumaru [ Sat Feb 03, 2018 1:51 pm ]
Post subject:  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.

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/