home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / mmcmp132.zip / MMTSR.DOC < prev    next >
Text File  |  1996-05-08  |  4KB  |  108 lines

  1.                            MUSIC MODULE DECOMPRESSOR
  2.                                   TSR VERSION
  3.                                  version  1.32
  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 be cleared after a function call.  
  30.  
  31. Note:   - Every registers are preserved, except to return values.  
  32.         - Flags are NOT preserved.  
  33.         
  34. Here are the functions:
  35.  
  36.  
  37. * Function 0 - MMTSR installation check
  38.  
  39.     AX = 4370h
  40.  
  41.     Return:
  42.         DX = bit field of supported functions.
  43.                 Every bit of DX, from 0 to F, is set if the function AX=437xh
  44.                 is supported.  Otherwise, it is cleared.  A bit test should
  45.                 be done before calling other functions.                
  46.  
  47.     Note:
  48.         If MMTSR is not installed, INT 21h will probably return with CF set, 
  49.         and an invalid function error code (AL=01h)  The way to know if MMTSR 
  50.         is installed is to check if CF is cleared AND EAX = 4352697ah ('ziRC').
  51.  
  52.  
  53. * Function 1 - Enable MMTSR
  54.         
  55.     AX = 4371h
  56.  
  57.     Return:
  58.         nothing
  59.  
  60.     Enables MMTSR, whether MMTSR was already enabled or not.  MMTSR calls this
  61.     function on the "MMTSR on" command.
  62.  
  63.  
  64. * Function 2 - Disable MMTSR
  65.         
  66.     AX = 4372h
  67.         
  68.     Return:
  69.         nothing
  70.  
  71.     Disables MMTRS, whether MMTSR was already disabled or not.  When disabled,
  72.     MMTSR doesn't intercept any INT 21h function, but 437xh functions.  Every
  73.     other functions are sent directly to the old interrupt handler. MMTSR calls
  74.     this function on the "MMTSR off" command.
  75.  
  76.  
  77. * Function 3 - Get general MMTSR information
  78.  
  79.     AX = 4373h
  80.  
  81.     Return:
  82.         CX = version : xyyz -> x: major, yy: minor, z: revision (or Beta) 
  83.                          z = 0: nothing
  84.                          z = 1 to 0Eh : a to n
  85.                          z = 0Fh: Beta
  86.                          this is an HEX number, and no conversion is done.
  87.                              Ex.: 121fh -> version 1.21 Beta
  88.         
  89.         DX = bit field information:
  90.             bit 0: MMTSR is active (0/1 = No/Yes)
  91.                 1: 'High' memory type used by MMCMP (0/1 = EMS/XMS)        
  92.                 2: INT 21h has been hooked by another program after MMTSR has
  93.                    hooked it. (0/1 = No/Yes)
  94.                 3 - 15: 0. reserved for future implememtations.
  95.         
  96.         ES:BX -> Entry point of MMTSR's INT 21h handler, not necessarily the 
  97.                  current INT 21h entry point.  ES is also the segment where 
  98.                  MMTSR is loaded into memory (MMTSR's CS).
  99.  
  100.  
  101.  
  102.  -------------------------
  103.  
  104. For any comment, questions, or information, see the section "Contacting the 
  105. author" in MMCMP.DOC.
  106.                      
  107.  
  108.