coinheaven wrote:
ok maybe ill try this, but i have a few questions. as for the "Q" pins, which 3 go to the CHR and which one goes to the PRG?
It doesn't really matter, as long as you are consistent in your choices.
Quote:
did you mean D0-D3 lines on the 74161 chip?
No, I meant the D4, D5 and D6 that are connected to the PRG chip. You see, a program switches banks by attempting to write the number of the banks it wants to switch to PRG-ROM. Since it's ROM, it's obviously impossible to write to, but at this moment, D0 through D7 contain that value that was supposed to be written. What happens is that this value is written to the 74161 instead.
If you look at an unmodified CNROM board, you'll see that D0 and D1 of the PRG chip are already connected to 2 of the "D" pins of the 74161 (it doesn't matter wich ones, as long as the corresponding "Q" pins are connected to the highest address lines of the CHR chip). The board is wired like this because the 2 lowest bits of the value control what CHR bank is selected. The Color Dreams board has the CHR bits in D4, D5, D6 and D7, but you only need D4, 5 and 6. You need to rewire because the bits of the written value are interpreted differently in each board, plus you have more CHR and also want to switch PRG, something an unmodified CNROM can't do.
The easiest way to do this (without having to bend any pins) is to cut the traces of all "D" and "Q" pins of the 74161. Then connect D0 of the PRG chip to a "D" pin (any of them) in the 74161. Then connect the corresponding "Q" pin to A15 of the PRG chip. Next, connect D4, D5 and D6 of the PRG chip to the remaining 3 "D" pins in the 74161, and the corresponding "Q" pins to A13, A14 and A15 of the CHR chip.