Z80-based CP/M computer

This computer has been designed by Grant Searle and all information about how to build it can be found on his page. It is a very simple machine, consisting of Z80 processor, static RAM, EPROM, Z80 SIO chip and few pieces of glue logic, and it's a complete CP/M computer. I've built my unit on universal PCB and used an old UPS case for it. 

Manufacturer  -

Origin  -
Year of unit 2014
Year of introduction -
Type Computer
CPU: Z80
RAM: 64kB
ROM: 16kB
Two serial ports, one for terminal I/O, second for user connection.


All instructions how to build and run it can be found on Grant Searle's page. I recommend to visit his home page too, as you will find many interesting things there, such as ZX80 PCB rebuild or many "breadboard" computers.

My unit is clocked at 4.9152MHz, but its serial ports are running on lower frequency to talk to physical terminal and printer. To make ports work in lower baudrates, a 74HC393 double counter was used to divide frequency. In pictures you can see black and red wires with sockets, they're used to select baud rates for SIO A and B ports.
If you want to do the same thing, use RxCA+TxCA and RxCB+TxCB pins of Z80 SIO to supply divided clock signal for ports.
Before connecting, you should know that MAX232 is inverting, so connecting without MAX232 to port compatible with RS232 levels will likely give you nice burst of bullshit as output.

In my unit many CF cards failed to work, but old Seagate ST1 2.5GB CF-card size hard disk works reliably, but is quite slow.

If you want to use Grant's DOWNLOAD utility, you may find problems in Linux system as Windows tool to convert files to text form is not compatible with Linux, in Wine it works but hangs and resulting file must be called from Wine's temp directory. You may use an old good Kermit software to transmit/receive data using computer's second serial port (PTR:) and Linux PC. Kermit is available for Linux too. 
So imagine you want to send file A:TEST.COM to your PC. In both ends you must start kermit. In Linux you configure it by parameters:
kermit -l /dev/ttyS0 -b 19200
In this example I've set Kermit to run on port /dev/ttyS0 with 19200 baud rate. Use your computer's settings.
In Z80 computer, start kermit and use the following command to set it to the second port when console is connected to the first one:
Kermit-80 0A:>SET PORT PTR
Then put PC to receive mode by typing R and pressing return. In Z80 machine type:
Kermit-80 0A:>S A:TEST.COM
and confirm by pressing Return. Kermit should start sending on Z80 side and receiving on PC side.
To send from PC to CP/M, just use "R" on CP/M machine and "S FILENAME" on PC.

Kermit in binary and text (to be used by DOWNLOAD.COM) form can be downloaded Here.