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.
The adapter
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) |
6 (RXD) | – | – | – |
– | 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).
For your reference, these are the pinouts for the AUX/keyboard and MIDI out connectors. A discussion about how to correctly wire a MIDI cable can be found here.
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).
The keyboard
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.
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.