[DIRECT] A reborn historic device from the (way) past

Although some details still remain to be done or finished, Direct is now fully running and usable.

There were a few issues trying to get it to this point:

  • There was a short on the newly soldered joints for the replacement button panel, which caused Track and Thru switch 4 and 5 to trigger simultaneously.
  • The OS loaded, but right after reboot, it reported that there was no OS.

The system has a few hidden key combos for various functions. If you hold track key 8 while booting, it will skip the OS checks. The OS checks in this case are twofold: a checksum on the entire OS in memory, and an OS ID that needs to be found at the beginning. I didn’t know which of the two checks failed, because there is no feedback.

Since I had a working compilation workflow, I decided to rewrite that section of the EPROM slightly and make the beep for the checksum failure higher in pitch so I could tell which check had failed. It turned out to be the checksum.

Another key combo is holding 1, 3, and 5 while starting. This formats the Data Region memory and initializes all the constants and variables there. Without that, the OS can’t function properly and shows E11. Because of Issue #1 (which I hadn’t yet discovered—we initially thought it might have been a design flaw in the new board), I decided to change that key combo to just key 1 and recompile the OS, as that part was not in the EPROM but rather in the actual OS code.

After that change, it did format, and the system booted. I then installed an EPROM booter that skips the checks altogether while I figure out what’s going wrong with the checksum at a later point.

With those changes, the machine ran fully. Yesterday, I set out to figure out what was wrong with the panel. I think I spotted a solder joint touching another, and after some tweaking, the panel behaved as it should. One problem fixed.

I also started working on the breakout box. This proved to be more challenging than I expected, as drilling the holes through the aluminum panel of the little box I bought did not end up very neatly at all. So I’ll design one in KiCad and have it made by JLCPCB. The second issue was the crimp connectors for the EDAC connector. They were massive and didn’t fit my tool at all. Using a vise wasn’t working either. So I placed a new order—this time for connectors with solder eyes. They should arrive next week.

But I still wanted to test Direct, so I jerry-rigged three DIN connectors and soldered them to the crimp connectors. If they’re not in the connector housing, I can stick them into the other side to make contact. It’s not very sturdy, but it will do for testing.

My first test was strange. While I could see something happening on the module I connected (specifically, a patch change when I used that function), there were no notes coming in.

After a lot of double-checking, replacing the optocoupler, and hooking up the scope, I finally discovered that one connection was broken on the case-side connector. It was miserable to repair, but I managed, and from that point on, everything worked!

Here is my to-do list for the remainder:

  1. Design the breakout box panel and have it printed.
  2. Finish the breakout box, including the foot switch connectors, serial port, and leaving room for USB as well.
  3. Find out and fix the OS checksum check failure.
  4. Map out the memory card connector. I got two replacement connectors from Syntaur (removed from an EMU Proteus MPS). Hopefully, I can have a company measure the connections and map out a new flat cable to make the Proteus connector work (it has enough pins; it’s just a matter of mapping them correctly). The pins in the connector are extremely small—one in the original is already damaged—and I don’t have the proper tools to handle it myself. I also don’t have tools to create flat cables, so I’ll outsource this. I now have two 32kb memory cards and one 128kb card on the way. Maybe I can get a company to create a small board that allows me to write to these cards over USB.
  5. Install the new EPROM/memory card board, which should arrive this week. This will replace the hand-wired prototype board I made last week. I can use it together with my EPROM emulator.
  6. Consider creating a PCB for the power supply. It works fine now, but it looks like it was done in haste back then, without a proper PCB.
  7. Create additional hardware documentation. I’ve learned a lot about what makes this box tick and have collected many replacement ICs, including memory, DUARTs, CPU, etc.
  8. Create a manual. There isn’t one, so it’s a matter of experimenting with it and reading through the code.
  9. Inventory of bugs. I’ve already found a few. This was a very early code build, and there was a major rewrite after this version. I can’t reproduce anything done after this version—there’s nothing left of it—but perhaps I can develop some new ideas myself.
  10. Have some fun with it!

With that, I’m leaving a standing invitation to the Powers That Be at the Vangelis estate: I’d be happy to refurbish the other machine as well. It likely wouldn’t take as much effort as this one.

This unit was deemed unfix-able in 2007, and indeed it probably was at the time. But thanks to the popularity of retro computing—along with sites like the Internet Archive and Bitsavers—it was possible to make it work again. It’s still not at the latest spec, but if that code ever surfaces, I’m confident it could work again too. Digging through archives, finding obscure data sheets on MELCARDs, and getting a different version of the linker/compiler tool chain to work were some of the more interesting and fun challenges. This box was destined for the scrap heap, but I’m glad it escaped that fate; at least one Direct can be preserved in working condition, a museum piece it deserves to be.

I want to add that I owe a major thanks to PaulMC, who helped me nearly daily on this project. He even found and fixed an original hardware bug in the machine! His help has been amazing, so thank you Paul!!

 

 

 

 

 

To top