[jazzy intro tunes]
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. See my build
video for more details on that, but the main thing that matters is the sound card. 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.
[loud tape data is loud]
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 goin’ in raw.
After a couple of volume checks, it’s time to record some data!
[loud tape data is still loud]
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!
[tape stops rewinding, music fades]
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, whatcha 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 multitrack 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
computery 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.
[play button clacks, begins playing]
[canyon.mid tape recording plays]