Sonntag, 4. November 2012

Micro-Professor Tape File Generator powered by Arduino

These days I discovered my Micro-Professor MPF-1 clone a friend and me built in the late eighties of the last century. In order to check whether the device still works properly I'd liked to try out some programs printed in its manual. While typing the first machine code bytes, I remembered that I was using a music cassette put into a Sony Walkman to store my programs.

Unfortunately I couldn't find neither the MC with all my programs on it nor the Walkman to play back all that data. 

So there it was - the idea to use my Arduino 'playing' some machine code source files while the Micro-Professor is 'listening' on its tape reader interface!

Arduino Mega 2560

The tape file format is described in the MPF-1 Manual as shown here:

So, there are some tones to be generated. To be exact, there is a 2kHz and a 1kHz tone, sequenced according the file, byte and bit formats described as seen above in Fig. 4-7.

The Arduino Sketch is the first prototype implementation of a Micro-Professor Tape File Generator.

The Arduino Sketch defines Pin 12 to be the audio output which has to be connected to the MPF-1 EAR audio input jack (also connect Arduino GND to MPF-1 GND).
The following schematic depicts how a stereo mini jack wiring shall be prepared:
See also the the audio input interface circuit shown in the schematic added to the MPF-1 manual:

4 Kommentare:

  1. Hi Niklaus,
    How do you realize the interface between your arduino and you MPF-1 ? I saw you use pin 12 but it is 5v, the input of the MPF-1 is an audio format.
    thank you for your work.

  2. Hi Jean-Charles

    I just directly attach the Arduino Pin 12 (which is a 5V output) to the MPF-1 EAR audio input (see the added schematic in the article).

    D. Niklaus

  3. Hi Niklaus, I wanted to write files to my MPF-1, tried using a WAV recorder but no success, so I was going to write some Arduino code to do the job but couldnt spare the time. Thought Id have a search to see if someone had already done it. Suprised to find your code and greatful it worked first time without a problem, well commented and easy to understand, thanks.

    1. Hi Sureoak

      Thank you for your feedback! Glad that it helps!

      Best regards,