At first sight
The schematic
The power supply
The microcontroler
The synthesiser
The ROMs
Code and memory maps
AVR cartridge
CPLD cartridge
Converting sounds
Creating the ROM
Converting sounds

As surprising as it may seem, the only viable solution that I found to convert audio files to LPC is to use a very old software called QBoxPro, originally created for Windows 3.1. Don't believe those who say this software was used for the S&S ROMs, Windows 3.1 was released in 1992.

This software processes 16bit mono wav files at a 8kHz samplerate, it's necessary to record the words in this format. Audacity or Goldwave for example are able to.

It is possible to find utilities capable of generating LPC data, but not in the appropriate format for S&S. Some of you may possibly be interested in MATLAB sources and academic literature available on the topic to write your own converter. I certainly won't !

I've decided to use the software as such, but a problem arose. While some were able to prove that it worked under Windows XP x86, it was impossible for me to run the 16bit binary on my x64 Windows 7. I had to use the DOSBox emulator.

Of course, it's not provided with a copy of Windows 3.1, the original installation files are required (hint: torrent of the original disks are everywhere). Once obtained, all the files must be under one folder (I'll use d:\win31), which has to be mounted in DOSBox to start the installation by typing:

mount c d:\win31

After following the steps of the short installation, DOSBox can be closed and the QBoxPro files can be copied to another folder (I'll use d:\win31\qbox). It's also a good idea to make another folder for the wav and generated files. The DOSBox configuration file can then be adjusted to simplify the launching of Windows. These following lines can be added at the end in the [autoexec] section (which should be normally empty):

mount c d:\win31


>After saving the configuration file, DOSBox can be started again. It's now possible to launch Windows in the already mounted c: drive by typing "win".

Launch QBoxPro from the File Manager and ignore any warnings caused by the lack of audio driver, and close it.


Find the file c:\windows\QBOXPRO.INI, open it and replace the value LPCNB in [QBox_method] by 10 instead of 12. This is the number of filter parameters, which strangely can't be changed in the software.

LPCFL = 160
LPCNB = 10

Restart QBoxPro.


Create a new .spf project in the folder where the wav files are.


Choose a byte alignment, a sampling frequency of 8kHz and the TMS5220 table (closest to the TMS5100).


Select "Add file" and select the .wav file.


Choose Process > Medium Bitrate and click OK (note that "Number of LPC coeffs" must be a 10 after the modification of the .ini file), leave the other default settings.


Let the software do its magic...


Choose Edit > Concatenations, and Insert > New Concatenation in the new window. Enter the word.


Choose Insert -> Add phrase leave the default settings and click OK.


Choose Format: LPC 10V 4UV. This will produce the LPC file of interest. Save the project by choosing Project > Save.

We end up with various files generated in the project folder, the one we want is the .bin. It is possible to listen to the LPC data with the DCExelVox utility available on this page.

These files contain data which could be fed to a TMS5220 synthesizer, but there is a problem: the TMS5220 uses 6 bits for the pitch while the S&S's TMS5100 uses only 5. There is a discrepancy in the bitstream, which would produce garbled sounds.

We need to use a conversion utility to change the pitch of frame from 6 bits to 5 bits, and thus produce data suitable for the TMS5100.

symbol symbol symbol symbol symbol