Projects - MD Controller

Mini Disc controller. Used to control the Sharp MD-MT161 Mini disc player by connecting the remote port on the player to the parallel port on a PC. A piece of software is then used to simulate pressing the buttons on the Mini Disc player.

Photo of Minidisc player Photo of Parallel port plug Photo of Minidisc connector plug

Description

To enter titles on my minidisc player I have to scoll through the alphabet to select each letter. I can manage about 20 characters per minute like this, so it takes half an hour or so to title a complete disc. I was looking on www.minidisc.org and I found a page by Thomas H Meier who had made a circuit to send signals to the remote control socket on the MD-MS701. I decided to make a simple circuit to do the same job (using only resistors and diodes) and a friend and I adapted the program he supplied for my MD-MT161.

The first problem was to make a suitable connector. This is shown in the above photo and is made from a standard 3.5mm jack plug and a piece of strip board. The strip board is filed down to be thinner so that it will fit in the slot next to the headphone socket. The copper track is left in place and makes a connection to the outer spring contact inside the slot. A gap is cut in the side of the plug case, and the strip board is soldered onto the connectors inside the case to make a fairly robust connector. The cable has two conductors - a ground that connects to part of the 3.5mm stero plug furthest from the tip. The other conection is made to the copper on the strip board - the red wire in the photo. Note that the casing on the plug must be pushed on, as it cannot be screwed on with the stripboard in place. I also added a drop of glue to the thread to keep the casing in place.

The minidisc player passes a constant current from the spring connector in the slot to the ground point to the 3.5mm jack. The voltage across this connection is then measured and different voltages indicate different buttons have been pressed. This can be done most simply by placing a resistor across the connection, and this is basically what my circuit does. The circuit designed by T Meier drives the voltage directly, and so it may be more reliable although the circuit is more complex. My resistor network is shown below:


Circuit Diagram

By default all the output pins on the parallel port are set high. Although the diodes do not conduct in this direction, pin 7 can supply a small current through the ?? resistor and make the minidisc player think that there is a high resistance at the remote control. This indicates no buttons are being pressed. The remaining resistors can then be connected to ground by sending a zero to the required pin. Sending zeros to all the pins makes the player think there is a short circuit at the remote control indicating Stop has been pressed. The combinations and their voltages are as follows:


COMMAND HEX BINARY VOLTAGE
None FF 11111111 2.73v
Mode FB 11111011 1.78v
Disp FA 11111010 1.57v
Bass DD 11011101 1.43v
Vol Down DC 11011100 1.26v
Vol Up D8 11011000 1.03v
Rewind D5 11010101 0.89v
Forward E6 11100110 0.72v
Stop 80 10000000 0.52v

Unfortunately the Enter button cannot be controlled through the remote port, and so this must be pressed manually. The program works by taking in an input string. The minidisc player is then set to the initial condition (ready to enter the letter 'a') The program then 'presses' the buttons in sequence to go to the next character and beeps. All the user has to do is press the Enter key on the minidisc player each time the program beeps. It is interesting to watch the screen as the user will see the minidisc player scolling to the next character in the quickest direction and selecting the apropriate case or symbol. In its current state the program gives the user half a second to press the Enter button before it moves on to the next character. I find it easiest not to look at the screen, and just to press Enter every time the computer beeps. If Enter is pressed early or late, the minidisc player will pause on the wrong letter, and all future characters will be wrong.

I have looked inside my minidisc player and tried to attach a signal to control the Enter key, but I couldn't find a neat way of doing so. With the program I can manage 60 to 80 characters per minute, and improvement of 4 times, and it only takes 10 minutes to enter an entire album labelling each track with the artist and title. If you wish to copy this system or modify it for a different model and need help, please feel free to e-mail me.

To use the program, right click on the link below and select 'Save as...'
mdcontroller_program.txt
and rename it to titleaid.bas (or something) and then open it using QBasic. I have renamed it to a text file to avoid any problems downloading scripts. QBasic is supplied with MS-DOS and Windows. It should also be freely available on the web. I have not bothered porting it to another language as I don't use it very often, although I would be interested to hear if anyone does.