1.
Ravi's SCI0 Sound Resource Format seems to have a small typo:
The fact that F8h waits F0h ticks makes me think that E9h is the largest technically allowable delta time.
Should be:
The fact that F8h waits F0h ticks makes me think that EFh is the largest technically allowable delta time.
The meaning of that value is F0h - 1, which is EFh, but can be easily mistaken for E9h.
Note: when I read this sentence (a few times...) it made perfectly sense for me. I only discovered it when some file failed with the assertion that I wrote that the value should be <= E9h.
2.
Ravi's spec states for SCI0 early - Header (kq4, 1988 xmas card):
The lower 4 bits specify which drivers should react on that channel. Bit 0 set means AdLib shall react. Bit 1 set means PCjr shall react. MT32 will react on all channels. Bit 3 signals the control channel.
What does Bit 2 mean?
I think it's PC Speaker, because:
- It should be there somewhere...
- In a few files that I have checked, there was exactly one channel with Bit 2, which looks typical for the PC Speaker
3.
Regarding "SCI0 Early" - it seems that both SCI Resource Viewer and SCICompanion have problems with it.
When loading sound.001 from Kings Quest 4 1.000.111 (attached), SCI Resource Viewer thinks that it supports the following devices:
MT32, FB01, Adlib, Casio, Tandy1000, PC Speaker and "7".
That list seems to be too long, according to the possible devices in the SCI0-early spec.
Furthermore, it reports that PC Speaker uses channels 1, 9, 11, 13, 15 and 16; which of course, doesn't make sense as well.
However, when this file is loaded with Sounder (
https://github.com/adventurebrew/re-quest/blob/master/tools/sci/sounder.py), it reports only PC_JR, SPEAKER, MT_32 (and CONTROL CHANNEL); and the PC SPEAKER is using only channel 1.
Note:
So far I had the impression that SCI Resource Viewer is a perfect tool. It's interesting to find a bug in it, even if minor