Misc projectsProjects

Z80-SBC, creation and test of a Z80-MBC2

Z80-MBC2

After last weekend's creation of the uTerm terminal adapter, it was time for setting up the Z80-MBC2, the main CPU PCB.

Creating the Z80-MBC2

Z80-MBC2 preparation
Z80-MBC2 preparation

As usual, the kit from McJohn was complete, well sorted and of high quality. After sorting the components I started with the usual sequence, i.e. resistors and diodes first, followed by LED, transistors and conductors. At the end I have soldered in all sockets and connectors.

The connection between MBC2 and uTerm is realized with 8-pin pin headers - male on the MBC2, female on the uTerm. Two mounting variants are possible:

  1. Both PCB "laying horizontally": we need the angled pin header for the MBC2, or
  2. MBC2 and uTerm are mounted with a 90° angle, i.e. uTerm is "standing": here we need a straight pin header.

I have chosen variant 2 and therefore soldered the straight pin header. To securely connect both PCB, matching 3D-printed plastic angles are part of the kit, together with plastic screws and stand-offs.

Testing the MBC2- and uTerm-PCBs

A first test of the PCBs was done without inserting the chips. The MBC2 and uTerm were connected, incl. the short 2-pin power supply cable (5V). After connection of the main power supply, I tested correct levels of GND and +5V on all sockets and connectors.

After all looked pretty OK, I inserted the chips into their corresponding sockets, connected the keyboard and the Monitor and powered everything up again. Et voila: the board started immediately, showing the boot messages on the screen! Unfortunately, the PS/2-Keyboard seemed not to work at all - no reaction on pressing the keys.

Z80-MBC2 Booting
Z80-MBC2 Booting

Serial Connection

Before checking the reason of the non-functional keyboard, I wanted to finish testing of the MBC2 itself. So, I decided to setup a serial connection to my PC. Part of the kit was a USB-to-serial cable. Unfortunately the pinout of this cable was not documented, so I had to do some web research. The following pinout seems reasonable:

  • black: GND
  • red: +5V
  • white: RX
  • green: TX

But no connection to my MAC was possible, using the cable. The device was simply not recognized. Luckily I have a FTDI-adaptor at hand (a small PCB from AZDelivery). To use this adaptor I had to create a cable, connecting the FTDI with the pins of the serial interface on the uTerm. The pinout of this cable had to be as follows:

Pin FTDISignalColourPin MCB2
1DTRbrown1
2RXwhite2
3TXgreen3
4+5Vred4
5CTSNCNC
6GNDblack5
Pinout serial connection

MBC2 serial conn
MBC2 serial conn
MBC2 serial
MBC2 serial

The FTDI board was recognized by my MAC immediately! With the following command inside the MAC-Terminal you can find out the Device ID of the FTDI:

ls /dev/cu.usbserial-*

And the next comand starts the terminal session with the uTerm & MBC2:

screen /dev/xx.usbserial-XXXXXXXX 115200 –L

Of course, you have to replace "XXXXXXXX" with the device ID retrieved by the "ls" command.

The parameter "-L" will allow logging of the whole terminal session. The session can be ended, using Ctrl+A and then Ctrl+K.

Setup of MBC2 and uTerm

Using the terminal session, I was able to sent key-strokes and complete the initial setup of the system, e.g. setting correct time & date for the RTC. A closer examination of the uTerm, to find out the reason for the non-working keyboard, led to no result. All components were of correct value at the correct position, no bad solder joints or shortcuts could be identified. Finally I tried it with a different PS/2-keyboard - and then it worked. Maybe my "more modern" PS/2-keyboard I tried initially, has some incompatibilities, who knows. Anyway, the vintage keyboard works as a charm!

Well, the next task will be to dig a little bit deeper into the system, and into CP/M in particular. But this will be something fo a future blog post.

Leave a Reply

Your email address will not be published. Required fields are marked *