
 1. About

 QPIEMU is a JLM that partly emulates the Qemm API (QPI). Its
 purpose is to provide the IO trapping part of QPI, for better support
 of sound card emulation in DOS.


 2. Install/Uninstall QPIEMU

 QPIEMU can be installed either as a device driver in CONFIG.SYS:

   DEVICE=JLOAD.EXE QPIEMU.DLL

 or as a TSR from the command line:

   JLOAD QPIEMU.DLL

 To uninstall, use JLOAD's -u option:

   JLOAD -u QPIEMU.DLL


 3. Using QPIEMU

 Once QPIEMU is installed, tools that use the QPI ( i.e. SBEMU )
 and hence usually require Qemm to be installed, should run with
 Jemm386/JemmEx.


 4. Technical Details

 QPI is a "real-mode" API, hence if addresses are used, they are in
 segment:offset format.

 The part of the supported QPI is:
 
 AH=03h, QPI_GetVersion
 AX=1A00h, QPI_UntrappedIORead
 AX=1A01h, QPI_UntrappedIOWrite
 AX=1A04h, QPI_UntrappedIO
 AX=1A06h, QPI_GetIOCallback
 AX=1A07h, QPI_SetIOCallback
 AX=1A08h, QPI_GetPortTrap
 AX=1A09h, QPI_SetPortTrap
 AX=1A0Ah, QPI_ClearPortTrap

 However, the way to get the address of QPI itself differs in QPIEMU:
 an INT 2Fh, with AX=1684h, BX=4354h has to be called. If successful,
 It will return with AL==0 and the QPI entry point in ES:DI.
 

 5. License

 QPIEMU is Public Domain.

 Japheth

