The Thompson Twins Adventure: The ZX Spectrum Game on flexi disc

The Thompson Twins Adventure is a fairly well-known game on vinyl, and for good reason: it was offered with a quite popular magazine in the 1980s, issue 36 (October 1984) of Computer & Video Games, in the UK. It’s thus on a flexi disc.

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 Wikipedia page is quite comprehensive: it’s a game based on a track (Doctor! Doctor!) by the Thompson Twins group. It’s not directly a program placed on a music record, but it’s quite close. It’s a poor game (as we’ll see) for the Sinclair ZX Spectrum, very popular in the 80s across the UK.

The cover

My copy isn’t great on the cover, but the flexi disc (a recording made on a flexible vinyl sheet) was somewhat legible. It’s obviously not an exact science: flexi discs are quite fragile and even with a new disc, the quality remains quite low. For reference, a copy of the magazine can be found here.

The disc (scanner glass is dirty)

The presentation page

A (Very) Complicated Retrieval

As it’s a flexi disc, it’s a bit complicated. In practice, I changed the stylus on my (quite basic) turntable and tested about forty different ones. First point, the program is quite long: about 3 minutes and 45 seconds of data. After many attempts, I had managed to isolate the third part of the program (there are three) by retrieving it from one of the successful attempts, as with this Polish record. The tools I use (tzxtools) make this fairly easy.

For the second part (very short, 256 bytes), one of the recordings worked after a filter (low-pass or high-pass, I didn’t note it), so I also isolated this part. What remained was the last part (well, the first). In many of my attempts, I had a CRC error but also a capacity that wasn’t correct: the header gives the capacity in bytes and I had a value too low. But in one of my attempts, I ended up with the correct capacity but a CRC error, which essentially implies one (or more) very occasional errors.

So I tried manual correction, visually identifying two peaks (with Audacity). For brief and occasional errors, this can work: I copied a sequence with the same length to replace the errors. Given the length (two to three bits), the replacement works if you have a clean signal. You just need to try the few possible combinations, and it’s possible to visually exclude them. By zooming in well with Audacity to try to reduce the offsets, I corrected the two blatant errors (two peaks) and it worked: no more CRC errors. And then I simply reconstructed a complete file with the result.

Two clearly visible peaks


The peak shows an error in the signal


I pasted a clean sequence and the slight offset is compensated for by the program

It may obviously seem simple with the explanations, but it’s a few hours of various trials and a bit of habit nevertheless. Plus the fact that I was really in an (almost) ideal case: two very visible errors.

The Game

The game itself is quite poor (crap according to Wikipedia). It’s a text-based game with some static screens, rather ugly. I completed it for the video, but using another video as a base. One thing to note: the available solution is for the Commodore 64 version, so some screens are different. I took the opportunity to create a solution for the ZX Spectrum version, which I will publish later. Lastly, the video was sped up (2x) to make it somewhat bearable: the game is quite slow, and I’m not sure if it’s due to the emulator or the game itself. But when typing a command, there’s a significant delay (several seconds) before it relinquishes control to type another command. Also, it obviously expects English on a QWERTY keyboard, so it’s not great with a French keyboard (I corrected my typos in post-production).

The beginning


The end

To conclude, a small note: it also exists for the Commodore 64 but it’s rarer. The magazine was indeed offered with the ZX Spectrum version, with the option to order the flexi disc for the Commodore 64 version. I’ve never seen it, but it exists (the ROM can be found).

The coupon