Z1a - The Midplane
Since I'd decided to go with a modular design with subsystems on individual PCBs, the first thing to do was figure out how to connect them all together.
For plugging boards together, I went with 2×32-pin DIN-41612 connectors because I already had a bunch kicking around.
After sketching a few ideas, I went for a double-sided midplane, with three sockets on each side. This gave me room for six plug-in boards, while keeping the midplane itself within the 100mm × 100mm limit of super-cheap PCB fabrication, and small enough that I had the option of using the free version of Eagle EDA.
Speaking of which, the next step was to find some PCB design software. In the end I went with KiCad, which is free, open source, and suitably capable once you get your head round its library management.
With KiCad up and running, I laid out the board, and then headed off to the internet to compare costs and reviews of PCB fabrication. I ended up trying Elecrow, who I've stuck with ever since and not been disappointed yet.
With the bare board delivered a few days later, I set about the long and tedious task of soldering 384 pins to the board. I used good old-fashioned tin-lead solder, which is fine because I'm not going to throw it in a river or invite any children to lick it.
As you can see, I had not at this point given the slightest consideration to how the finished product would be enclosed, or where things like power supply connections would end up, which is why the whole thing is powered through that pair of header pins soldered to one end.
All I'd decided for sure was that the power connections went in the middle, but the pinout later ended up looking like this:
A1 | C1 | ||
CLK | A2 | C2 | |
A3 | C3 | ||
A4 | C4 | ||
A0 | A5 | C5 | A1 |
A2 | A6 | C6 | A3 |
A4 | A7 | C7 | A5 |
A6 | A8 | C8 | A7 |
A8 | A9 | C9 | A9 |
A10 | A10 | C10 | A11 |
A12 | A11 | C11 | A13 |
A14 | A12 | C12 | A15 |
A16 | A13 | C13 | A17 |
A18 | A14 | C14 | A19 |
RA14 (ROM bank selector) | A15 | C15 | RA15 (ROM bank selector) |
+5v | A16 | C16 | +5v |
GND | A17 | C17 | GND |
D0 | A18 | C18 | D1 |
D2 | A19 | C19 | D3 |
D4 | A20 | C20 | D5 |
D6 | A21 | C21 | D7 |
A22 | C22 | ||
A23 | C23 | ||
(ROM) |
A24 | C24 | |
(Upper 512kB RAM) |
A25 | C25 | |
A26 | C26 | ||
A27 | C27 | ||
A28 | C28 | ||
A29 | C29 | ||
A30 | C30 | ||
A31 | C31 | ||
A32 | C32 |
Next, it needed something to plug into it...