ZBM - Z80 Based Machine

Thread Starter

Robin Mitchell

Joined Oct 25, 2009
819
Hi all,

So with all this free time on my hands (Well, I have some free time now :) ), I have decided to revisit the million Z80 projects that I have attempted. Now in the past I never get past the hardware part of the project. In other words I build a z80 machine that works but never write the software for it (or even complete it).

So this time I have decided to finally stick to something and following it all the way to the end. But there will be a spin on this machine unlike the others in the past. The hardware that I used to design was advanced for a Z80 (such as parallelism, multi-tasking, keyboard input with serial HDs), and this is probably why it never went futher. This time however I am making a 70's style mainframe computer!

This machine will have simplicity in its heart (and I MEAN simplicity). The computer will be built in mini racks witch each rack card being 3x2 inches for IO and (most likely), 4 x 3 inches for the motherboard cards.

Front Panel
Taking inspiration from IBM mainframe machines this is the front panel (so far...)

Single step clocking and full speed will be included soon.

Keyboard Input
This card has already been designed and I plan to get four made. Huh, 4? That's right! Most people use toggle switches for simple machines but that just does not work for me at all! What I am doing instead is using toggle flip flops with their toggle input connected to tactile switches. This way the switching mechanism is electronic (and thus can be manipulated by the CPU). So each card can accept up to 8 input buttons, one clear button (to clear all the latches), and one NMI button. The NMI button when pressed forces the processor to jump to a subroutine which halts the current program. This way, the system can be restored without a hardware reset.
upload_2016-1-15_12-6-45.png

Display Input
Inspired by the MK14 Science of Cambridge I will be utilising 8 7-segment displays. This card also fits into the IO rack measuring just 3x2 inches. Two registers are used to show a specific portion of the display which means that a subroutine will need to be fired every so often to refresh the display. Therefore a 50Hz signal will be fed into the INT pin (giving the user the choice to shut off the display).

upload_2016-1-15_12-7-20.png

The display itself will consist of 8 7-segment digits, all the control signals, data bus and address bus. So imagine many blinky lights!

Paper Tape Reader

Yes, a paper tape reader. What 70's style computer would not have one! The tape will have one clock line (for data clocking), 4 data lines and one data ready clock line. Every two groups of 4 bit data will be clocked in before the data ready line is read. This will also fit onto a 3x2 inch card and will make up the 5th card in the IO rack.

Processor Core

This will be the most boring card as it will just house the Z80, a tiny 2K ROM and two 32K chips which will be used to give in total 62K RAM. The ROM will hold a primitive monitor program that will just enter data into memory and enable a RUN mode. The plan is to create a system that just sits there until an external system (such as an other computer), sends it a request to run. So like a mainframe computer it would then do the calcs and return the data when ready. I know that it would have the power of a real mainframe but I though that it would be a neat thing to have on my desk!

Something that I would like to think of is getting some kind of LAN connection so that remote computers could use it but I would have to think how to implement it.

So until I can think of other things that this machine will have that is the goal!

Any suggestions would be fantastic but remember, its gotta be old ;)
 
Last edited:

djsfantasi

Joined Apr 11, 2010
6,525
Sounds like a great project, like one I'd attempt in the 70s. No one is interested in something like this currently; Arduinos or PICS do most of this for you. It's great to see someone get into the internals like this.
 

Thread Starter

Robin Mitchell

Joined Oct 25, 2009
819
The colour scheme is inverted which shows the wrong colours that would be outputted but as it turns out I actually prefer that colour layout!
Will change eagle now!
 

Thread Starter

Robin Mitchell

Joined Oct 25, 2009
819
Fresh from the oven: The front panel nearly there! Right now I have a keyboard card plating in the tank so I can get that built soon as well :)
 

JohnInTX

Joined Jun 26, 2012
4,114
FWIW Robin, you can output your drawings in PDF format from Eagle in the 'print' dialog and select black and white output as well. That way you can leave your screen colors as you like them and still get a nice document to share.
Cool project.
 
I got into the Z80 in the early 1980's.
I wrote quite a lot of software for the Sinclair Spectrum.
I wrote the software for a Teletext adaptor which was great fun.
I had to fit a 40 character teletext screen into the Spectrums 32 character display.
Lots of bit bodging to get it to work.
 

Thread Starter

Robin Mitchell

Joined Oct 25, 2009
819
I agree. Very retro. Nice work it looks beautiful.

I probably would have gone with toggle switches.
Toggle switches was the one component I wanted to avoid.
With this method, the keyboard input is all electronic and it has, for me anyway, a nicer feel. Instead of flipping switches I just press them :)
 

joeyd999

Joined Jun 6, 2011
4,410
Toggle switches was the one component I wanted to avoid.
With this method, the keyboard input is all electronic and it has, for me anyway, a nicer feel. Instead of flipping switches I just press them :)
Yeah...but you'll need to write a monitor to make them useful. Can I help????!
 

bertus

Joined Apr 5, 2008
20,573
Hello,

With the use of toggle switches, you can immediately see wich is a 1 and wich is 0.
I have worked with a system that used toggle switches to enter a start program, that would read the paper tape.

Bertus
 

Thread Starter

Robin Mitchell

Joined Oct 25, 2009
819
The LEDs above the switches represents that switches state. If the LED is off then the switch is off but if the LED is on then the switch is on (well, the flip flop is). The seven-seg display will be interrupt driven and controlled by the Z80.
 
Top