Prototype Z80 board
Posted: Wed Mar 04, 2026 11:21 pm
First attempt at getting a Z80 CPU running on the MECB bus:
It's currently running the SCM monitor (https://smallcomputercentral.com/small- ... r-monitor/) and tested a simple memory test program (the monitor allows loading of Intel hex format files) which checks the memory banking functionality i.e. the memory map has 4 x 16KB banks - each of which can be switched with any of 32 x 16 KB ROM pages or 32 x 16 KB RAM pages - I was curious as to how paging worked so this was a basic implementation of this. The SCM monitor also provides Microsoft Z80 BASIC - which also appears to work. The SCM monitor has a lot of nice functionality and it is closely tied in with RC2014 Z80 systems (and associated hardware) so if any of the RC2014 modules (https://rc2014.co.uk) are mapped across to MECB e.g. SD FLASH, etc they could conceivably work with this to do things like boot to CP/M. The one thing I didn't like about SCM is that it has to be compiled with a very clunky purpose-built compiler that only runs under windows (though I managed to find a simple way to run this on my Mac via WINE).
So far I've only tested the memory, ROM and serial I/O. I need to see how Interrupts work on the Z80 - so still need to test that. Ideally I should also test a few other cards/devices e.g. the 6840 timer, OLED card, and perhaps the 9958 VDP. Though, I'm struggling a bit with Z80 programming - despite a reasonable number of registers it's instructions are very tied in to specific registers and I often find myself shuffling things around to get really basic things done (the memory test program took me way longer to write than it should have ... though part of the challenge there was getting my head around the paging so that it doesn't break the monitor or the program I'm running e.g. inadvertently switching out the part of RAM that has the stack or the actively running code in it).
I had a few errors in my v0.1 design but happy to at least get it running to this point. Once I've done a bit more testing I'll update my GitHub with the design in case anyone else is interested.
It's currently running the SCM monitor (https://smallcomputercentral.com/small- ... r-monitor/) and tested a simple memory test program (the monitor allows loading of Intel hex format files) which checks the memory banking functionality i.e. the memory map has 4 x 16KB banks - each of which can be switched with any of 32 x 16 KB ROM pages or 32 x 16 KB RAM pages - I was curious as to how paging worked so this was a basic implementation of this. The SCM monitor also provides Microsoft Z80 BASIC - which also appears to work. The SCM monitor has a lot of nice functionality and it is closely tied in with RC2014 Z80 systems (and associated hardware) so if any of the RC2014 modules (https://rc2014.co.uk) are mapped across to MECB e.g. SD FLASH, etc they could conceivably work with this to do things like boot to CP/M. The one thing I didn't like about SCM is that it has to be compiled with a very clunky purpose-built compiler that only runs under windows (though I managed to find a simple way to run this on my Mac via WINE).
So far I've only tested the memory, ROM and serial I/O. I need to see how Interrupts work on the Z80 - so still need to test that. Ideally I should also test a few other cards/devices e.g. the 6840 timer, OLED card, and perhaps the 9958 VDP. Though, I'm struggling a bit with Z80 programming - despite a reasonable number of registers it's instructions are very tied in to specific registers and I often find myself shuffling things around to get really basic things done (the memory test program took me way longer to write than it should have ... though part of the challenge there was getting my head around the paging so that it doesn't break the monitor or the program I'm running e.g. inadvertently switching out the part of RAM that has the stack or the actively running code in it).
I had a few errors in my v0.1 design but happy to at least get it running to this point. Once I've done a bit more testing I'll update my GitHub with the design in case anyone else is interested.