home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Depot 5
/
mediadepotvolume51993.iso
/
FILES
/
15
/
MMCMP132.ZIP
/
MMTSR.DOC
< prev
next >
Wrap
Text File
|
1996-05-08
|
4KB
|
108 lines
MUSIC MODULE DECOMPRESSOR
TSR VERSION
version 1.32
Technical Information only
If you're seeking non-technical information on MMTSR, please read the
appropriate section in MMCMP.DOC.
When loaded, MMTSR intercepts the "open file" (AH=3dh) and "close file"
(AH=3eh) functions of INT 21h, unless it is turned off (MMTSR off). It also
provides a few interrupts to help other program to deal with MMTSR. Those
functions may be called whether MMTSR is actived or not. They those are
called via INT 21h, with AX=437xh. As a convention, EVERY function, unless
explicitely specified, returns with:
no error:
CF cleared
EAX = 4352697ah ('ziRC')
an error occured:
CF set
EAX = Error message (undefined yet)
So this is returned in addition to what is specified within functions
descriptions below. Actually, there's no error handling, since there's *no
potential* error source in those functions. However, because of eventual
implementations, don't assume that CF will be cleared after a function call.
Note: - Every registers are preserved, except to return values.
- Flags are NOT preserved.
Here are the functions:
* Function 0 - MMTSR installation check
AX = 4370h
Return:
DX = bit field of supported functions.
Every bit of DX, from 0 to F, is set if the function AX=437xh
is supported. Otherwise, it is cleared. A bit test should
be done before calling other functions.
Note:
If MMTSR is not installed, INT 21h will probably return with CF set,
and an invalid function error code (AL=01h) The way to know if MMTSR
is installed is to check if CF is cleared AND EAX = 4352697ah ('ziRC').
* Function 1 - Enable MMTSR
AX = 4371h
Return:
nothing
Enables MMTSR, whether MMTSR was already enabled or not. MMTSR calls this
function on the "MMTSR on" command.
* Function 2 - Disable MMTSR
AX = 4372h
Return:
nothing
Disables MMTRS, whether MMTSR was already disabled or not. When disabled,
MMTSR doesn't intercept any INT 21h function, but 437xh functions. Every
other functions are sent directly to the old interrupt handler. MMTSR calls
this function on the "MMTSR off" command.
* Function 3 - Get general MMTSR information
AX = 4373h
Return:
CX = version : xyyz -> x: major, yy: minor, z: revision (or Beta)
z = 0: nothing
z = 1 to 0Eh : a to n
z = 0Fh: Beta
this is an HEX number, and no conversion is done.
Ex.: 121fh -> version 1.21 Beta
DX = bit field information:
bit 0: MMTSR is active (0/1 = No/Yes)
1: 'High' memory type used by MMCMP (0/1 = EMS/XMS)
2: INT 21h has been hooked by another program after MMTSR has
hooked it. (0/1 = No/Yes)
3 - 15: 0. reserved for future implememtations.
ES:BX -> Entry point of MMTSR's INT 21h handler, not necessarily the
current INT 21h entry point. ES is also the segment where
MMTSR is loaded into memory (MMTSR's CS).
-------------------------
For any comment, questions, or information, see the section "Contacting the
author" in MMCMP.DOC.