SQ80 ROM extraction issues
Posted: Fri Jun 29, 2018 12:41 pm
I've had a look into this as well. I did the calculations of the first 3 waveforms from ROM#2 (According to the spread sheet) by hand, and this is the strange result (that the extractor also read):Spogg wrote:Now onto the problems with the other ROMs.
Yesterday I spent some hours on this and I’ve come to the conclusion, very reluctantly, that either the spreadsheet is messed up for ROMs 2-4 or the file contents don’t match the spreadsheet (more likely).
Here’s what I did:
I checked my method of csv extraction from the spreadsheet by re-extracting the ROM 1 files and got the same results as you, so I know the csv files for the other ROMs should be ok. Plus, your tool extracted the expected number of waveforms from each ROM, as per the spreadsheet, and the file sizes were correct, even though some extractions contained 2 or 3 three complete “waveforms”. So your tool and my csv files are not guilty.
The contents of the files were certainly not as expected! ROM 2 contained sounds that should not even be in ROM 2. So I assumed the file names for the ROMs were misleading me. So I used each csv file for all the ROM images 2-4 and none of them produced the range of expected sounds. I base this on the obvious sounds; one-shots and the Attack sounds, such as “bowing” and percussion. The single cycle sounds were not possible to identify clearly of course. Also the loop points chosen for some vocal sounds were not good, which is very unlikely for a commercial product. I was able to find better loop points myself!
As an example I found the 2 bowing sounds in ROM 3 image, not in ROM 2. I did this by manually extracting the obvious sounds from the whole ROM images, and also comparing with those AIFF files (these seem to be accurate BTW).
Also I wondered if the first wave in the extracted files was always correct and maybe it was my interpretation of the WSR value that was wrong, but even this isn’t the case. The first waveform, where there are 2 or more included, was wrong too, and that one is taken from the base address.
My suspicion is that the spreadsheet was obtained by reading the OS ROM (which is where the index values and names etc must reside) but the ROM images have not been made correctly. I plan to look more closely at ROM 1 today (jeez I hope that one is ok!).
Just ask if you need any more info about this…
Cheers
Spogg
- Code: Select all
bowing.1
start 0
length 16384
plunk
start 10240
length 2048
plick
start 12288
length 4096
But where exactly did things go wrong? For example, bowing.1 has an index of $52. In the first spread sheet, the wave "bowing" uses $52 (=bowing.1) for the first few keyzones. And that does make sense. This is really weird. How long is bowing.1 in the aiff files?