The easiest way to modify a 3rd generation deck to enter song titles using a keyboard would be to intercept the traffic between the front panel microcontroller and the deck control microcontroller, and send the right command. In theory this is really easy and I’ve been wanting to do that for a long time (I started on it in 2019) but I haven’t had time for the project in a while.
The front panel and the deck communicate through a synchronous serial port. The protocol is pretty much the same as a TTL serial port but instead of using a preset bit rate, the bus master (the front panel IIRC) generates a clock signal that gets transferred to the slave (the deck). On every low-going edge of the clock pulse (or was it high-going?) one bit is transferred. This is basically what in the Arduino world is called SPI mode 3.
It’s not too hard to use two SPI ports in mode 3 in slave mode to spy on the communication that goes back and forth between the front panel and the deck, and I did that; my current setup uses a program under Windows that uses two FTDI FT4222 adapters on two UMFT4222EV-D evaluation boards.
All my work reverse-engineering the protocol is in this Github repository. It’s quite a mess (sorry) but what you need to know is that most of my knowledge about how it works is in this file. That project is concentrated mostly on replacing the VFD display with a color LCD but if I remember correctly it uses a console window on Windows to do most of its work currently.
In short: the communication uses a simple command-response protocol that uses blocks of binary and ASCII text data, with a counter that tells the receiver how long a command or response is, and a simple XOR based checksum to make sure everything arrives correctly. The communication starts with the front panel sending an identification string to identify the recorder. Then it sends polling commands at regular intervals to find out what the deck is doing. In the time that the deck processes a command, it asserts a hold-line that the front panel uses to wait.
Some of the deck’s commands aren’t used; for example it sends a message whenever you push a button on the front panel, even if that button is invalid. The deck ignores those messages.
There’s also information that comes back from the deck that doesn’t get used by the front panel, including VU meter values. The DCC730 only shows those under certain circumstances and shows them as numbers. My plan is to show actual VU meters on the front panel that show the audio levels at any time.
One of the commands that goes to the deck is to change the song name at a marker. The front panel does a lot of work gathering all the signals from a remote control when you’re in edit mode, but it only sends a single command to the deck to change the song name, and the command contains the entire title at once, up to 40 characters. It should be easy to intercept the command and inject our own text, and of course that would make it possible to insert e.g. lower-case characters (visible only on the DCC824 car stereo) or an apostrophe (which is impossible to enter from the front panel and remote control).
I really should get back to the project and I’m currently trying to reorganize my house to do this…
===Jac