Simple Universal Modem Helps Save And Load Data From Tape

Back in the early days of the home computer revolution, data was commonly saved on tape. Even better, those tapes would make an almighty racket if you played them on a stereo, because the data was stored in an audio format.  The Simple Universal Modem from [Anders Nielsen] is built to work in a similar way, turning data into audio and vice versa.

The project consists of a circuit for modulating data into audio, and demodulating audio back into data. It’s “universal” because [Anders] has designed it to be as format-agnostic as possible. It doesn’t matter whether you want to store data on a digital voice recorder, a cassette deck, or an old reel-to-reel. This build should work fairly well on all of them!

On the modulation side of things, it’s designed to be as analog-friendly as possible. Rather than just spitting out rough square waves, it modulates them into nice smooth sine waves with fewer harmonics. On the demodulation side, it’s got an LM393 comparator which can read data on tape and spit out a clean square wave for easy decoding by digital circuitry.

If you find yourself trying to recover old data off tapes, or writing to them for a retrocomputing project, this build might be just what you need. [Anders] even goes as far as demonstrating its use with an old reel-to-reel deck in a helpful YouTube video.

There really were some weird ways of storing data way back when. Just ask IBM. Video after the break.

21 thoughts on “Simple Universal Modem Helps Save And Load Data From Tape

    1. 8 track would make a fascinating ROM for, say, a looping marquee of some sort, but one with no memory at all. It just looks a message, but it’s just dumped to one of those red led scroller things. Or video for a CRT. And it can change the abbey being shown 4 or 8 times

  1. It didn’t matter what kind of tape recorder you used. But, there was no consistent format, so not much compatibility between brands.

    The Pennywhistle in 1976 was more like had been used for radioteletype, though maybe on transmit it was just a 555, I can’t remember. Don Lancaster’s scheme used X crpycles at one frequency, and Y cycles at half the frequency. But he used a ring cou ter and summed resistors to generate a stepped sinewave. I think Radio Shack used something else.,and so on.

    One reason the interfaces were slow was because you might use it with any old cassette recorder. Faster took more work.

    Then some used nidified tape decks, feeding a digital signal to the tapehead. Saturation recordemr, like tape drives on mainframes. But then you couldn’t play your Grateful Dead tapes on it.

    1. “It didn’t matter what kind of tape recorder you used. But, there was no consistent format, so not much compatibility between brands.”

      It depends, I think. Audio cassettes (MCs) had a higher flutter than a real audio tape machine.
      – The machine shown in the article is superior to a real C64 datasette drive (the drive was internal filters, btw. The C64 gets digital signals from datasette drive).

      The stability problem was apparent in the 1960s/70s/80s, when people still used to record analogue Slow Scan TV signals (SSTV, 8 seconds, monochrome, aka “Robot 8”) on a tape.
      The cassettes were very handy and robust, could easily be sent via mail etc, but most consumers class cassette recorders had noticeable flutter, which did lead to slightly distorted pictures (skew, jitter etc).

      Anyway, that’s a different story. But it’s related insofar, as audio quality wasn’t irrelevant. Especially made datasette cassettes in the home computer era were made of special, higher grade material. Those were used for holding commercial software.

      Of course, normal music cassettes were often used by cheap C64 users. They didn’t know or care about the technical differences. The same newbies later on used a perforator to make a 720KB DD diskette look like an 1,44MB diskette, totally ignoring the difference of each magnetic surface.

      One of the reasons home computer machines could successfully load from/restore to poor music cassettes was, that each data block was stored twice and that a simple CRC scheme was used.

      But technically, that’s not what the designers had in mind. Equally, some computer computer datasette drives use maximum levels to store data. Either DC or AC (square waves), which look like clearly defined rising/falling edges. Sine is not so well suited for those datasette drives, because it’s smooth and rounded. Sure, for Packet Radio signals over radio, sine would be okay. The filters inside a TNC would expect such smoothed out signals coming from a radio.

      1. They used cassette recorders because they were cheap, and many already had one around. If you design for the.minimum, then a better recorder won’t be incompatible. This article made it sound like the recorder mattered. But it didn’t. That’s precisely why slow data rates were used.

        But a lot of time Computer X couldn’t read tapes from Computer Y. Not because of a fussy protocol, but because they used different formats. That was way more significant than if you used a microcassette, cassette, or reel to reel recorder.

        I never used better grade cassettes. The OSI superboard just sent out the data byte by byte, no error correction. I don’t think the KIM-1 did either. I don’t know if Commodore used some special interface, but they got to sell tape decks by having a “branded” one.

        You could spend some money and get an actual cassette deck for computer tapes or SSTV. Nothing stopped you except for money.

      2. Not just home computers, DEC made the TU58 for their PDP computers which took what was basically an audio cassette in a different shape and with the head offset to one side.

        If you cut a notch for the head, you can even use a standard cassette in it, or at least so say some people who still have them….

        Well, I think it was a TU58 and not one of the others they did…..

      3. I thought magnetic tapes already used a 150 kHz square wave carrier that was modulated by the signal being recorded. Why would it matter if the signal being recorded was sine or square unless you were trying to drive the tape surface to saturation directly without the carrier?

        1. Analogue audio tape recorders use a high frequency (e.g. 150kHz) bias signal on top of the plain analogue audio signal when recording, to overcome the effects of hysteresis in the magnetic material, not as a carrier that is modulated. It’s similar to constantly tapping or vibrating an old analogue meter which has a sticky mechanism, to get the needle to more closely follow the input signal.
          On playback of the audio signal, there’s also no demodulation required – just an amplifier straight from the reading head (with deemphasis, but’s that’s another matter).

          1. > not as a carrier that is modulated

            Maybe it’s semantics, but that is what ends up happening. The carrier flips the magnetic domains from saturation to saturation and the signal effectively modulates how hard it goes to either extreme. This has an effect similar to PWM modulation with how the magnetic media “clips” the bias signal.

  2. Like the project confused about the selling point as we can already use any record and playback gesr we please … Its audio. ( see hidden c64 code on record from the 80’s)

    1. The world has come full circle.

      I’m now as sick of 3d shooters/sneakers as I was of sprite games back then.

      All has awful sameness.
      I think the last 3d shooter I really liked was ‘Redneck Rampage’. Deserves a reboot with modern hardware (and giggling, finite element, alien tit guns).

  3. Using an open reel tape at that low speeds with such an overcomplicated modem is more funny than educational. I whish that guy would have spent a few minutes looking at the existing projects, whid can handle “turbo tape” speeds.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.