At least some in the audience will at some time in the distant past have loaded or saved a program on cassette, with an 8-bit home computer. The machine would encode binary as a series of tones which could be recorded to the tape and then later retrieved. If you consider the last sentence you’ll quickly realize that it’s not too far away from what a modem does, so can a modem record to cassette and decode it back afterwards? [Jesse T] set out to give it a try, and as it turns out, yes you can.
The modem talks and listens to the cassette recorder via circuitry that provides some signal conditioning and amplification, as well as making a dial tone such that the modem thinks it’s talking to a real phone line. An Arduino steps in as dial tone creator.
Of course, this is hardly a viable solution to 21st century data storage need, but that’s hardly the point as it’s a cool hack. We like it, and oddly we’ve seen a similar technique used with a retrocomputer in the past.
Thanks [CodeAsm] for the tip!
>using greentext in terminal
much haxx0r, such 1337
I have a couple of cassettes where I recorded my sessions dialing into Bulletin Boards and Prestel. I was able to successfully load them back into my ZX spectrum with 1200 baud prism modem by replaying the cassette into the receiver.
This is super interesting! Forgive my naivete, but how did the modem know to “listen” (or I guess actually listen!) for the incoming tones, or was it as simple as playing the tape directly into whatever input the modem had? (POTS, a speaker that held a handheld receiver, etc.)
The early AFSK modems didn’t have a session protocol; they didn’t even have a byte oriented protocol! When the correct frequency squeal was heard (a device called an acoustic coupler included a microphone in a rubber cup listening to the handset’s speaker, and another rubber cup containing a speaker that squealed back into the handset’s microphone), the modem raised the Carrier Detect line. When the squeal shifted to a high frequency the RX line was set high (+12V); when the squeal shifted to a low frequency the RX line was set low (-12V) (note, I may have the polarity wrong.) It was up to the Data Terminal Equipment (DTE) to turn the high signals into ones and the low signals into zeros, and then shove those into a shift register to detect the stop bits which turned the collected ones and zeros into a character (I can’t even call it a byte as they often weren’t sending all 8 bits per character). Modems were really dumb.
And as for the terminals, they predated microprocessors by decades. So early shift registers were a complex little chunk of machinery that stored the bits mechanically, and drove the attached typewriter to thwack out the right letter on the paper roll! It was amazing stuff.
Modems eventually evolved to include the byte interpretation and error detection hardware inside the modem (yay UARTs). And once microprocessors started being included in modems in the late 1970s/early 1980s, we got “Smart Modems”, where you could use a command attention sequence like “+++” to communicate with the modem to ask it to do things like dial or answer the phone, set baud rates, etc. And then things went crazy with new audio technologies like MFSK, with multiple frequencies, then QAM with phase shifting, and data compression to encode an increasing number of bits per second over an audio line that only transmitted frequencies from about 120Hz to 2400Hz. Exchanging 42000 bits per second over a line with a 2400Hz upper frequency limit is pretty darn magical when you think about it.
Thanks for a great summary :-)
One time long ago, I recommended using a computer with a modem to send a file over PeaceSAT to improve public health in Oceania.
It became a thing.
Still kind of wondering why every system out there (in the late 70s) seemed to require its own bespoke cassette interface, when it seems like the old Bell 101 and 103 signals should have been readily captured on cassette. Only thing I can guess is that modems of the day tended to cost a couple hundred bucks (like about 1000 in our 2025 experience), so if they could cheap out with a sprinkling of passives and a comparator or such, that was the way to go? But then, wasn’t there just an article about faking a modem signal with “35 cents” worth of parts? Just seems strange that modems and tape storage never really converged.
Why does Apple always do their own bespoke thing? Basic company logic, if you buy from us you always buy from us.
For my 1st processor in the 70s (SC/MP) I used a pulsed single tone (as kind of “A0”) and a matching demodulator (basically a retriggerable monoflop) as cassette interface up to 600Bd.
A modem would have been very expensive back then.
I recently had the need for a HART modem. to program process equipment. I did not realize the HART protocol is 1200 baud bell 202 signalling half-duplex sent on a 4-20mA line. I was able to hook up the modem to a speaker and directly hear the signalling – the modem being very simple converter that directly translated USB serial to bell 202. Software doing all the work on both ends. Very cool to see something so old still being used in current process equipment- every refinery and process plant has control valves and actuators that likely use this signaling….
Nice idea, ISTR most Hayes compatible modems can be persuaded to dial out even if there’s no dial tone (ATX maybe?) so the Arduino could be dispensed with?
I refurbished a bunch of Epson HX-20 and rebuilt the micro cassette drives. Though it faster to Hook the Epson to the sound card and play the mp3 version of the program.
“but that’s hardly the point as it’s a cool hack.”
See. This guy gets it.
And also I realize this is Jenny list and not a “guy” and all that but was trying to be funny. Ok I’ll show myself out.
The concept of recording audio (to cassette, or computer file) is a good one. It lets you design a decoding circuit, using a known source.
And if the source is a satellite around 137MHz, the decoded data shows weather images from orbit.
Totally off topic but HAD needs a thumbs up or liked feature, not just so I can give praise but so I could find it again.
Information Society, an electronic band of the 90s, released a CD whose last track was a modem dump… I think the name of the track was 1200 8N1 (this was a CD released in Brazil), a dead giveaway of what it meant. I managed to put it through my Hayes modem on my Amiga 500 and there it was, a weird story about the backstage of their show in the country. Something about jerry rigging a bus to be remotely controlled and fool local police…
1986 Toyota embroidery machines (sp 510) used (audio) cassettes to store the designs. Does somebody knows what was recorded (and how) on those tapes? Would a ‘Bluetooth cassette adapter’ be a option to emulate those cassettes? The idea would be to use inkstitch.org with such a machine…