CPU Board
The CPU board was the first PCB I had professionally made. I had had a god at etching my own PCBs before but it became readily apparent that trying to home-etch something as complex as Búri’s main CPU board was not going to work out well.
I got the boards made by Seeed Studio for £20 for 10 boards including delivery. I thought this was a pretty good deal and I was willing to pay a premium for the pleasure of having my own PCB relatively early on.
Design
I had the first version of Búri prototyped on the breadboard. I toyed with wiring up a more permanent version on a generic PCB but the idea of having to route the 16 address bus lines and 8 data bus lines filled me with dread. One very great advantage with PCBs is that a lot of wiring is no more onerous than a little.
Issues
When I finally got the boards home, I did some visual inspection to make sure everything looked good and wired them up. Imagine my disappointment when it didn’t work. Hooking the CPU board up to my monitor board it appeared that the ROM was correctly executing but zero-page wasn’t being cleared. Indeed reading and writing to RAM was as if there was no RAM there.
After checking for a poorly seated chip, I realised my error. The RAM has both
an inverted chip select (CS) and output enable (OE) line. Since I
use the CE line to select the RAM from the address decode circuitry, I
keep OE low. Or, at least, that’s what I should’ve done. A “thinko” meant
that I actually had OE wired high meaning that the RAM was essentially
disconnected from the circuit.
This was an error in the PCB which was right there in the schematic when I
looked again. No matter how much checking you do, there’ll always be something.
Looking carefully at the board, I noted that if I could break the track, I could
pull OE low and bridge the broken track with a couple of bodge wires.
At this point, having nine spare boards was useful since I could practise the delicate surgery required to drill a tiny hole and break the track. After seeming to succeed on some of the unpopulated boards, I held my breath and operated on the real board.
Thankfully all went well a nd the board booted. Using the monitor board I could see that the zero page had been cleared by the OS ROM and so all was well.