A random music generator for MSX on a Japanese vinyl record

Another vinyl with a program? You bet! This time, it’s Digital Soundology #1 – Volk Von Bauhaus. One thing to note (I got caught by it): the recent reissue doesn’t contain the program.

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 reissue sleeve

The 1985 version with the program

The 2020 version with another bonus

In practice, since it’s a Japanese record, I looked for the record in Japan, without its 1985 version. If you want to listen to it, it’s available on YouTube. As for the code, I was greatly assisted by this thread, which provided some clues about the content. It’s actually BASIC that’s recorded, but for a specific MSX model (a Yamaha model, the CX5F) with a specific audio card (YRM11).

The note explains how to run the program

But it was… a bit complicated. The audio files were somewhat legible but with some errors. To correct the BASIC, I resorted to a brute force method: save several times and hope to have enough valid code.

Loading multiple files

First step, add an interface for a floppy disk drive (Sony HBD-F1) and a disk image, built with DiskManager. Then I loaded the code with the emulator (set to the Yamaha CX5F), loaded the code (CLOAD), and saved the code (SAVE"filename.bas",A). In the end, I ended up with several usable files. Then, I corrected the code (I’ll spare you the details, but it was only four or five errors). Once the corrections were detected, I loaded the best file, made the corrections, and saved everything in a new audio file.

The program managing the disk image

The correction

The result? A program that launches. It’s in Japanese, but it’s quite simple: it generates music randomly. You need to load a specific ROM cartridge at startup, the YRM11 (not the same as for the CD Magical Computer Music). Once the program is loaded, it will ask you to enter a number between 1 and 150, and then another number between 20 and 100. These will be used to generate music randomly.

The program

For the video, I tested with three different sets (1/20, 75/50, and 150/100).