Data Recorder...
...that sounds a bit like a "flight recorder," or the universal recording and analysis device called the tricorder from Star Trek. In fact, the Sharp MZ-80A's data recorder is a completely ordinary cassette recorder, although — like the datasette as known from Commodore computers — it is fed with binary data from within the computer instead of audio signals. What's remarkable, however, is the fact that the recorder is integrated into the computer case — a design that was otherwise rather rare, an exception being the original Commodore PET (but no longer found in the CBM 30xx series).
Undirtying
Like the motherboard (and the entire device), the data recorder also suffered from a thick layer of dirt that had settled on the electronics and mechanics of the cassette section over the decades. In addition, the original BASIC cassette ("BASIC SA-5510") inserted into the recorder upon receipt turned out to be unreadable, which could have been due to dirt (but was actually due to its wear, as later listening to it in the hi-fi cassette deck revealed).
So, off it went in the dishwasher — but after disassembling the electric motor, whose axle bearings and coil windings I didn't want to subject to a humidity. I also removed all the drive belts to safety, as I didn't know how the properties of the rubber used might change under the influence of heat and moisture.
I was greatly relieved when the recorder started up properly again after drying and reassembling it — and greatly disappointed when the BASIC cassette was still unreadable.
Talk to me!
Or even better, talk to my PC!
So, a way had to be found to transfer a BASIC tape image (e.g., from the BASIC library on the Sharp fan site www.sharpmz.org) from the PC to the Sharp. Also described on sharpmz.org is an interface circuit that allows various Sharp MZ models to be connected to a PC's parallel port via their external cassette jack. Unfortunately, the MZ-80A doesn't have an external cassette jack — but it does have an internal connector (documented in the service manual) for the built-in recorder. With a little experimentation, a circuit was quickly found that allowed the mztape data transfer programs to access the internal data recorder from the PC. Even the SENSE line worked, so the mztapte programs could detect when a key was pressed on the recorder.
Here is the circuit diagram created with gschem (on the left, the wiring inside the Sharp, on the right, the connecting cable -- you can see that a 3-pin DIN socket would have worked just as well):
One-way communication
And once again, I had to practice frustration tolerance, because a copy of the SA-5510-BASIC written to cassette from the PC via mzsave and the data recorder could not be read correctly by either the Sharp or the PC via mzload. The problem may have been the clicking noises that could be heard every second or so while listening to the cassette (which is about as much fun as listening to an analog modem at work) – as if some PC interrupt was repeatedly interfering with the delicate process of writing to the cassette. (I wonder if it was because I couldn't find any of the MS-DOS boot disks recommended for mztape anymore? I conducted my experiments on an old Windows 98 PC after starting with "command prompt only" and on my regular Linux desktop computer under FreeDOS.)
Another approach provided a solution: converting the BASIC image into an audio file using mzf2wav and then recording it to cassette using a standard hi-fi cassette deck. And voilà! The SA-5510 BASIC loaded and started on the very first attempt!
So, a way to provide software for the Sharp had been established. But what about the return path — transferring programs created on the Sharp to the PC? Further experiments with my equipment revealed that it was at least possible to read (BASIC) programs stored by Sharp itself via the data recorder using mzload, as long as this was done on the old (66 MHz!) Windows 98 PC. Thus, bidirectional communication was ultimately possible, which can be summarized as follows:
PC: mzf2wav --Audio-Tapedeck--> Cassette --Datenrecorder--> Sharp: LOAD PC: mzload <--Datenrecorder--- Cassette <--Datenrecorder-- Sharp: SAVE
Final Hurdles
Despite the success described above, the data recorder project seemed to be facing some bad luck. Several times, I accidentally dropped the raised cover, which makes quite a loud noise with the data recorder installed. It was particularly unpleasant when this happened when the recorder unit was inserted into the guide rails but not yet screwed in place – the result was a broken reset button for the tape counter. Let's see how long the hot glue used for the temporary repair lasts...
The locking mechanism for the (pressed) control buttons on the recorder was also repaired in a temporary manner. After another lid crashed down, it suffered the loss of a tiny return spring – see photo on the left.