home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / it206.zip / MMCMP134.ZIP / MMTSR.TXT < prev    next >
Text File  |  1996-09-26  |  4KB  |  109 lines

  1.                            MUSIC MODULE DECOMPRESSOR
  2.                                   TSR VERSION
  3.                                  version  1.34
  4.                       
  5.                            Technical Information only
  6.                                         
  7.  
  8. If you're seeking non-technical information on MMTSR, please read the 
  9. appropriate section in MMCMP.DOC.
  10.  
  11. When loaded, MMTSR intercepts the "open file" (AH=3dh) and "close file" 
  12. (AH=3eh) functions of INT 21h, unless it is turned off (MMTSR off).  It also 
  13. provides a few interrupts to help other program to deal with MMTSR.  Those 
  14. functions may be called whether MMTSR is actived or not.  They those are 
  15. called via INT 21h, with AX=437xh.  As a convention, EVERY function, unless 
  16. explicitely specified, returns with:
  17.  
  18. no error:
  19.         CF cleared
  20.         EAX = 4352697ah ('ziRC')
  21.  
  22. an error occured:
  23.         CF set
  24.         EAX = Error message (undefined yet)
  25.  
  26. So this is returned in addition to what is specified within functions 
  27. descriptions below.  Actually, there's no error handling, since there's *no 
  28. potential* error source in those functions.  However, because of eventual 
  29. implementations, don't assume that CF will always be cleared after a 
  30. function call.  
  31.  
  32. Note:   - Every registers are preserved, except to return values.  
  33.         - Flags are NOT preserved.  
  34.         
  35. Here are the functions:
  36.  
  37.  
  38. * Function 0 - MMTSR installation check
  39.  
  40.     AX = 4370h
  41.  
  42.     Return:
  43.         DX = bit field of supported functions.
  44.                 Every bit of DX, from 0 to F, is set if the function AX=437xh
  45.                 is supported.  Otherwise, it is cleared.  A bit test should
  46.                 be done before calling other functions.                
  47.  
  48.     Note:
  49.         If MMTSR is not installed, INT 21h will probably return with CF set, 
  50.         and an invalid function error code (AL=01h)  The way to know if MMTSR 
  51.         is installed is to check if CF is cleared AND EAX = 4352697ah ('ziRC').
  52.  
  53.  
  54. * Function 1 - Enable MMTSR
  55.         
  56.     AX = 4371h
  57.  
  58.     Return:
  59.         nothing
  60.  
  61.     Enables MMTSR, whether MMTSR was already enabled or not.  MMTSR calls this
  62.     function on the "MMTSR on" command.
  63.  
  64.  
  65. * Function 2 - Disable MMTSR
  66.         
  67.     AX = 4372h
  68.         
  69.     Return:
  70.         nothing
  71.  
  72.     Disables MMTSR, whether MMTSR was already disabled or not.  When disabled,
  73.     MMTSR doesn't intercept any INT 21h function, but 437xh functions.  Every
  74.     other functions are sent directly to the old interrupt handler. MMTSR calls
  75.     this function on the "MMTSR off" command.
  76.  
  77.  
  78. * Function 3 - Get general MMTSR information
  79.  
  80.     AX = 4373h
  81.  
  82.     Return:
  83.         CX = version : xyyz -> x: major, yy: minor, z: revision (or Beta) 
  84.                          z = 0: nothing
  85.                          z = 1 to 0Eh : a to n
  86.                          z = 0Fh: Beta
  87.                          this is an HEX number, and no conversion is done.
  88.                              Ex.: 121fh -> version 1.21 Beta
  89.         
  90.         DX = bit field information:
  91.             bit 0: MMTSR is active (0/1 = No/Yes)
  92.                 1: 'High' memory type used by MMCMP (0/1 = EMS/XMS)        
  93.                 2: INT 21h has been hooked by another program after MMTSR has
  94.                    hooked it. (0/1 = No/Yes)
  95.                 3 - 15: 0. reserved for future implememtations.
  96.         
  97.         ES:BX -> Entry point of MMTSR's INT 21h handler, not necessarily the 
  98.                  current INT 21h entry point.  ES is also the segment where 
  99.                  MMTSR is loaded into memory (MMTSR's CS).
  100.  
  101.  
  102.  
  103.  -------------------------
  104.  
  105. For any comment, questions, or information, see the section "Contacting the 
  106. author" in MMCMP.DOC.
  107.                      
  108.  
  109.