home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / mtraker2_3.zip / mtraker2_3 / AKMTRK2.DOC < prev    next >
Text File  |  1995-05-05  |  10KB  |  219 lines

  1. ;┌──────────────────────────────┐
  2. ;│MASTER TRACKER 1.1 AKMTRK1.OBJ│
  3. ;│BY [PYRO-FYRE]/ARKHAM 06/05/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. '-------------------------
  151. 'NEW FILE FORMAT           MTRACK NC 00 00 00 00 00 00 0000 00000000
  152. '-------------------------
  153. 'INFORMATIONS     | 0050 | MTRACK NC (NO CRUNCHED) MUSICNAME (20 CHAR) 00 (NBVOICES%-1) 00 (NBDIGITVOICES%) 00 (NB PATTERN-1) 00 (LENGTH) 00 (NB INSTRUM)  01F3 (RESTART)  00000000 (LENGHT) + CHR(1AH)
  154. 'MUSIC NAME       | 0020 |
  155. 'POSITIONS        | 0256 |
  156. '-------------------------
  157. 'INSTRUMENTS:
  158. '-------------------------
  159. 'SAMPLENAME       | 0020 | SAMPLES TOTAL MAX=16384, 1 SAMPLE=64 BYTES
  160. 'DATAS            | 0044 | (TOTAL BYTES, 1 INSTRUMENT
  161. 'IDENTIFICATION---|------|------|
  162. '                 | 0001 | 0001 | IDENTIFICATION: THIS BYTE=02 WHEN IT IS USED OR 00 WHEN NOT.
  163. '1° OPPERATOR-----|------|------|
  164. '                 |      | 0004B| MODULATOR FREQUECY MULTIPLE
  165. '                 |      | 0001B| KSR
  166. '                 |      | 0001B| EG TYPE
  167. '                 |      | 0001B| VIBRATO
  168. '                 |      | 0001B| AMPLITUDE MODULATION
  169. '                 |      |      |
  170. '                 |      | 0006B| TOTAL LEVEL
  171. '                 |      | 0002B| SCALING LEVEL
  172. '                 |      |      |
  173. '                 |      | 0004B| DECAY RATE
  174. '                 |      | 0004B| ATTACK RATE
  175. '                 |      |      |
  176. '                 |      | 0004B| RELEASE RATE
  177. '                 |      | 0004B| SUBSTAIN LEVEL
  178. '                 |      |      |
  179. '                 |      | 0001B| ALGORITHM
  180. '                 |      | 0003B| CONNECTION
  181. '                 |      |      |
  182. '                 |      | 0002B| WAVEFORM SELECT
  183. '                 |      | 0004B| MODULATOR FREQUECY MULTIPLE
  184. '                 |      | 0001B| KSR
  185. '                 |      | 0001B| EG TYPE
  186. '                 |      | 0001B| VIBRATO
  187. '                 |      | 0001B| AMPLITUDE MODULATION
  188. '2° OPPERATOR-----|------|------|
  189. '                 |      | 0006B| TOTAL LEVEL
  190. '                 |      | 0002B| SCALING LEVEL
  191. '                 |      |      |
  192. '                 |      | 0004B| DECAY RATE
  193. '                 |      | 0004B| ATTACK RATE
  194. '                 |      |      |
  195. '                 |      | 0004B| RELEASE RATE
  196. '                 |      | 0004B| SUBSTAIN LEVEL
  197. '                 |      |      |
  198. '                 |      | 0001B| ALGORITHM
  199. '                 |      | 0003B| CONNECTION
  200. '                 |      |      |
  201. '                 |      | 0002B| WAVEFORM SELECT
  202. ' OTHER BYTES UNUSED     |      |
  203. '-------------------------
  204. 'PATTERN          | ???? | NB VOICES * NB PATTERN * 256 -> MAX=256 PATTERN 2097152 BYTES
  205. '-------------------------
  206.  
  207. Now you can use easilly this new ADLIB player in your demos and create 
  208. yourself your music.
  209.  
  210. Attention: if you encounter some synchro problem when you do some animation,
  211. you can increment or decrement the value of the 'PUBLIC SPEED:WORD' because
  212. the interruption is generaly called 70 times per second as your monitor in
  213. several screens modes!
  214.  
  215. See you for new quality production from ARKHAM!
  216.                                                          [PYRO-FYRE]/ARKHAM
  217.  
  218. (Sorry for my bad english.)
  219.