Cassette-based multimedia! Can you learn a foreign language using BASIC?
Welcome back to my Atari 8-bit computers! Okay so first off it’s been over two years and I still haven’t fixed the floppy drive. But I have different magnetic media to talk about today! And we’re going to use this 8-bit computer for something other than games! Look forward to it!
The Atari 410 Program Recorder
On the beautiful Apple ][plus, cassette input is handled in the most basic way possible (pun not intended). Essentially, there are two audio inputs and outputs. The inputs are fed to a comparator to make a digital signal; the CPU does all the work. (It’s worth noting that the CPU doing all the work doesn’t necessarily make things slow; on the Apple ][ the CPU always does all the work)
The Coleco Adam, which I don’t have, had a unique approach where the tape drives were fully controlled and integrated into the computer, which handled things such as rewinding and playback all in software. It also used special hard-sectored cassettes, and would issue an electromagnetic pulse on startup that rendered any cassettes left in the drive unusable. Nobody wants to be like the Coleco Adam.
The Atari 410 takes an “in-between” approach. While it does require a special Atari-made cassette drive, it still has manual controls. The software only has very limited control; when you press “PLAY” down, the tape won’t spin until the computer accesses it. But the computer can’t turn on the motors itself if you don’t press “PLAY”. Same for recording. This prevents any accidents.
Cassette input is mediated using the system’s POKEY chip, which contains analog-to-digital converters (the POtentiometer part of POKEY) and also can produce waveforms for sound output. These skills are very useful in reading data from a cassette and writing it out, as well as for serial communication; thus, cassette input is handled by the SIO port on the rear of most Ataris. You can see it extending in this old photo.
You might note that Commodore did a similar thing, requiring only own their C2N Datasette to be used for their 8-bit computers, which communicated digitally with the main computer. And in fact, while on the Commodore there is a separate cassette port, and on the Atari it’s integrated with the SIO serial port, these aren’t that different; the SIO port contains a special MOTOR line that is only used for cassette motor control. Thus, unlike all other SIO devices, you can’t daisy-chain; the 410 (and all later Atari cassette players) must be the last device connected. (However, the on-tape storage formats are completely different)
But Atari did do something different from, as far as I know, nearly every other manufacturer with its cassette players for data storage. See that silver line down the middle of the tape head? The Atari players were stereo.
The Atari 400
Now, my Atari 410 wasn’t designed to go with an Atari 130XE. It was designed to go with a machine like this. The Atari 400; truly a wonderful machine. Its keyboard is totally unusable and makes even the SC-3000 seem like a usable input tool, but it looks better than anything. Make a custom keycap set of that please.
The Atari 400 has only an RF output through a hard-wired cable. In 1979, there were no mainstream stereo television broadcasts, so having a stereo output on something attached to your TV would be pretty pointless. Even later machines, like my Atari 130XE, only had mono sound output. (Because it at least has composite, all video and audio capture will be from my Atari 130XE. If you must have the Atari 400 experience, put a noise filter over everything.)
In any case, though, computers weren’t using these cassettes for audio, they were using them for data, right? Using stereo splits your cassette tape into four tracks (two going one direction, and two more when flipped), whereas a mono head has two tracks. Two tracks means more tape is dedicated to each track, so the signal is stronger and more resilient. What was the benefit of the Atari system?
Enter SIO pin 11. Audio input.
Cassette-quality soundtracks!
So, your first thought here might be to consider the later CD-ROM, and imagine a computer game that itself loads into RAM, and then spends the rest of its time with cassette-quality audio. Unfortunately, the details of this feature mean it isn’t quite suited for gaming.
Remember, the Atari 410 has no ability to rewind its tape, only the user can do that. So you’d be playing through a song, once. And the data can only be read linearly, so you’d also have to play through the entire song to load more from the tape. There might be games that could still take advantage of that, but not many. As far as I know, it never happened. But..
This is a computer!
The Atari 8-bit line aren’t game machines. (Though the chipset was designed for one initially) If they were game machines, they either wouldn’t have a keyboard, or would have an incredibly rudimentary sheet membrane… okay, the Atari 400 is pretty much a game machine. But in general, these are computers. This is well before “multimedia” was coined as a term, but with its advanced graphics and sound capabilities, that was what Atari was aiming for. Cassette audio input was another tool in a toolbox.
I could write the blog on my Atari 130XE. I’d have to find a word processor. I’d then have to figure out a way to get the files readable on a modern computer, and then add the images in afterwards (while its graphics were advanced for 1979, you still can’t load a PNG). And running a local browser and webserver to see how the blog will look? Come on, be reasonable. This may be faster than a Commodore 64, but it’s no Motorola 68000. Productivity on 8-bit computers is just hard, because you have to interact with the rest of the world.
So I usually focus on games; I can pick up a controller and play Pac-Man any day, and it’s just the same as it ever was.
But you know what probably hasn’t changed that much since 1979? The German language.
Sprechen Sie Nonsense?
Conversational German is a set of five double-sided cassette tapes, along with a booklet. Unfortunately my copy is in very poor shape, but the tapes are there at least. There are five double-sided tapes, but the standard pack they included has six spaces, so they thoughtfully filled the last one with an ad.
Oh, and funny story about that cover art. It’s designed so that Atari (or maybe Longman, or EMI, who knows) only needed to commission one piece of art for multiple languages. Take a close look and see which languages you can identify! (Click on the image for the full-size)
What’s a foreign language?
So, let’s fire up our cassette tapes, and learn some German. Or at least see all this nonsense I’ve been talking about in action. Excuse my slow typing; the terrible capture setup I was messing with meant I had to face away from the screen to see the Atari’s keyboard, and 400 or XE, that thing is awful to type on on a good day.
This is actually pretty charming, with the ATASCII art being drawn in real time, and POKEY sound effects. A particularly fun part occurs at 1:40, where the program asks your name, but then admits it can’t say it, and plays a little sound effect in time with the tape instead.
You might wonder what happens if you choose to repeat the exercise. Unfortunately, it can’t rewind the cassette; whenever you choose to repeat, it simply replays that section without the cassette audio. There are a few more interactive segments, though they generally boil down to “press 1 or 2 on the keyboard”.
But now let’s say you stumbled and hit the “BREAK” key on your keyboard.
Yep, no wonder you can see everything being drawn in real time. The entire program’s written in Atari BASIC.
A particularly fun thing happens at the end of a section. The way to load tape segments on the Atari is somewhat clunky. You must type “CLOAD”, at which point the system beeps, and then you need to press the play button on the cassette tape, and then press RETURN so the system knows it can take control of the tape drive.
However, at the end of a segment, the program simply beeps and tells you to press return, at which point it starts the arduous process of loading the next segment. How does it do this?
It ends with a CLOAD command! This is the most obvious way to do it, and since the Atari doesn’t print any equivalent to Commodore’s “PRESS PLAY ON TAPE”, it creates something that’s a seamless experience, or at least as seamless as waiting for ages while digital noises play over your TV’s speakers can be.
Anyways, I think that’s the end of this adventure for today. If my Twitter starts speaking fluent German, you’ll know that I finished the tapes and now have no more need for the English language. But until then, auf Wiedersehen!