Greetings, and today is one of those LGR things where we don’t ask “why,” but instead ask “why not.” Cuz we’re gonna be loading a PC game from quarter-inch reel to reel audio tape, simply for fun because we can. All we’ll need is a tape recorder, some blank tape, a suitable audio cable, and a computer capable of playing and recording 8-bit PCM audio in mono at 22 kilohertz. Now, obviously there’s no practical reason to do this, and if you’re familiar with 1980s
microcomputers then you already know they can load programs from tape. Being a cheaper alternative to floppy disks, dozens of classic computers were designed to use audio cassette tapes as their primary method of loading and saving data. Even the original IBM PC had a cassette port, so loading personal computer software from cassette is nothing new. Or even vinyl, there have been a number of flexi disc and other records released containing KCS-encoded data in audio form. But using reel to reel tape? Now that’s even more exciting, being a costlier enthusiast format that no home computer user would bother wasting for data storage back in the day.
Business and government mainframes, sure, those often used tape drives with reels housing half inch tape. But the way those wrote data isn’t quite what we’re doing today, despite some aesthetic similarities. Instead we’re gonna be recording and retrieving data using a variant of the Kansas City Standard. Also known as Byte Standard, KCS was a recording method designed for early personal computers to store data on compact cassette tapes, a standard first introduced in 1975.Speaking of 1975, that’s also when this tape deck was made!
This is a Tandberg 10XD, which I’m using not only because it’s also from 1975, but also because it’s a machine that can record to 10.5-inch reels at a transport speed of 15 inches per second. So it looks great on camera with those huge metal reels, and it’ll sound great too, with 15 ips being way better than the Kansas City Standard was ever intended to use. For reference, typical cassette tapes have a transport speed of just 1⅞ inches per second, so having 15 ips at our disposal should be fantastic for reliable data storage. On that note, the media I’m using is a brand new 2500ft reel of Recording the Masters SM911 quarter-inch tape.
It’s a nice 1.97 mil, high output, low noise tape that sounds excellent with music and sound recordings, so it should be absolute overkill for storing data. Just gotta string it through the tape path and get it queued up here, and we’re pretty much ready to go on the tape side of things. On the computer side, I’m going with the LGR Megaluminum Monster, which is a Windows 98 PC with a 1 gigahertz Pentium III and 512 megs of RAM. And I’ve got a couple of them installed here, but for this project I’m using the Creative Sound Blaster AWE64 Gold.
The RCA output plugs directly into the reel to reel’s line in, and output of the reel to reel goes to the line in on the sound card. With a quick stop in the middle to plug in some speakers so we can actually hear what we’re doing. And by the way, magnetic weirdness is always a concern with tape, but what’s going on here is fine. Those little speakers are magnetically shielded and I don’t have the reel to reel right up against them or the monitor anyway, so yeah.
The bigger concern is getting a clean audio signal between the computer and the reel to reel, and my biggest worry was that the
AWE64’s line in recording might be too noisy. The only way to know for sure is to give it a test, so let’s hop into a DOS prompt and run KCS08. This is a program that handles Kansas City Standard cassette recordings, where you can take any file and encode it as audio, and also decode KCS audio and convert it to data. Even though it was designed for cassette tapes, there’s no reason it shouldn’t work on reel to reel. Just as a quick test though, I typed up a small document in MS-DOS Edit and saved it as a TXT file. Then it’s onto KCS08, with the command for encoding being “KCS -U -M -Y”. This makes a WAV file, ignores errors, and enables 1200 baud mode.
KCS normally encodes at 300 baud, or 300 bits per second, but that results in recordings four times as long, so, screw that. And yep, that’s it! We’ve now got a WAV file that’s eleven seconds long storing our test text file in audio form, which sounds like this. This works in a similar way to serial modems, where each binary bit of information is stored using audio frequency shift keying, or AFSK. Basically lots of 1s and 0s represented by really short sine wave cycles in quick succession.
And now we can play it back and record it to tape. Cool Edit 96 is my audio program of choice here, since I’ve used it for decades and I know it does exactly what I need. You could just as easily use a DOS audio program and do this whole process on an even older computer if you wanted, but I’ve got Windows 98 on here so why not. Just gotta make sure it’s playing back as loud as possible on the computer side, and not completely blowing things out on the tape side.
I’m also not using any noise reduction, we’re simply going’ in raw. After a couple of volume checks, it’s time to record some data!
Sweet! We now have a file on tape, and getting it back on the PC is as simple as re-recording our recording with the same parameters KCS expects. Which is an 8-bit WAV file in mono at 22kHz. This version of Cool Edit isn’t set to display the waveform as it’s recording, but once it’s done, there we go! We’ve got a recording of a recorded recording. Nice. Just gonna trim the file to remove the sections without audio, save that, go back to KCS, and now we can decode it back to a text file.
The command is about the same but in reverse, going from WAV to TXT. Didn’t get any decode errors, so that’s promising. And would ya look at that? A text file saved in DOS, recorded to tape, played back, and loaded back in DOS again! The only bit of weirdness is this random block at the beginning of the text file, that wasn’t there before. I went back and re-trimmed the recording and adjusted the volume a bit to see if that made a difference, but nope. Still got a random block of text at the beginning of the file either way.
I’m not sure what that’s about, or what it means for storing a whole program. Only one way to find out though, so let’s go back, rewind to a good spot, and record a full PC game on reel to reel tape!
So, my immediate choice for a game to record was Doom. Because of course, who wouldn’t wanna load Doom from a big ol’ 10-inch tape machine? Problem is, encoding Doom to KCS results in a ridiculous 5 hour, 24 minute WAV file, even at the faster 1200 baud. And that’s the two megabyte compressed shareware version of Doom, not even the full game, so both are outta the question.
Even if we weren’t recording at 15 inches per second and went all the way down to 3 ¾, that’d still only get us around 133 minutes per direction on our 2500ft reel. So we’ve gotta think smaller, way smaller, in terms of game size. And because I don’t wanna be here all week I’ve chosen to encode Kingdom of Kroz by Apogee Software. For one, it’s only 52.4 kilobytes, and for two, the entire game is packed into a single executable. I didn’t wanna record multiple files or compress things into a ZIP if I could help it, so this works nicely. And using the same KCS settings as earlier, our 52K game has resulted in an 8 minute, 12 second WAV file. Heh, yeah. 53,707 bytes loading at 1200 bits per second, watch gonna do?
And for ease of use I made some batch files to make the encoding and decoding a one-click process under Windows Explorer. And yeah, at this point it’s just the same thing we did earlier, but 8 minutes longer each way! Again, I really wasn’t sure how well this would work since 8 minutes is plenty of time for errors to crop up, either introduced on the PC side of things or the reel to reel side. I mean, Windows 98 PCs and Creative Sound Blasters aren’t exactly known for their noise-free audio, and the Tandberg 10XD may be in good shape but it’s still 46 years old so you just never know.
That being said, the recording process went just fine so all that’s left to do now is to rewind it, record it back to the PC, and see how it goes! I adjusted the input volume beforehand this time so the resulting WAV file was maxed out, making it look even more similar to the original output from KCS. Now for the decoding, which only takes a couple seconds thankfully. And check it out! 53,708 bytes decoded with 1 decode error. If you’ll remember, the original Kroz file was 53,707 bytes, so we’ve picked up a stowaway somewhere along the line. But whatever let’s run it anyway.
-Oh my goodness.
Aha man, it worked! Despite the extra byte latched on somewhere, I can’t see anything wrong with the game at all. I assume that there’s something similar going on to the text file we tested, where there’s just an additional weird character tossed in there somewhere. And like, I can’t imagine that’s a good thing right?
But it certainly doesn’t seem to have affected the game at all. It runs, plays, looks, and sounds as it should. [chuckles] Fantastic stuff. PC games on reel to reel tape, what in the world. Granted, at this speed the maximum size we could fit is only 230 kilobytes per direction, at least at a tape speed of 15 ips.
Now obviously you can store more data at slower speeds and use longer tapes, but it’d be supremely cumbersome, with more room for error and truly ridiculous loading times. And you could also use a terminal program instead of KCS08 and load data more directly from tape instead of converting recordings back and forth. And there’s nothing stopping you from doing all this on a modern system either, it’s all just binary data moving over audio cables, so as long as you’ve got some way to convert from one to the other then hey, go wild. But that’s starting to enter the areas of practicality and halfway reasonable usage. And suffice it to say but this video was by no means intended to show anything practical or reasonable.
This was simply an LGR thing for a bit of fun, and one example of something that can be done with old data storage standards using equally old tape recorders. Making PC game tapes is admittedly not why I got into reel to reel equipment after all. It’s much more about playing back hours of high quality analog music on tape and experimenting with multitask recording and all that stuff. So I’m gonna go ahead and hook it back up to the main stereo now. But I hope that you enjoyed seeing this bit of computer silliness anyway. And perhaps give it a try if you’ve got an old tape deck lying around, reel to reel or otherwise. For the time being, I can think of no better way to end this than leaving you with a direct 15 ips reel to reel recording of canyon.mid.
Comments
Post a Comment