While the Amiga CD³² can play CD-MIDI discs, it lacks a MIDI out port to hand over the data to a MIDI playback device. I’m going to build an adapter with a keyboard pass-through for its AUX port.
CD-MIDI (or CD+MIDI) is an extension of the Red Book Audio CD that allows MIDI data to be stored in the subcode channels, just like CD+G and CD-Text does it with graphics and text data. Only very few devices are known to be able to make use of that information: CD³², CDTV and WonderMega. Even though the Green Book describes a MIDI extension, the Philips CD-i is not among these devices, and so far, no CD-i hardware or software that made use of MIDI has surfaced.
The (CD-)MIDI topic has come up a couple of times on the Philips CD-i Community Discord server and has also been presented in this article on Le journal du lapin. I wanted to try it too, but first I needed a disc – which in itself posed a challenge since only very few CD-MIDI titles have been identified so far:
- NIFTY-Serve MIDI Forum Original Music Vol. 1
- Mozart: The Magic Flute
- Presenting CD+MIDI: Featuring Music From George Gershwin’s Rhapsody in Blue
Testing the NIFTY-Serve disc in my Amiga CD³²: Upon hitting the play button of the audio CD player, the display switched to the CD+G view. When I switched back, both the CD+G and CD+MIDI elements lit up.
A simple adapter using only an SN74LS04 hex inverter and two 220 Ω resistors has been figured out and described by Grant in the OCAU Forums. It is also mentioned that it is possible to use the keyboard at the same time (pass-through). To have a better overview of both MIDI and keyboard, I made a table of all connections:
|Mini-DIN-6 plug (AUX)||SN74LS04||DIN-5 socket (MIDI)||Mini-DIN-6 socket (KB)|
|1 (DATA)||–||–||1 (DATA)|
|2 (TXD)||1 (1A)||–||–|
|3 (GND)||5 (3A), 7 (GND), 9 (4A), 11 (5A), 13 (6A)||2 (GND)||3 (GND)|
|4 (+5V)||14 (Vcc)||220 Ω -> 4 (CSINK)||4 (+5V)|
|5 (CLOCK)||–||–||5 (CLOCK)|
|–||2 (1Y), 3 (2A)||–||–|
|–||4 (2Y)||220 Ω -> 5 (CSRC)||–|
I was only able to find an SN74LS04D in a SO14 package and mounted everything on a SOP28 adapter board. There was enough space for all components and three JST-XH connectors (AUX 5 pins, keyboard 4 pins and MIDI out 3 pins).
The first MIDI out test with a Roland SC-88 Pro: I didn’t hear any difference between CDDA and MIDI (via SC-88 Pro with SC-55 map).
After some months, I continued to work on the adapter and hooked up the keyboard port. Unfortunately, my A4000 keyboard didn’t respond at all (except the LED on the CAPS LOCK key). When I checked with a text editor, I noticed that apparently one key was stuck, writing ´ repeatedly.
It turned out that this was caused by a conflict with the PS/2 port of the Kipper2k v6 riser. As recommended here and here, removing the PIC resolves this conflict. It seems that I never used the keyboard after upgrading my CD³² with TF328 and Kipper2k…
With this done and the keyboard test being successful, I continued with the box.
I used this OpenSCAD module for rounded boxes to design and print a box for the adapter. Since I already crimped the connectors, I had to drill 9 mm holes to make them fit through. Some grommets that I found in my scrap box and heat shrink tube help to keep the cables in place.