The 5 matrix board has now been finished. And no one could be more relieved than me. There’s a LOT of soldering going on in there!
A brief overview of the circuit goes like this; There are 5 separate 8×8 LED matrix modules. All 8 lines on each of the Y axis are chained from one to another, and driven by a 74F374 latch (the chip in top right). Then every matrix has each of their X axis lines driven by their own 74F374 latch (the remaining chips in 1st and 2nd row). Every latch is connected to the 8 bit data bus that’s directly driven by the Z80. The 74LS138 (bottom right) does some address decoding and has a chip select line going to each of the latches. So, when the appropriate address is written to, the ‘138 tells whichever one of the 6 ‘374s to read the data bus and keep that data as its output. Next to the ‘138 is a connector for the 8 data lines, as well as power, some address lines and !IRQ, !RW & M1
Bingo! It worked! And from BASIC I could select the individual rows and columns to light.
If you’ve been keeping up with the blog (then I’m highly flattered, but haven’t you got better stuff to do?), then you’ll remember I wanted to put this on to my own design of PCB but failed to fit it in to an acceptable size. To me, an acceptable size for 7 modules was 140mm x 40mm. The space used on this board, overall, is 125 x 125 for just 5 modules. I know the wires I used was a lot bigger than PCB traces, but the photo below shows just HALF of the wires that are running under the LEDs!
In other news, I’ve got a bit of Z80 assembly love going on with the ClrHome website and Fuse. I’ve got it (sort of) reading memory and writing it to other places, and I can verify that it’s writing stuff! It doesn’t crash the virtual Spectrum either! It’s getting close to the point where I will have to sit down and draw a flow chart or something though as my brain doesn’t yet work at assembler level.
And fingers crossed the PCBs will arrive in the next day or two so I can get the main Z80 machine built up and tested.