A program for Atari on vinyl (and on Apple Music)

It was a long time ago that I talked about a ZX81 game on vinyl. And this time, I stumbled upon an Atari (8-bit) program on vinyl… and also on iTunes.

Instead of repeating all the previous articles each time, I’ll refer you to the dedicated page, which explains what I do with vinyl records and lists all the pages containing programs, explanations, etc.

 

The program is found on the vinyl record Över Tid Och Rum by Adolphson-Falk. I found my copy on Discogs, directly from Sweden (the group’s country of origin). I didn’t discover this alone: I relied on the work of a Swede (Andreas Nilsson), who published the information and uploaded the ROM. You can find his explanations in Swedish or in English (under Projects).

The record cover


The back clearly mentions Atari

I still find it interesting to explain how I did it. Firstly, I used a vinyl turntable with a USB output (a Sony PS-LX300, an entry-level model). I’ll spare you the numerous attempts and get straight to the point: the USB part doesn’t allow for adjustment of amplification, and the sound is too weak to directly decode everything.

Initially, I tried using a microphone input, but it wasn’t the best solution and I encountered more errors. After quite a few attempts, I used Audacity and applied some filters. Once the data was recorded, it was necessary to filter the data below ~3900 Hz and above ~5350 Hz (high-pass and low-pass filters). Why? The data recording is done with a 1 at 5,327 Hz and a 0 at 3,995 Hz. Then, I amplified and tested. In my case, I had to amplify by 30 dB for a valid result. Once that was done, I saved it in mono and in WAV format.



The next step is conversion to .cas, the format accepted by Atari emulators. I first tried A8CAS, which has the advantage of working on macOS. However, I still had to compile the necessary libraries, but it worked. But with my recording, it doesn’t decode correctly. So, I tried WAV2CAS. It’s not very practical because it doesn’t work with 64-bit Windows (it needs to use 16-bit components) but it works with 32-bit Windows. After using a virtual machine, I finally got my .cas file. The program gives errors, but it still launches, so I suppose it must be trying to process data that is at the end of my recording.

The emulator

This is more complicated. I don’t have an Atari 8-bit and I’m not very familiar with the machine. I first tried on macOS with Atari800MacX. Be warned, you’ll need the ROMs. The problem is, even emulating an Atari 600XL… it doesn’t work. The CLOAD command doesn’t load correctly. I tried Rainbow with the same issue on macOS, before switching to Altirra on Windows. With the latter, it works. I can load the ROM (with the CLOAD command) and then run the program (RUN). There are visual artifacts, but a Warm Reset fixes everything.

Before


After

So, it works, whether with the version provided by Andreas Nilsson or with mine, recorded from the vinyl. This video actually shows that it should work with a real Atari (well, I think, it’s quite blurry to be a direct copy). Interestingly enough, I don’t get the same effects, so it’s possible that the emulator doesn’t work correctly with this file. Anyway, I get this in my emulator.

And the Apple Music part of the title?

The amusing part is that the data is available on iTunes. You can go to this page and the album is available on Apple Music. It only works in Sweden (well, at least not in France) but that’s not a problem for a simple reason. The data track lasts less than 30 seconds and therefore it is fully available as a preview on the Apple website. So, all you need to do is record the stream with Audio Hijack to get a clean copy. By just applying the same high-pass and low-pass filters, I got a usable .wav file with A8CAS. The result is the same with the emulators, though: it works with Altirra, not with the others.

For those interested, the Atari encoding dates back to the late seventies and therefore it’s not very efficient: we have about 30 seconds of signal at 600 bauds (600 bits per second), so roughly 1 kB of data (in CD format, my files are ~3 MB). We’ve seen more efficient methods, obviously. It’s just a demonstration here and not a game, but it’s still an interesting anecdote.