Adding a 6522 to my computer was something I did quite early on – nearly a year ago, in fact! But I never found time to move it from breadboard to a proper PCB. Until now, anyway.
My new circuit looks mostly the same as it did in part four, but with a few modifications:
- The IRQ pin is now connected, in preparation for the interrupt experiments I’m planning later.
- The select pin (/CS2) goes through a row of five jumpers (highlighted in orange) so I can configure which “device” the board is. I don’t bother providing a jumper for device 0, as this is set-in-stone as being the OSROM anyway.
- I’ve wired the two outputs from the 6522 to 2×10-way IDC connectors, to the same pin-out as the user port on the BBC Micro.
Creating the PCB produced an extra amount of brain-ache, due to pin ordering. (I don’t know about anyone else, but I tend to check these circuits out by talking to myself whilst checking things. But I’m not mad. Oh, dearie me no.)
The pin ordering of the data bus and address bus on the 6522 is the exact opposite of the ordering on the backplane. To fix this, I could spend a lot of time routing tracks around the board and introducing a lot of vias … or I could just design the board as if the 6522 was going to be mounted on the back … which flips the ordering around nicely!
The connector to the backplane is just a simple, 40-way pin header … so inserting the board around the “wrong” way is no problem. I must just remember that certain boards (my new CPU board has the same problem, and is solved in the same manner) need flipping round. I’ve found the best way to do this is to use the silk screen to mark pin 1 and the ground pin, as a reminder. I don’t mark pin 1 on this board though, because there isn’t one! I can shave a bit off manufacturing costs if the board doesn’t need to be full-width.
As you can see, I’ve designed the PCB so that the IDC connectors are right-angled – they point upwards. I’ve also designed some quick LED displays that drop-into the sockets, as a sort of quick-debugging tool. With this board installed, I can easily start writing bit-patterns to the 6522 while I’m debugging my code.
I’m using transistors to drive the LEDs, so as not to stress the 6522 (port A in particular has quite low current capacity on the data lines). The IDC connectors are wired the same as BBC Micro user ports, so these little boards are quite convenient for debugging Beeb stuff too!