What we know
In the last few years, a lot of useful information has appeared about the secrets of DCC. Old magazine articles, press conference handouts, course material for technicians who needed to repair DCC recorders, service manuals and service bulletins, and datasheets have shown up on the Internet in digital form, and the DCC Museum has managed to get in contact with several people who worked on DCC behind the scenes.
At this point, I'm not sure what the question is, but here are a couple of answers:
- Philips mentions three generations of DCC recorders. They refer to the DCC-730 and DCC-951 from 1994 as the "Third Generation", with Turbo Drive and the ability to record song titles as distinguishing features.
- The "first generation" was obviously the DCC-900 which was the first DCC recorder that came out in 1992. Several other manufacturers released recorders at the same time, which were all very similar to the DCC-900 on the inside. Marantz made two recorders that have a better D/A converter (TDA1547) and RadioShack sold the Optimus DCT-2000 which was designed by RCA but had Philips plugin boards and a Philips mechanism.
- The "second generation" must then be what came in between: Philips released quite a number of DCC recorders in 1993 that were all based on the same hardware: The DCC-600, DCC-300, DCC-380 and DCC-450 (aka DCC-91) all have the same circuit boards inside but there are small variations (e.g. with remote control buses populated or not) and enclosures are different sizes.
- The first and second generation recorders use the same chipsets (the first portable players used a different chipset). The third generation uses a different chipset.
- The third generation chipset is more integrated that the first generation chipset. Modulation, demodulation, tape formatting and error correction are all done in a single chip in the third generation chipset.
- For the first generation chips, there is almost no documentation, but the third generation chipset is very well documented. The datasheets are also clearly not just intended for technicians who merely need to understand why a recorder might have stopped working and how to repair it. They contain enough data to (theoretically) connect the chips together, slap them on a cassette mechanism with an MR head assembly and hook up a microcontroller to build your own DCC recorder. Just a few pieces of information are missing such as the format of the information that gets stored as SYSINFO (the data that is interleaved with the audio data) and AUXINFO (the data that's on the 9th track).
- The DCC-175 was a portable recorder that was only available in the Netherlands. It could be connected to a Windows 3.1 or 95 or 98 PC with a special "PC-Link" or "DCC-Link" cable (naming is inconsistent). The cable was plugged into the parallel printer port and used a custom chip by Philips Key Modules for which no documentation is available. We know from a somewhat reliable source that only 1400 of these cables were made, and they are extremely rare at the time of this writing.
- The DCC-175 and the PC-Link cable made it possible to copy music (in PASC format) from tape to hard disk and vice versa, and it could backup data files too, at the same 384 kilobits per second (which was rather slow even for 1995, by the way). It also allowed some light editing (copy-paste music fragments, play loops, place markers, change volume and fade in/out, change filter parameters, create compilation tapes).
- In the late 1990s, someone started a reverse-engineering effort on the DOS backup tape driver that's included with the PC-link cable and found out that the hardware appears very similar to a parallel port tape interface by Shuttle Technologies. The reverse-engineering project was never finished, though.
- The schematics in the DCC-175 reveal that the PC-link connection is directly connected to a 5V power supply in the recorder, a bidirectional synchronous serial port of a microcontroller in the recorder, and the Sub-band I2S bus.
- All prerecorded DCC tapes have extra information such as song titles and artist names. This information can be shown on all recorders. Most third generation recorders and the DCC-Studio program that came with the PC-Link cable (but interestingly enough, not the DCC-175 without PC-link cable) have the ability to let the user enter this information and store it on the tape. But the extra information on these tapes doesn't show up on the display of the first and second generation recorders.
- There is a service bulletin that reveals that originally, it was intended that it would be possible for a user Table Of Content to be stored at the beginning of a tape, but the developers ran out of space in the ROM (and probably ran out of time too) to implement this.
ITTS
All prerecorded tapes have information on them, encoded as ITTS (Interactive Text Service) data. This is a protocol that was originally designed for digital audio broadcasts, and is also in use on Sony's CD-Text system. The IEC standard for S/PDIF digital audio explicitly mentions how ITTS information is encoded in an S/PDIF digital output signal of a DCC recorder.
Most prerecorded tapes have an inlay that mentions that this "DCC-Text" feature can be seen with a recorder that's equipped to decode the service. There was never such a recorder, but prototype recorders have shown up that appear to have hardware to do this. Unfortunately that hardware is non-functional.
Also, several ITTS decoders have shown up in the world. These were boxes made in the UK with two microcontrollers and a Teletext decoder chip. Reverse-engineering of the ITTS decoder is underway: apparently one microcontroller extracts the ITTS stream from the subchannels (with help of an S/PDIF decoder IC) and passes it to the other microcontroller which generates a few pages of information that are shown on a screen by a Teletext decoder. Apparently these ITTS decoder boxes were used by music production companies to verify that the ITTS information was correctly encoded. There are several signs that these boxes were prototypes; for example the software for the microcontrollers is stored in separated EPROMs and the microcontrollers are just regulary 8032's. In a production version, Philips would surely have used a different version of this Intel microcontroller that would have made it difficult or impossible to extract the firmware. Also the box has no labels that a production model would have.
The ITTS decoder is connected to the digital output of a DCC recorder and the ITTS information is decoded from the subchannels in the S/PDIF signal. Unfortunately the ITTS decoder doesn't work with third generation recorders. We speculate that either (A) Philips and Matsushita gave up on the idea of ITTS altogether because it was too much work and they figured no-one would pay extra for it, or (B) it was simply impossible to implement it in the third generation firmware because e.g. the ROM was full with firmware to edit song names, or they simply ran out of time, or (C) the third generation recorders still generate ITTS information on the output but it uses a different format that the ITTS boxes don't understand. If the latter is true, we will find out.
The SAA2023/SAA3323, and Where We're Going
The SAA2023 and SAA3323 chips are the Drive Processor (DRP) chips for third generation recorders. Together with a microcontroller, they are the heart of the electronics of those recorders. The two chips are identical except for the supply voltage: stationary recorders use the SAA2023 (5V) and portable recorders use the SAA3323 (3.3V). As I mentioned above, this chip is extremely well documented.
The datasheet for the DRP chips shows exactly how a microcontroller can read and write AUXINFO and SYSINFO. AUXINFO is the auxiliary information that's encoded in the 9th track, such as label markers and song titles on Super User tapes. SYSINFO is the information that's stored and multiplexed with the music stream. It appears that SYSINFO is where all the interesting secrets are, such as SCMS (copy protection) information, pre-emphasis information, time code, table of contents, and ITTS data.
We have to keep in mind that this is 1995 technology, and there was no reason for engineers to design the SYSINFO protocol in a way that would be difficult to decode and encode. So we speculate that it's possible to use a logic analyzer to "listen in" on an SAA2023 or SAA3323 to find out what it has to say to the microcontroller when it's playing a prerecorded tape.
So what's the best way to do this? Well, step 1 is get into the system and the DCC-175 and PC-link cable will let us do that. We don't have the means or the time to reverse-engineer the PC-link cable. But we do have a logic analyzer to connect to the cable that goes between the parallel port plug and the DCC-175. It should be possible to "listen in" on that, and find out what the computer sends to the recorder to do things such as start playing, start recording, send line input to the PC, or put text on the DCC-175 screen. We also know that the DCC-Studio program reads the table from tape. Maybe once we know what the existing commands are, we can speculate on what other commands might be. We know the DRP records SYSINFO at the same time as audio, so even though DCC-Studio doesn't make it possible to write a continuous Table of Content, it's not unlikely that it sends SYSINFO data too.
The next step once we figure out how the PC-link cable talks to the DCC-175, is to try and replace the parallel port plug with a microcontroller. Interestingly enough, this should be the easy part. With the knowledge we have about the schematic of the DCC-175, we already know that we can probably connect a fast microcontroller like the Parallax Propeller; the hard part is to make it talk to the DCC-175 and be understood. Eventually, it should be possible to let a Propeller read all the information (audio, AUXINFO and SYSINFO) from a tape and store it on an SD card. And if we can figure out how to get that information back into the DRP, we can record our own prerecorded tapes.