On Mon, Mar 05, 2001 at 04:15:25PM -0500, Ravi wrote:
> Since the Adlib must do mapping between MIDI and hardware channels, patch
> information gets loaded on the fly. The DoSoundEvents call (subfunction 8)
> calls PatchChange (at offset 0x1B98). PatchChange makes two calls that look
> suspicious, though I never explored them. The first is to 0x1F2C, and the
> second is to 0x2385.

*nod*   I have a pretty good idea of the Adlib internals from the
YMF3812 emulator from MAME.  Using that emulator will make things pretty
simple as all we really need to do is translate the midi events into
patch loads & note playing...
 
> If I were looking for what the driver does with patch data, I'd check those
> two functions out.

Hmm.  Thanks for the pointers..  that's exactly what I needed to know.

> [1] - The patch consists of 48 instruments of 28 bytes each. The file may
> either end there or hold the magic number 0xABCD (stored big-endian as I
> recall). If the magic number is present, another 48 instrument definitions
> follow. The magic number is not transfered into the array at 0x0CB4.

Yeah. I gatehred this much from my poking around in the patch file..
This morning I wrote a little perl thingey to exdtract 'em out for me.
Not that I can do anything with 'em yet.  :)

 - Pizza
-- 
Solomon Peachy                                    pizzaATfucktheusers.org
I ain't broke, but I'm badly bent.                           ICQ# 1318344
Patience comes to those who wait.
    ...It's not "Beanbag Love", it's a "Transanimate Relationship"...

Reply via email to