Ricardo Azzurri and the Recalcitrant MSX Program

We continue with vinyl records, and an Italian variety record from the 80s: Tu Dammi La Metà by Riccardo Azzurri. The record contains a program for the Spectravideo 728, a computer in the MSX standard.

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.

 

For this record, it was… complicated. Firstly, I realized it was a 7-inch record, and I didn’t have the adapter for my turntable anymore. After a purchase, I had what I needed to play the record. I started with some recording and conversion tests, but I quickly realized that the MSX was a bit different from the ZX Spectrum, even though the operation of the cassettes is quite similar.

The cover fits well in the 80s clichés

Then I had to find an emulator. The Spectravideo 728 is a first-generation MSX, quite standard. So, I first tested it with fMSX, a macOS-compatible emulator. It doesn’t require a ROM, but it has a nasty flaw: when you try to type commands, it uses the layout of the machine (the MSX) and not that of the Mac. So, QWERTY, with weird arrangements for ", :, and other ,, which are necessary. You can find the correspondences here, but it’s not very convenient. So I tried openMSX, less well-integrated into macOS (it’s very open source, in the pejorative sense of the term) but effective. Be aware that it requires ROMs (here, I didn’t tell you) which should be located in ~/.openMSX/share (you need to decompress systemroms). The advantage of openMSX (for me) is that the layout of the emulated MSX is linked to that of my keyboard.

Loading a file with an MSX seems a bit tricky. You can type one of the four following commands for a file from a cassette: RUN"CAS:", LOAD"CAS:",R, BLOAD"CAS:",R, CLOAD. On the record cover, they indicate that you should type C LOAD "azzurri" (this is a mistake).

And then it was necessary to try to make a file. I tried makeTSX, which can be compiled under macOS and has a well-made documentation. tzxwav (which I used for the Spectrum). But it was CAStools that worked. The Windows version has a basic interface, but it can be compiled under macOS. Be aware that the classic version of openMSX doesn’t take TSX files, but there is an adapted version.

My problem, after quite a few tries, was that my files didn’t work. The audio files were clean, the extracted data seemed roughly valid (about 8 kB, which is the correct value for a little over a minute of audio at 1,200 bauds), and when I tried to read the content with a hex editor, I did find some Italian texts. After way too many tries, I went to ask the question on a specialized forum. It’s still the best solution when working on a device you don’t know.

I got my answer (thanks Jipe): apparently, there is a header missing in the program. I don’t know if it’s from my recording, the program itself, or the conversion, but when I added the characters proposed by Jipe, it worked. After a few seconds (sped up in the video), there’s an error at line 3000. So you need to type (in BASIC) LIST 3000 to see the line and replace PSETP with FORP. Then, a RUN restarts the program. I suppose the error at line 3000 is related to my recording.

The boot


It’s loading


Again


An error to correct

The program presents the artist and the people who worked on it, with some animations (and some sounds), then there is a bit of music (MSX style). In the video, I load the program (with an excerpt from the first track of the record), I correct the error, and the program reloads around 1:00.