home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / mtraker2_4.zip / mtraker2_4 / AKMTRK2.DOC < prev    next >
Text File  |  1994-01-14  |  7KB  |  162 lines

  1. ;┌──────────────────────────────┐
  2. ;│MASTER TRACKER 1.1 AKMTRK1.OBJ│
  3. ;│BY [PYRO-FYRE]/ARKHAM 24/07/95│
  4. ;└──────────────────────────────┘
  5.  
  6.   This document is intended for the experienced programmer with knowledge of
  7. a good deal of assembly and the 386. 
  8.  
  9.   This is the documentation for the MASTER TRACKER 2.x AKMTRK1.OBJ sound
  10. routine. 
  11. I realise that several ADLIB players exist on the PC but the editors was never
  12. present with the routines for using in demos.
  13. And i think the Sound Blaster is not a good device to play several digitized
  14. voices when you have a slow PC because this system use a lot of time of the
  15. CPU.
  16. The FM music is quite fast when you use only 4 voices with an ADLIB or SB.
  17. With the new fast registers of the SBPRO/SB16 and GUS, you can use 9 voices
  18. without spend a lot of CPU time!
  19. I think a demo is more good when you use FM music. I think the only GUS demos 
  20. are not fantastic without song when you haven't a GUS (arrrg, I haven't got 
  21. a GUS) and a simple FM music is welcommed!
  22.  
  23.   This code and the .OBJ file were writen by [PYRO-FYRE] from ARKHAM.
  24. If you want to use this thing as it is though, you will have to code in 100% 
  25. ASM. But it could be adapted on other language easilly: my editor 
  26. MASTERTRACKER use these routines with a simple BASIC language.
  27.  
  28. This program don't support the mtr files larger than 64 Kb because of the 
  29. segmentation in real mode.
  30. In fact, MASTERTRACKER 2.x use the REAL FLAT MODE for making music larger 
  31. than 64 Kb.
  32.  
  33. The old music files formats .MTR (v1.x) consist of:
  34. ---------------------------------------------------
  35. '-------------------------
  36. 'FILE FORMAT:      LENGTH
  37. '-------------------------
  38. 'INFORMATION      | 0050 | MTRACK NOM_MUSIQUE (20 CHAR) 00 (NBVOICES%-1) 00 (NB PATTERN-1) 00 (LENGTH) 01F3 (RESTART)  00000000 (LONGUEUR) + CHR(1AH)
  39. 'SPEED            | 0002 |
  40. 'DEVICE           | 0001 | 0=SPK 1=ADL 2=SBP ;NOT USED NOW 
  41. 'POSITIONS        | 0256 |
  42. 'VOICES TYPE      | 0256 |
  43. '-------------------------
  44. 'INSTRUMENTS:     | 4096 | (TOTAL BYTES, 64 INSTRUMENTS)
  45. '-------------------------
  46. 'INSTRUM NAME     | 0020 |
  47. 'DATAS            | 0044 | (TOTAL BYTES, 1 INSTRUMENT
  48. 'IDENTIFICATION---|------|------|
  49. '                 | 0001 | 0001 | IDENTIFICATION: THIS BYTE=02 WHEN IT IS USED OR 00 WHEN NOT.
  50. '1° OPPERATOR-----|------|------|
  51. '                 |      | 0004B| MODULATOR FREQUECY MULTIPLE
  52. '                 |      | 0001B| KSR
  53. '                 |      | 0001B| EG TYPE
  54. '                 |      | 0001B| VIBRATO
  55. '                 |      | 0001B| AMPLITUDE MODULATION
  56. '                 |      |      |
  57. '                 |      | 0006B| TOTAL LEVEL
  58. '                 |      | 0002B| SCALING LEVEL
  59. '                 |      |      |
  60. '                 |      | 0004B| DECAY RATE
  61. '                 |      | 0004B| ATTACK RATE
  62. '                 |      |      |
  63. '                 |      | 0004B| RELEASE RATE
  64. '                 |      | 0004B| SUBSTAIN LEVEL
  65. '                 |      |      |
  66. '                 |      | 0001B| ALGORITHM
  67. '                 |      | 0003B| CONNECTION
  68. '                 |      |      |
  69. '                 |      | 0002B| WAVEFORM SELECT
  70. '                 |      | 0004B| MODULATOR FREQUECY MULTIPLE
  71. '                 |      | 0001B| KSR
  72. '                 |      | 0001B| EG TYPE
  73. '                 |      | 0001B| VIBRATO
  74. '                 |      | 0001B| AMPLITUDE MODULATION
  75. '2° OPPERATOR-----|------|------|
  76. '                 |      | 0006B| TOTAL LEVEL
  77. '                 |      | 0002B| SCALING LEVEL
  78. '                 |      |      |
  79. '                 |      | 0004B| DECAY RATE
  80. '                 |      | 0004B| ATTACK RATE
  81. '                 |      |      |
  82. '                 |      | 0004B| RELEASE RATE
  83. '                 |      | 0004B| SUBSTAIN LEVEL
  84. '                 |      |      |
  85. '                 |      | 0001B| ALGORITHM
  86. '                 |      | 0003B| CONNECTION
  87. '                 |      |      |
  88. '                 |      | 0002B| WAVEFORM SELECT
  89. ' OTHER BYTES UNUSED     |      |
  90. '-------------------------
  91. 'PATTERN          | ???? | ????=NUMBER OF VOICES * NUMBER OF PATTERN * 256 -> MAX=65536
  92. '-------------------------
  93.  
  94. The new music files formats .MTR (v2.x) consist of:
  95. ---------------------------------------------------
  96. '-------------------------
  97. 'FILE FORMAT:      LENGTH
  98. '-------------------------
  99. 'INFORMATION      | 0050 | MTRACK MUSICNAME (20 CHAR) 00 (NBVOICES%-1) 00 (NBDIGITVOICES%) 00 (NB PATTERN-1) 00 (LENGTH) 00 (NB INSTRUM)  01F3 (RESTART)  00000000 (LENGHT) + CHR(1AH)
  100. 'POSITIONS        | 0256 |
  101. '-------------------------
  102. 'INSTRUM NAME     | 0020 |
  103. 'DATAS            | 0044 | (TOTAL BYTES, 1 INSTRUMENT
  104. 'IDENTIFICATION---|------|------|
  105. '                 | 0001 | 0001 | IDENTIFICATION: THIS BYTE=02 WHEN IT IS USED OR 00 WHEN NOT.
  106. '1° OPPERATOR-----|------|------|
  107. '                 |      | 0004B| MODULATOR FREQUECY MULTIPLE
  108. '                 |      | 0001B| KSR
  109. '                 |      | 0001B| EG TYPE
  110. '                 |      | 0001B| VIBRATO
  111. '                 |      | 0001B| AMPLITUDE MODULATION
  112. '                 |      |      |
  113. '                 |      | 0006B| TOTAL LEVEL
  114. '                 |      | 0002B| SCALING LEVEL
  115. '                 |      |      |
  116. '                 |      | 0004B| DECAY RATE
  117. '                 |      | 0004B| ATTACK RATE
  118. '                 |      |      |
  119. '                 |      | 0004B| RELEASE RATE
  120. '                 |      | 0004B| SUBSTAIN LEVEL
  121. '                 |      |      |
  122. '                 |      | 0001B| ALGORITHM
  123. '                 |      | 0003B| CONNECTION
  124. '                 |      |      |
  125. '                 |      | 0002B| WAVEFORM SELECT
  126. '                 |      | 0004B| MODULATOR FREQUECY MULTIPLE
  127. '                 |      | 0001B| KSR
  128. '                 |      | 0001B| EG TYPE
  129. '                 |      | 0001B| VIBRATO
  130. '                 |      | 0001B| AMPLITUDE MODULATION
  131. '2° OPPERATOR-----|------|------|
  132. '                 |      | 0006B| TOTAL LEVEL
  133. '                 |      | 0002B| SCALING LEVEL
  134. '                 |      |      |
  135. '                 |      | 0004B| DECAY RATE
  136. '                 |      | 0004B| ATTACK RATE
  137. '                 |      |      |
  138. '                 |      | 0004B| RELEASE RATE
  139. '                 |      | 0004B| SUBSTAIN LEVEL
  140. '                 |      |      |
  141. '                 |      | 0001B| ALGORITHM
  142. '                 |      | 0003B| CONNECTION
  143. '                 |      |      |
  144. '                 |      | 0002B| WAVEFORM SELECT
  145. ' OTHER BYTES UNUSED     |      |
  146. '-------------------------
  147. 'PATTERN          | ???? | ????=NUMBER OF VOICES * NUMBER OF PATTERN * 256 -> MAX=65536
  148. '-------------------------
  149.  
  150. Now you can use easilly this new ADLIB player in your demos and create 
  151. yourself your music.
  152.  
  153. Attention: if you encounter some synchro problem when you do some animation,
  154. you can increment or decrement the value of the 'PUBLIC SPEED:WORD' because
  155. the interruption is generaly called 70 times per second as your monitor in
  156. several screens modes!
  157.  
  158. See you for new quality production from ARKHAM!
  159.                                                          [PYRO-FYRE]/ARKHAM
  160.  
  161. (Sorry for my bad english.)
  162.