VOTE NOW!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Design 1/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Usability 2/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Creativity 3/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Content 4/4

### DESCRIPTION


This is the Z80-MBC (Multi Boot Computer), a mini 4MHz Z80 64kB RAM system with Basic and Forth interpreters, CP/M 2.2, QP/M 2.71, Assembler and C toolchains.

It is a complete development "ecosystem", and using the iLoad boot mode it is possible cross-compile, load and execute on the target an Assembler or C program with a single command (like in the Arduino IDE).

More, it can be easily expanded and it has an "Arduino heart" using an Atmega32A as an "universal" I/O emulator.


The PCB was designed by Bill Westfield: https://github.com/WestfW/4chipZ80


### TECHNICAL DETAILS / COMPONENTS


The needed ICs for the "base system"  are:


  • Z80 CPU CMOS (Z84C00) 4Mhz or greater

  • Atmega32A

  • TC551001-70 (128kB RAM)

  • 74HC00


The MCU Atmega32A is used as universal I/O subsystem, as Eeprom, and as reset and 4MHz clock generator for the Z80 CPU.
Into the Atmega32A it is flashed an Arduino bootloader taken from  here , and it is possible to use the Board Manager of the Arduino IDE for that.

Flash the Arduino bootloader at first (with the method you prefer), next you can start to build the whole thing!


Of course I used the Arduino IDE to develop the IOS (I/O Subsytem) that interacts with the Z80 bus and "virtualizes" the peripherals seen by the Z80 CPU.
As oscillator it is used the internal 8MHz Atmega32A oscillator, so no quartz is needed, and from this one is derived the 4MHz clock for the Z80 CPU (so the "Internal 8MHZ osc." bootloader variant must be chosen when flashing the bootloader from the Arduino IDE!).


The 74HC00 is mainly used as RS flipflop to stop the Z80 CPU during I/O operation, giving  the needed time to the Atmega32A to interact with the Z80 bus.
The 128kB RAM TC551001 is used only for half (64kB) because the Z80 address space is only 64kB (I've chosen this IC for the low cost).
Note that only the CMOS version of the Z80 CPU can be used here. This because only CMOS version, under given condition that are respected in this schematic, has logical levels compatibles with Atmega32A and 74HC00.


### LEARN / TOPIC / BUILD INSTRUCTIONS


All the detailed intructions and SW are in my page at:


https://hackaday.io/project/19000-a-4-4ics-z80-homemade-computer-on-breadboard


Mar 03,2018
989 viewsReport item
  • Comments(0)
  • Likes(9)
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
VOTING 2 votes
  • R******ack from SPAIN
    Maker irredento...
    • 10
      design
    • 10
      usability
    • 10
      creativity
    • 10
      content
    10.00
  • Engineer from UNITED STATES OF AMERICA
    • 2
      design
    • 4
      usability
    • 6
      creativity
    • 10
      content
    5.50
View More