A fun project, but not ready for newbies yet.
For RC2014 Pro - Homebrew Z80 Computer Kit
Adventures in RC2014 kit assembly
10/4/2019 – Rev 1.0
Greg Peterson
I recently stumbled across the RC2014 retro computer based on the Z80 microprocessor on the Tindie website. Having grown up in the early days of personal computing, this inexpensive computer system looked like a fun project, so I ordered one.
Potential purchasers should know a few things I rapidly learned about this kit. I ordered the “Pro” version of the kit. Documentation exists, but is scattered across the web necessitating some hunting. Print out the pictures for your kit as you find them on the web, as well as the schematics, you will need them. There appears to be at least 3 versions of this kit available, and the boards differ, so your boards may or may not match the web pics you find, or the boards I received.
I would not call this kit suitable for a beginner. The documentation is scattered and presumes a fair knowledge of eight bit retro computer system design. The actually assembly in not overly arduous, though the boards are small. My system went together in three nights, which included correcting my pin installation mistake on my CPU board.
You will need a quality, fine tip soldering iron, preferably with temperature control. I purchased mine from Circuit Specialists on the web. Don’t you dare try to assemble the kit with a soldering gun. You will also need a small pair of edge cutters and a small pair of needle nose pliers. You will also need some very small diameter rosin core solder (try EBAY). If you have a PCB tool to hold the board, it will make assembly easier, but is not required. You might also like to buy a small quantity of single and double row right angle pin headers on EBAY. As I age, my eyesight is declining. There was a time I could read the part number on a tunnel diode, but no longer. I have purchased a small Chinese video microscope on EBAY. No eyepieces to look through, the image is displayed on an LCD screen. This has greatly helped me with the close work, especially looking for un-intended solder bridges. One final helpful tool is an IC pin straightener. This little double-sided plastic tool will drastically reduce the number of bent pins encountered when inserting chips into sockets. It will also relieve you from the “bending IC pins against a table edge” trick.
My kit arrived quite rapidly, considering it shipped from England. It comes in a remarkably small package. The PC boards are all of high quality, as are the components.
I suggest you unpack your kit by board type. My kit contained boards for a backplane, Clock generator, Z80 CPU, ROM, RAM, Serial and Compact flash with CP/M loaded. Also in ROM is Microsoft BASIC, RomWBW, and SCM (Small Computer Monitor). My kit came with a loose collection of parts, and several individually packaged boards with parts. Many of the web pictures show a board with its associated parts arrayed around it. I suggest you try to emulate the pictures with the parts you have.
The female pin connector on the backplane has 40 receptacles for pins. The right angle edge connectors on the board have 40 pins, but only 39 matching mounting holes on the board. So you wind up with one pin hanging off the end of the board. I left this pin on my boards to minimize the possibility of inserting a board one pin off.
Nobody seems to want to tell you what a minimal system consists of. I assume the Compact flash with CP/M is not needed initially. You will need a CPU, Clock generator, Serial board, ROM and RAM.
Nobody seems to want to tell you how to jumper your boards. The pictures will come in very handy. Being able to read a schematic will be an asset as well. I am assuming the shown jumper positions in the board pictures will result in a properly running system, but I don’t know this (yet).
A quick inspection of the boards reveals some have holes for a double row of edge connector pins for the extended RC2014 bus, and some have only a single row of pins. This resulted in my first mistake assembling the kit. Do not mix single row and double row edge connector pins. The proper assembly method for boards with double rows of edge connector pins is to to use the double row pin strips and to remove un-needed pins. A pin is un-needed if there is no corresponding mounting hole in the board. A small pair of needle nose pliers will allow you to grasp pins and, giving a small twist to the pin, pull it free from the black plastic strip. Exercise due care when pulling the pin lest you break the black plastic holder. The pictures do not show this very well. If you do this wrong, you will get to un-solder the mis-installed pins and remove them, possibly damaging your board(s), depending upon your soldering skills.
A hint here, if you assemble the motherboard after installing the edge connector pins on the boards, you can use a female backplane connector to help hold the flexible pin strip straight during board assembly.
Another hint, when installing IC sockets, tack diagonal opposite corners of the socket down with solder. Then, while pressing gently on the socket, reflow the solder on the tacked pins to insure the socket seats directly against the board.
The person that did the PCB layout left little room to bend resistor leads down to fit the PCB holes. You will pretty much have to bend the resistor leads directly down with no radius. So how hard would it have been to leave 1/8 inch on each end of the resistors? Other than this tight spacing, I have nothing to quibble about with the boards. Speaking to quality workmanship, do orient your resistors the same. I prefer to read the color code left to right or top to bottom. It just looks sloppy otherwise.
Some serial board documentation mentions a 68B50 UART. Matching a Motorola serial chip to an Intel/Zilog chip bus seems strange to me. My kit came with a Zilog SIO/2 UART, not the 68B50. While using the RS-232 serial protocol, my board came with no level translator to match the +/- voltage levels of the spec. Something like a MAX232 interface chip is what I expected, but there is no provision for this. Instead an FTDI TTL to USB cable is suggested. Of course, the pictures do not show this cable installed on a serial board. The cable can be installed on the pins with two orientations. Close inspection of the board clearly shows pin 1 labeled ground. My cable has a blue wire in this position on the cable connector, or, flipping the connector over, a red wire. I have no key or marking to ID pin one on the connector, but I have developed a natural aversion to hooking red wires to ground, and have not resolved this yet.
Then too, there is the 5 volt 3 Volt controversy. My serial board will be putting out 5 Volts, retro parts run at 5 Volts. I have no idea what my FTDI cable expects, but if it wants 3 Volts, nothing good will result from connecting the two together. A bit of multimeter sleuthing should shed some light on things.
There is an FTDI cable spec on the web, but the cable seems to be loosely defined to me. My spec has no green wire, but my cable does, so I really don’t know what signal this wire supports. My cable has six positions, and my header on the board has six pins, but some connector diagrams support more connections.
The Pageable ROM card has a set of pads underneath IC U2, a 74HCT138. This chip is a decoder, so it would seem logical that these pads set the I/O address of the card. Of course, nobody tells you what that address should be, or how to jumper the pads to achieve it. I am sure that the software has some definite assumptions about where things are located. So the exploratory path is to consult the schematic and perhaps chase the software assumptions back through the source listings, which are available on the web. Of course, you do have to find the listing that corresponds to the contents of the ROM you have.
I would like to figure out how to duplicate the compact flash module. I would feel much safer if I had a duplicate, lest I damage it. I tried plugging it in to a Compact Flash adapter on my PC, but no dice. Windows 7 does not speak CP/M File structures.
My RC2014 adventure continues. I have serial interface issues, and jumper issues to work through, but problem solving is part of the fun, isn't it.
Addendum: Additional things I have learned that you might like to know:
The FTDI cable sources listed in the SCM manual - the Amazon product listed does not exist, the other source does exist though, with 2-3 days delivery. As I look at the FTDI cables, the pinout seems to be inconsistent, I have cables that do not work, so I suggest not substituting the cable.
There are some steps to getting a cable working: Plug the usb end into your computer, leave the other end unconnected for now. If windows recognizes the cable, allow windows to download and install the driver, which may take some time. If windows does not recognize it and there was no software disc supplied, the cable will not work. On my system, the cable comes up as com24, your system may assign a different Com number. Com1 will also probably be offered as an option, with possibly other Com options. I am running TeraTerm to talk to the system. Run TeraTerm without and with the cable inserted into your computer. The Com option that comes up when you insert the cable is the one you want to select, it is the Com number for the cable. Re-launch TeraTerm between cable connections to let windows discover it. Note that the cable must be plugged in for windows to recognize it and present the option of selecting it in the TeraTerm dialog. If windows can see the cable, select it in the serial dialog. Then select "setup - serial port" and set the baud rate to 115200 baud. Now press reset on the RC2014 and the program selected on the Pageable ROM board should sign on.
TeraTerm is prone to getting confused. Every time you power down the RC2014 Pro system or make changes, you should go through the steps of re-launching TeraTerm, selecting Serial protocol, the correct serial channel, and setting the baud rate. Setting it up once and forgetting about it does not work.
I had originally thought I did not want to mess with FTDI, I knew RS-232, and better the devil you know than the one you don't. So I looked at building a little MAX232 driver board for RS-232. Looking up the specs, the MAX part has maximum throughput limitations, which do not include 115200 baud. Looking further, there are slew rate limitations in the RS-232 spec. At 115200 baud, you are pushing north of 1 Mega bit / second through the link. 1488 / 1489 chips in standard and cmos versions do not meet this limitation. So I gave up, 115200 baud is just too fast for more traditional interfaces. I am not convinced that 115200 baud can be attained within RS-232 specs. FTDI, once figured out, does seem to work quite well.
I had a question about mystery pads under some chips on some boards, their purpose and how to use them. There are signals on some chips that currently are not used. These pads are broken out for possible future use and can be safely ignored. So - Ignore pads under chips.
I have had some difficulty figuring out the bus and connector pinouts, but I think I have finally got a handle on it. I think the problem revolves around standard and enhanced backplanes. The Pro kit, which I assembled, comes with a backplane that supports the enhanced bus. This means there is a second row of female connectors on the backplane to support additional signals (the "enhanced" bus). Not all backplanes support the enhanced bus and not all modules do either. The Pageable ROM and 64K Ram boards need a signal to disable lower Ram when it is desired to have the ROM appear there. This signal appears on pin 4 of the pins above the male bus pins on the module. Unfortunately, the boards supplied with the Pro kit (Pageable ROM and 64k RAM) are not supplied with dual row pins to allow the signal to be passed over the enhanced bus. These boards are supplied with single row male bus pins and a jumper strip of pins. If you assemble them with the parts supplied, you will be assembling the boards for a non-enhanced bus. This requires a jumper wire between the ROM and RAM boards on pin 4 of the jumper pins of each board to pass the RAM disable signal. You can see this jumper wire in some of the pictures available on the internet. This jumper wire is not supplied. The boards with the jumper wire can plug into and work with either standard or enhanced backplanes. You can procure dual row male pins and use them on the modules instead of a jumper wire, passing the signal over the enhanced bus. Then the boards will be properly set up for an enhanced bus (which you have with the Pro kit), but the boards will not be backwards compatible with a non-enhanced bus backplane (which you may not have). Note that if you do install dual row male pins on the modules, you will not have pins to connect a jumper wire to.
You might think that if you assemble the boards with the parts supplied, all will work together as intended. This is not the case for the Pro kit. You will either need to procure a jumper wire or a couple of strips of dual row male pins (try Ebay), it is your choice, but assembling modules as supplied will not work.
more to come....