Added a small case to the RC2014

RC2014 In a BlueBox Case

I received the “Front Panel” and “Rear Panel” Kits for my RC2014 Z80 Computer. These panels are specifically designed for the Blue Box 110x250x190 mm project case, which I had purchased even before I got the initial kit to create the RC2014. I spent the last few days soldering and assembling the panels.

Showing "LCD Driver Module" and "Front Panel I/O" module.
The left side is the LCD Driver Module and and LCD Display and the right side is the Front Panel I/O module and the actual Panel for the front of the case.

You can see little tabs poking up through the back of the LCD panel. Under the little interface board that converts the 2×20 ribbon connector to the 16 pin the module needs is a tab that poked up into the pins of the little interface. It caused problems and I had to clip off that one tab. The Front I/O panel was also a problem, I soldered its ribbon cable header to the wrong side of the board, I had to desolder the header and flip it around behind the front panel so the ribbon cable could connect. My reading skills must be slipping. Though I don’t think the instructions mentioned the tabs on the LCD Display poking into the pins of the cable header.

There was a good bit of head scratching before I fixed those problems. But in the end, the front panel I/O and LCD Display are working well.

Showing RC2014 Front Panel assembled and attached to the case.
Showing Detail inside BlueBox case with RC2014 mounted inside, ribbon cables connecting to the front panel

The switches on the Front Panel I/O control the boot up. There are several choices for how to boot.

  • First is the Small Computer Monitor, a program that allows direct access to the CPU registers and memory.
  • Second is a version of Microsoft BASIC for 8080 (and Z80) microprocessors. This would be similar to how many 1970s and 80s computers would boot straight into the BASIC language interpreter (Such as the Commodore 64).
  • Third Boot option is a FORTH Language Interpreter. I have no idea how to use FORTH, at least at the moment.
  • The Fourth Boot option is a simple game called 2048.
  • The Fifth boot option is CP/M 2.2, Digital Research’s famed operating system for personal computers of the late 1970s and into the 1980s and that a version of was offered to IBM for the IBM PC. But Digital Research didn’t like the restrictions IBM wanted (and which Microsoft found a way around when the licensed MS-DOS to IBM).
  • The Sixth option is Z-System, an enhanced version of CP/M for the Z80 CPU (and the one I use the most).
  • The Seventh is a “Net Boot” which won’t work since I don’t have the RC2014 on the network.
  • And the final (eighth) front panel option is a User ROM boot, but I haven’t put in a User ROM so no booting from it either.

The Front panel also has an option to boot from the hard drive (in my case a Compact Flash drive like I have in my Canon EOS DSLR). There are 5 “slices” to boot from the current hard drive.

  • Slice 2.0 boots CP/M-80 v2.2
  • Slice 2.1 boots ZSDOS v1.1
  • Slice 2.2 boots ZSDOS v1.1 (yup, I’m wondering if I messed something up)
  • Slice 2.3 boots CP/M-80 v3.0 with Banked Memory
  • Slice 2.4 boots ZPM3 with Banked Memory (compatible with CP/M+)

I made a second Compact Flash (CF) for learning how to customize the system. I’m still using the original Compact Flash drive that came with the kit, though. The second CF drive has several Infocom Games, like Zork, or Hitchhhiker’s Guide to the Galaxy, the classic Colossal Cave Adventure, and a few others. I also have HiTech-C and z80ASM programming tools, WordStar and ZDE, and stuff I’ve already forgotten.

The install of the Rear Panel Kit was simple. I got the blank version, it has blank cover for the holes where cables and connectors will eventually go. I’ll get those as I need them. Things like the FDTI adapter, and audio ports, maybe a video port, and so on.

Next up? I think a sound card, probably this one Why-Em-Ulator.

RC2014 Project Update – Does it work?

First things first

So first, before revealing if the thing works or needs more work, the first part of the update is that I finished the Backplane Pro. The Backplane Pro has 12 40-pin slots for the modules. It took a while to solder in 12 40-pin headers, 4 20-pin extended headers (the number of extended headers depends on how many extended bus modules you’re using. I have three at the moment, but I put in four), and a number of other small parts, a couple resisters, a power switch, power LED, a power jack, a reset button, and so on. I didn’t count all the solder points, At least 580 solders. I might have mentioned I’m a slow solderer; it took me most of the day.

RC2014 Backplane Pro
The RC2014 Backplane Pro

Then I buzzed it out (using continuity testing of my Multi-Meter Oscilloscope, a ZOYI ZT-703S). I made sure all the header points had the signal they should, and didn’t have bleed over they shouldn’t. That took a while too. When I finished that, and did not find problems, I applied 5 volts to the power jack and checked the power LED did light, and the +5 and GND points all showed the power.

Fairly sure the backplane was good I went about checking the module circuit boards. I put them one at a time in a slot on the backplane and checked that power routed cleanly to the points in the sockets (without the integrated circuits plugged in). Everything looked good there too.

So I plugged all the ICs into their respective modules. I did the Z80 CPU first (only one IC, the actual Z80 CPU) on that module). Then the SIO/2 board, and so on. The only board I didn’t get completed is the Real Time Clock module – I don’t have a spare 2032 Coin Cell for it. Then I put the extended bus cards, the Z80 CPU, the Z80 SIO/2 board, and the DUAL Clock in the first three extended bus slots (Slots 5, 6, and 7). The ROM/RAM Memory module is in Slot 8, an extended bus slot but that board doesn’t need the extended bus. Finally I put the Compact Flash module in slot 4, a standard bus slot. I left the Real Time Clock out for the moment, given it doesn’t have it ‘s backup battery yet.

Finallly, I attached the FTDI cable to my computer and into the RC2014. I had to find the com port Windows assigned to it – which took it a while. It’s Com5. I fired up putty terminal software and configured a session to Com5 at 115200 bps and pressed reset on the RC2014. I got my first boot up results:

First Power Up screen for RC2014
RC2014 Power up Boot – SUCCESS!!! It WORKS

SUCCESS!!! IT’S ALIVE

I was very happy, especially given the trouble the silver based solder gave me to start with (and two destroyed modules that I had to repurchase).

I did put the Real Time Clock (RTC) onto the board for the “photo op” where you can see the assembled system all together. But I didn’t power it up at that point (I thought about it so you could see the glowing power lights and such.

The full RC2014 assembled – so far.

While I had the system powered up, I launched the Z-System operating system (not the IBM Mainframe Z-System OS…) and explored the compact flash. I also tried out Microsoft Basic and made it print:

Hello,World!
RC2014 - is ALIVE!!!!!!
John Sandlin 250731

I meant to make it print the full year, 20250731, but made a typo and didn’t fix it the right way. The backspace key doesn’t work correctly in Basic.

What’s Next

There are a number of things I want to do still. I want to get the RC2014 Front Panel Kit (and a back panel kit too), a Sound Module that uses a vintage sound module that were popular with the MSX Z80 based computers, and a video / keyboard interface. The Front Panel Kit gives it a proper vintage Kit Computer look. My first computer was a HeathKit H89, which I built while studying MicroComputers through an NTS training course, but the Front Panel is even more primitive than the H89.

I might also want to see about making the RC2014 work with MSX software. That’s down the road a bit though.

Project RC2014 Continues, after a short delay

I started the project using the silver based solder to try to keep it all RoHS. But the Silver Solder and me soldering wasn’t working out. I damaged to two of the project boards, The Serial IO and the Dual Clock boards. Silver Solder requires higher temperatures, I’m not the fastest solderer, and I melted a couple sockets so that pins fell out, and then I couldn’t get the silver solder to desolder and basically destroyed the boards. I had to order replacement PCBs and replacement components.

Now though, I have six RC2014 modules soldered up and just have the backplane left to go.

Six Modules done

The six modules, starting top left and ending bottom right, are:

Top Row:

Dual Clock Module

The Dual Clock Module is an Enhanced Bus card (it has two rows of pins to the backplane). This is the system conductor, keeping the clock pulses that the CPU needs to execute the instructions in coordination with all the other components. This clock has to talk to all the other modules to keep them in Sync.

Compact Flash Storage Module

The Compact Flash Storage Module will hold all the software to run on the RC2014 computer. Back in the day computers like this might have used Paper Tape (like the Altair), or cassette audio tapes (like a Commodore Pet (which also later used floppy disks), or Floppy Disks (like many CP/M machines like mine will be), and maybe even a smallish hard disk drive. The Compact flash takes the place of the hard drive and can have a reasonably large capacity (if you can imagine 64 MB being reasonable), well compared to the 5 MB drives of the time.

Middle Row:

Z80 SIO/2 Serial Module

The Z80 SIO/2 Serial Module allows the Zilog Z80 CPU to talk to the outside world – like the User. It’s an old reference but the movie TRON, this would be the I/O Towers programs used to communicate with the Users. Back in the day when CP/M computers were The Big Deal, the SIO would connect to a serial terminal, like a DEC VT100, or to a keyboard and monitor if that computer had one, like modern computers and laptops do.

Real Time Clock Module

The Real Time Clock Module is purely optional and many CP/M computers in the early 1980s did not have one, you had to tell it the date and time each time you booted it up. I can have a script run in CP/M that reads the current date and time when the computer boots up. It’s handy to have your files time stamped.

Bottom Row:

Z80 CPU Module

The Z80 CPU Module is the brain of the system. The Zilog Z80 was an improvement over the Intel 8080 and was very popular in many CP/M computers. The Z80 is an 8-bit computer CPU that often came with incredibly small amounts of memory. 16K was common, along with 32K, 48K and even 64K. 64K was the most an 8 bit computer could typically address with a 16 bit address bus without resorting to “Bank Swapping.” A screen on these old computers could hold 80 text characters each on 25 lines. So imagine 8 of these screen pages, and that’s the 16K. All your software had to run in that memory, including the screen buffer (those 80×25 character lines of text), the operating system, the application (like Word Star, a popular word processor back then) and all your data. But memory was crazy expensive, so you did what you could in as little as you could afford. Until very recently, Zilog was still making the original 40 Pin DIP Z80 CPUs (albeit in slightly faster clock speeds). Zilog discontinuing the Z80 prompted me to do this project before the chips are all gone.

512K ROM / 512K RAM Memory Module

The 512K ROM / 512K RAM Memory Module takes advantage of Bank Switching to let the RC2014 address more than64K of memory. This is where the computer holds all the information it’s working on and with, the instructions in the programs it’s running, and anything it needs to complete the tasks it’s working on.

NEXT UP:

Tomorrow I’ll start work on the RC2014 Backplane Pro. This is the backbone of the computer, and also distributes power and facilitates communication between the module. Then the troubleshooting begins!

Project RC2014 is started

I have my first board for the RC2014 Z80 computer put together. This was a simple board, just a socket, four resisters, 1 capacitor, and a right angle header. A lot of small solders, though. Once I have a chance to validate the solders are good and I have the backplane wired, I will put the CPU in that socket. I just want to validate the power and ground are going to the right pins first. So I have a good deal of soldering to do before I get there.

RC2014 CPU Board front side
RC2014 CPU Board front side
RC2014 CPU Board back side
RC2014 CPU Board back side

I’ll probably work on the Dual Clock Card tomorrow. Every CPU needs a good clock, or two.

A Couple Project Updates

I got a 3D printed case from iCode.com for my MiSTer FPGA. It comes in several colors. The case I have is the “Crystal White” which is semi-translucent. It has little holes drilled to let the LED lights through but they shine right through the case anyway, so no light-pipes needed. It looks really nice, though I did have to file open a couple of the holes. The VGA connector needed more room, for example.

iCode.com Crystal White semi-translucent MiSTer FPGA case, system powered up and LEDs glowing.

I staged my MiniDexed project into a carboard box, pending getting my plastic case cut so I can finish in that. I’ll be using a PiSound Case from Blokas. I have an Actual PiSound and thought the case it is in would work for my MiniDexed, but I need to cut holes in it to pack the MiniDexed into it. But I want it done clean so I need some more parts for the project before it get’s it’s new home. Below is the current CardBoard MiniDexed.

Soon I’ll have a new project, the RC2014 Zed Pro, 8-bit Retro computer. It’s a modern take (from the Retro Challenge in 2014) on an 8-Bit Z80 CP/M computer. My first computer was a HeathKit H89 HDOS computer, where HDOS was a work alike system like CP/M. So this will be very similar, but without the built in CRT and Keyboard. It is made from currently manufactured parts, except the Zilog Z80 CPU which JUST went out of production late last year. Fortunately the creator of the kit has some Z80 chips still. But eventually those will run out, so I bought one and will have it in hand very soon.

I do have a soft spot in my heart for the Z80 because of my H89

My HeathKit H89 computer which I built for a National Technical Schools Micro Computers course

Adding a little Music: MiniDexed

I started a new project to make a MiniDexed synth. The little synth recreates, to a large degree, the famed Yamaha DX 7 Synth (minus the keyboard and “front panel”). The MiniDexed uses a Raspberry Pi as the base, with a couple of knobs and a simple text display.

photo of minidexed project on breadboard connected to Raspberry Pi 4.
My MiniDexed Synth so far – prototype stage

I’ve ordered a project box to put the MiniDexed into which will take a while to arrive, they’re current made when they’re ordered and then shipped, from Europe. I’m repurposing a PiSound case to make my project. The MiniDexed project has a “print-your-own” case available, but I don’t have a 3D printer so my choice was the PiSound case. The page for the project has a section showing their case design. That same page shows the wiring diagram I used to make the prototype.

I’ve tested the setup, and it does play music and emulates DX-7 voices nicely. I had to use a MIDI keyboard to control the synth and play some notes. In my picture above, you can see the simple 2 line by 16 character display, the rather well hidden two knobs – A continuous encoder to scroll through menus and select options, and a contrast potentiometer, and of course the Raspberry Pi 4.

I will be using connector headers to make the wiring harness so that the parts can be installed in sections so I can open the project case as needed. One 16 pin header for the display which connects to a 2×20 pin header to connect to the Raspberry Pi GPIO pins. That 2×20 pin header will also connect a five pin header to the continuous encoder, and a 2 pin connector for the contrast potentiometer.

Once completed, the MiniDexed will operate as eight sound engines, each capable of 16 simultaneous notes, much like a Yamaha TX 816 Rack module. The TX 816 put 8 DX-7 Sound Engines in a rack mountable cage. That’s 128 notes at a time via the 8 sound engines (they can be all the same voice, or 8 different, or a mix between, at 16 notes from each sound engine). All controlled by MIDI messages.

I’ll be sure to post updates as I complete them.

More Music Tinkering 2022-01-22

I found all the parts to a DIY Music Synthesizer – The ArduTouch Music Synthesizer by Cornfield Electronics. It uses an Arduino UNO type microprocessor. I bought the kit in 2017. I got the decent Soldering Station so I was ready to put it together. I ran to the web page for the ArduTouch and got the assembly instructions. So – Here is the finished results:

ArduTouch Music Synthesizer, batter pack and FTDI cable.

I should emphasize that this is an Arduino UNO type setup, the board is different, but it does use the same Atmel ATmega328P main chip. It makes rather interesting sounds. The default synth program is called Thick. There are several other programs in the github repository.

A Little Music Tinkering 2021-12-30

I keep busy. Sadly, while I do keep busy, I don’t keep busy with a lot of new stuff worth blogging about. But I do have something now.

A short while back I ordered an MT32-PI from LegacyPixel. It is basically a Raspberry Pi 3A+ that has a “hat” added from the MiSTer FPGA project. The MiSTer FPGA is a hardware “recreation” of ancient 70s and 80s era personal computers, game consoles, and even Arcade games. But that isn’t the topic of this post. The MT32-Pi is.

Long ago, in the 80s when Personal Computers were still in their infancy, Sierra Entertainment made a few popular lines of games. One of the key features was their sound tracks. And one of the key features of their sound tracks, and thus their games, was the ability to play via MIDI to the Roland MT32 music synth module.

The games could use a number of audio sources, the PC Speaker, the Adlib and Sound Blaster PC Sound Cards, Tandy / PC jr 3 Voice Sound, and the Roland MT32. It was this last, the MT32, that was the top of the line audio source for games. It was supported in many Sierra games, because it is what the music composers used when composing the sound tracks. And it really sounds excellent.

The MT32-PI can emulate the Roland MT32 using MUNT and work with all those games. It also has a SoundFont engine called FluidSynth. So it can be a Roland SoundCanvas SC-55, too, which many other games support. Any other kind of SoundFont can be used too.

The first thing I needed to do was get more Roland UM-ONE mk2 USB to MIDI cables/adapters. I patched it into my PC and fired up the DAW software and tested the sounds. Now a word of note here, the 3.25mm stereo jack on the Raspberry Pi is noisy (it might have something to do with the video signal in the same jack).

MT32-Pi all cabled up

This worked really well, despite the somewhat rocky sound of The Pi. I ordered a GY PCM5102 DAC board to get clean audio (based on recommendations of the developer of the MT32-Pi hat). I realized I’d need a USB Side connector too, so I ordered that and got it all soldered together. That USB Port isn’t really USB, but it uses the same USB 3.1 Type A connector.

The tiny wires I was using were too small for my auto-wire striper and manually stripping them broke some of the strands in the stranded wires. The solders are weak. I have a quarter size perma-proto perf board coming to finish this up properly.

USER PORT to GY PCM5102 DAC adapter “cable”

This little connector works, but it is delicate. I had to re-solder the wires on it a few times as critical leads (there are only six, they’re all critical) would “break loose.” Below is the MT32 tied to power and the connector. I don’t have it hooked to the PC and audio here, but you should get the idea. Oh and I got some nice labels on the MT32-Pi.

Powered MT32-PI with DAC Attached

The new labels look reasonable good. I made them with my DYNO Label Manager. I got the mt32-pi label image from the project files on the mt32-pi github.

When I have the perf board completed I can update this post with an image of that. It will have “header pins” to connect the board to the DAC and the User Port connector, then some solid core wire to make the connections between the them. Solid Core will be good since they won’t be bending all over like the loose ribbon cable. The solid core wire connections will be cleaner to solder with too.

Here is a diagram to help wire up the proto-board:

Proto-board Wiring

Photos of the finished proto-board project:

Completed Proto-Board USB to Audio DAC
The back of the proto board, just for good measure
mt32-pi sending Audio through proto board.