ZBM - Z80 Based Machine

Discussion in 'Embedded Systems and Microcontrollers' started by Robin Mitchell, Jan 17, 2016.

  1. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    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...)
    [​IMG]
    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: Jan 17, 2016
    nsaspook likes this.
  2. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    2,810
    834
    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.
     
    Robin Mitchell likes this.
  3. bertus

    Administrator

    Apr 5, 2008
    15,648
    2,347
    Hello Robin,

    The PCB's look pretty.
    Do you also have the schematics for the shown PCB's?

    Perhaps the page of Hans might give you some ideas:
    http://www.hanssummers.com/newz80.html

    Bertus
     
    Robin Mitchell likes this.
  4. bertus

    Administrator

    Apr 5, 2008
    15,648
    2,347
    Hello Robin,

    The pictures are VERY dark and hard to read.
    I have inverted the pictures and adjusted the hue a bit:

    Display card:
    displaycard_inverted.jpg

    Keyboad card:
    keyboardcard_inverted.jpg

    Bertus
     
    Robin Mitchell likes this.
  5. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    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!
     
  6. bertus

    Administrator

    Apr 5, 2008
    15,648
    2,347
    Hello,

    I used The Gimp to manipulate the image.
    First I inverted the image and then changed the hue.

    Bertus
     
  7. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    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 :)
     
  8. RichardO

    Well-Known Member

    May 4, 2013
    1,235
    384
    Great stuff! Too bad you are so far away -- You would fit well in our computer group. :)
     
    Robin Mitchell likes this.
  9. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    No one in england likes computers for some reason :(

    Not enought to start a club :'(
     
  10. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    Front Panel now designed!

    [​IMG]
     
  11. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    And here is the front panel of the computer. The first IO card has been made and is ready to go. Once I get the chips it will be installed! I apologise for the poor glue job, will fix that soon!
    [​IMG]
     
    Sinus23, djsfantasi, MMcLaren and 6 others like this.
  12. JohnInTX

    Moderator

    Jun 26, 2012
    2,347
    1,029
    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.
     
    Robin Mitchell likes this.
  13. joeyd999

    AAC Fanatic!

    Jun 6, 2011
    2,689
    2,750
    Be kind to yourself. Add at least a hex keyboard!
     
    absf and Robin Mitchell like this.
  14. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    I LIKE THAT! :D

    Will get an io card designed!
     
  15. nigelwright7557

    Senior Member

    May 10, 2008
    487
    71
    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.
     
    Robin Mitchell likes this.
  16. spinnaker

    AAC Fanatic!

    Oct 29, 2009
    4,887
    1,015

    I agree. Very retro. Nice work it looks beautiful.

    I probably would have gone with toggle switches.
     
  17. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    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 :)
     
  18. joeyd999

    AAC Fanatic!

    Jun 6, 2011
    2,689
    2,750
    Yeah...but you'll need to write a monitor to make them useful. Can I help????!
     
  19. bertus

    Administrator

    Apr 5, 2008
    15,648
    2,347
    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
     
  20. Robin Mitchell

    Thread Starter Well-Known Member

    Oct 25, 2009
    734
    200
    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.
     
Loading...