On Tue, 4 Jan 2000, Ravi wrote:
> Hey,
>
> > 0xfc is also a system real-time MIDI message, but it does follow a delta
> > time value.
>
> It doesn't have to, though, according to the Adlib driver. In any case, I
> think I was wrong about the use of 0xF8 as a real-time sync message.
> Instead, it may be a way of allowing delta times to be any length. The
> sequence F8 F8 78 ends up waiting 600 ticks, but that isn't possible in the
> usual byte allocated for delta time values.
My guess would be that the upper limit of normal delta-time byte is < 0xf0
and that n, the number of 0xf8, is multiplied with 0xf0.
ticks=n*240+last_byte
> > I don't recall seeing the MT-32 driver atcually dump the 0xf8 through the
> > midi port.
>
> Hopefully this confirms my hypothesis of a delta-time extension. As more
> evidence, the Adlib driver doesn't even check for 0xF8 after a normal delta
> time value is read.
Ok, in KQ1, which is AFAIK the only SCI0 game which has samples, the first
byte after 84 00 is 2 (I think) in the sound resources with samples. After
the ending FC comes a sequence like this:
1A 00 01 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? <sample rate (16-bit word)> FF
00 FF 2C 00 00 00 00 00 00 00 00 00 00 00 <sample length (16-bit word)> 00
00 00 00 00 00 00 00 00 00 <unsigned 8-bit sample data>
I've figured out the structure of SCI01 sound resources, I'll post a
description later this day.
/Rickard Lind