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



Reply via email to