Those who were around for the pre-floppy days of computer mass storage were likely to have made the mistake of slipping a cassette tape containing data into a stereo tape deck. Instead of hearing the expected Awesome Mix, the speakers gave off an annoying bleat, warbling between two discordant tones and no doubt spoiling the mood.
What you likely heard was the Kansas City standard, an early attempt to provide the budding microcomputer industry with a mass-storage standard. It was successful enough that you can still find KCS tapes in need of decoding to this day. That job would be a snap with a microcontroller, which is exactly why [matseng] chose to do it the hard way and built a KCS decoder with nothing but discrete components.
The goal was to decode the frequency-shift-keyed (FSK) signal into an 8-bit parallel output, and maybe drive a seven-segment display as the characters came off the tape at a screaming 300 baud. Not an IC is in sight in the schematics; as [matseng] says, it’s nothing but “Qs, Rs, and Cs.” All the amps, flip-flops, and counters needed are built from a forest of transistors, and even the seven-segment display is a DIY affair of LEDs in a 3D-printed and hot-glue frame. The video below shows the display doing its best to show the alphanumeric characters encoded on the audio tape. And for who absolutely need a dose of Arduino, [matseng] used one along with a dead-bug low-pass filter to emulate KCS signals, for easier development.
We always appreciate hackers who take the road less traveled to arrive at a solution, but if you’re pressed for time to decode some KCS tapes, fear not – all you need is a PC and Audacity.
29 thoughts on “Reading Old Data Tapes, The Hard Way”
Looks like he would be really skilled in building a nmeumonic memory circuit using nothing but stone knives and bear skins!
easier with a one inch cube of platinum ;-)
Just don’t try to use bear skins with Intel processors – bears are big-endian.
Remembering when the computer trinity use to use cassettes. And now they’ve all grown up and become enterprise archival mass storage.
I remember using tapes with my speccys, electron and Orics as a kid because I couldn’t afford a floppy drive, now a good LTO-8 tape drive costs much much more!
In Poland at the end of the eighties one of the state-run radio stations actually broadcast computer programs for people to record them and use them with their microcomputers (Spectrum, Atari and Commodore). Given that the standard tranmission speed for tape storage was 600 baud, the broadcast could take quite a while. So each Friday, at four o’clock in the afternoon, you could tune in to a popular radio station to listen to twenty minutes of ‘bleating’.
And yes, I did listen to that when I could only dream about having a computer. But just a few years later I had my own 65XE with the tape recorder and a rack full of ever-lengthening tapes… But I did not record the broadcasts – who needed some lame educational software when I could pirate GAMES?
still avlaible here in italy radio RAI:
First episode @10,00 min spectrum-@15,00 min Olivetti M10 and @ 25,00 commodore 64.
Thanks guys for the job this arrive from 1984
Have a fun
Or I can just plug it into my TRS-80 Model 100. It still works.
A TRS-80 is on my list of “machines to buy some day” together with the Apple ][e, PET-2001, SOL-20 and an Altair and/or IMSAI
You better hurry purchase those!
I heard they stopped making them!
Wonder if I still have the tapes in my attic! Do they still work?
Yeah I even tried to play these to a friend down the telephone without success but I did read that others succeeded. Maybe there were filters or a mux in my phone line limiting the bandwith. It was fun though.
I got excited when I saw the heading, and then found out it was cassette tapes… I’ve got quite a few foot wide ones here I’d like to be able to read.. :-)
“an annoying bleat, warbling between two discordant tones”
Kansas City Standard used 1200 and 2400 Hz, which are in no way discordant.
Which is such a strange choice, given that it’s really easy to get second harmonics / octaves out of distortion. There must’ve been a reason, and given the 1970s, it was probably parts-count.
The idea was to have each bit be an integer number of cycles. I’m sure the choice of 4 or 8 cycles instead of using a different frequency and something like 4 or 7 cycles came down to parts count.
That was one of the main criticisms of KCS – if your cassette recorder had significant distortion, it was possible for the 1200 Hz tone to have high enough 2nd harmonics to show up as 2400 Hz. But in practice, it wasn’t actually a problem, and there was a significant parts advantage since once you had the 2400 Hz, it was just one more flip-flop to get the 1200 Hz.
But oh, never mind that – after reading Bill’s comment, I realize that this was being done in software, so flip flops don’t count. It’s all about getting it into a small piece of code, since that code had to fit into the same 4 kB or so, along with your programs.
Okay, I get wanting to build things with discrete components, but 3D printing your own 7-segment LED displays? Now I’m going to have to do that.
Oh, wait: but it’s only REALLY retro if you build an AVR microcontroller out of transistors to run the 3D printer.
Actually the display was out of necessity – I discovered a day before the RetroChallenge deadline that I only had 2,3 and 4 digit displays in my displays-box. And I *really* wanted a single digit display. But I think it turned out rather well fitting in the clumsy homebrew retro style of the rest.
Well, nice job all around.
In my days we used pen and paper and transcribed 300 baud transmissions by ear.
You used to have to do that to pass your BASIC license exam. And of course be able to send back at 150 baud.
Kids these days and their no-code coding!
Not to cast doubt or anything, but in my class, hardly anybody was able to write it down, at even 110 baud. You may have old man memory corruption.
I really like the build approach – building each block in the block diagram on a separate module, kind of like integrated circuits. Pretty, especially the display.
I tried out vinyl to c64, that worked great. Minidisc to c64 does not work, guess the compression messes it up.
CD should work, though.
Wow, this guy really knows his analog electronics. Impressive.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)