Documentation
Hi, I wonder if you might consider filling out the readme (or creating a wiki) with your impressive detective work.
It is an important source of truth for other projects like emusc, but a lot of information lives on forums like vogons, such as:
The SC-55 wave ROM uses 8.25 bits per sample: 8 bits of mantissa for every sample, plus 4 bits of base 2 exponent (i.e. left-shift count) for every 16 samples. The encountered maximum shift count is ten, making the decompressed wave ROM samples 18 bits wide, even in the original SC-55. Mantissa and exponent are in the same ROM chip. [1]
It would be awesome to have this in one place where the community can also submit PRs.
Or, the lazy way: just link to the vogons thread 😛
[1] https://www.vogons.org/viewtopic.php?f=62&t=76613&start=120
The way I see it, the code is the documentation. None of the steps are really superfluous. I guess it is a little arrogant to expect people to be able to read and understand C, but I don't think it's totally unreasonable.