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.

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.