home *** CD-ROM | disk | FTP | other *** search
- MUSIC MODULE DECOMPRESSOR
- TSR VERSION
- version 1.34
-
- 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 always 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 MMTSR, 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.
-
-
-