Hi,
While doing "sciunpack sound.xxx" with all the games I have, I noticed
some strange stuff. The byte which is use for delay time will somtimes be
0xf8 (or LSL3 sound.213 0xfc), sometimes followed by more 0xf8. This
special chunk ends with a byte which is not 0xf8. If there is a running
status it seems to be carried right through this chunk. I ignore this as a
delay = 0 in my latest midi.c
In SCI01 this special stuff seems to be very common. When I disassembled
the MT-32 drivers I worked my way up from the low level stuff, if someone
who know the high level sound event processing in SCIV could take a look
at this it would be very helpful.
All info on SCI01 (same as SCI1?) sound resources will be helpful.
I know what the 0xfe sample chunk looks like.
!!! GET THIS ONE NOW !!!
There is a new midi.c at http://www.dd.chalmers.se/~rpl/sci/midi.c.gz
Features:
* No delay bug (SQ3 intro)!
* Pretty good instrument mappings
* Rhythm channel note volume using velocity=volume*velocity/100
* Masks channels targeted at non-MT-32 synths, just like Ravi's spec
describes
* Will play music ~95% correct (i hope)
* Tested with: Camelot, iceMan, KQ1, KQ4, old LSL2, LSL3, HQ, CB,
PQ2, Hoyle and the old Christmas Card
Todo:
* Move some percussions, like the cymbals in KQ1, to rhythm channel.
* Rewrite, the code looks ugly
* SCI01
/Rickard Lind