Minty Z80

Minty Z80 is a system with virtualized I/O and minimum component count in an Altoids Tin.

Similar projects worth following
Retro Computing is one of my interests. Back in the day, I had a Z80 system running CP/M 80. The Z80 has enough resources (registers, instructions, etc) to make programming easy. CP/M 80 is a small, simple and easy to understand O/S. Drivers are simple BIOS routines. The combination was a system I enjoyed programming, even in assembly language.

I want to re-create that system. It should runs CP/M 80 and uses a SD card for storage. The system console should be a terminal emulator on a PC desktop or laptop. The SD card should support a Windows file system to easily transfer files. The system should be small and easily transportable. It should fit in a pocket. The goal of this project is to create this system to fit in an Altoids Tin.

The project will leverage the work of other designers who have created a virtualize Z80 system. My contribution is to fit the system into the Altoids Tin.

I have completed updated the schematic.  The board went out to FAB today.  I am using EasyEDA for schematic capture, board layout and PCB Fab.  I will mark the project "Public" when it is stable. 

  • 1 × Z84C0008 (CMOS) Z80 CMOS Processor
  • 1 × ATMega32 Atmel AVR Microcontroller
  • 1 × 100nF Capacitor DTR to RESET coupling
  • 2 × 10K 9-pin SIP Resistor Array Pull up resistors
  • 1 × 10K Resistor Pull up

View all 14 components

View project log

Enjoy this project?



Ale o co chodzi wrote 11/23/2023 at 19:29 point

next fuzix computer

  Are you sure? yes | no

Randall.Routh wrote 05/03/2022 at 00:40 point

It appears that a ATmega1284P could be used instead of the ATmega32A and get more memory and a second serial port.

I imagine that there is enough RAM to store a disk image of a CP/M disk with a few files like MBASIC, ZORK, STARTREK, etc.

  Are you sure? yes | no

Randall.Routh wrote 05/02/2022 at 23:11 point

I have also been interested in a project like this one.  I like that it fits in an Altoids Tin.  I like the use of an ATMega to do all the I/O. 

Will you be able implement Mode 2 interrupt support?

Will you attempt emulate CTC, SIO, disk controller chips will you simply implement your own interface with your own BIOS routines?

I was thinking that by using an AS6C4008 SRAM giving 8 banks of 64K. With some care, it would be possible to implement a multi-user system.

  Are you sure? yes | no

Peabody1929 wrote 08/13/2021 at 23:12 point

The ATmega vitrualizes all of the Z80 I/O space.  The CP/M BIOS makes function calls to the ATmega firmware package.  Floppy discs are not emulated as such.  Instead, all discs are treated as hard discs and vitualized to directories on the SD card.  For example, CP/M drive A: is mapped to directory A on the SD card.  Disc reads and writes work on the corresponding SD card directory.   

  Are you sure? yes | no

zpekic wrote 08/13/2021 at 03:49 point

Cool project, I was also toying with the idea of how many chips exactly are needed for a most basic CP/M computer? Turns out essentially 3 - CPU, RAM, all the glue in Arduino. But I am not clear how does Arduino present to CP/M the floppy format from the SD card? Does it emulate some of the well known FDCs of the era (for example: ) or some other way? It would be cool to add software components (and/or github links) too.

  Are you sure? yes | no

karthik ram wrote 04/25/2019 at 06:50 point

Hi! I working on a robotics project... Check it out! Do drop a like too :P

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates