home *** CD-ROM | disk | FTP | other *** search
/ Assembly 1994 - The 3rd Phase / ASMROM94.mdf / fc / utils / stmik / stmik.doc < prev    next >
Text File  |  1991-08-05  |  16KB  |  399 lines

  1.  
  2.         Scream Tracker Music Interface Kit V0.2
  3.         
  4.                    S.T.M.I.K.
  5.         
  6.           Copyright (C) 1991 Sami Tammilehto
  7.           
  8.  
  9. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  10. Contents:
  11.  1. About the STMIK and this documentation
  12.  2. License
  13.  3. Future Crew demo included
  14.  4. Scream Tracker V3.0
  15.  5. STMIK module format
  16.  6. How to make music for STMIK?
  17.  7. Limits of the current STMIK
  18.  8. How to use the STMIK
  19.  9. Examples
  20. 10. How to compile the examples
  21. 11. The STMLOAD.OBJ
  22. 12. Calling the STMLOAD.OBJ
  23. 13. Notes on STMLOAD.OBJ
  24. 14. The STMIK020.OBJ
  25. 15. Calling the STMIK with Assembler
  26. 16. Calling STMIK from C or Pascal
  27. 17. Notes on STMIK
  28. 18. Bugs?
  29. 19. Quick function reference
  30. 20. How to contact the author and get Scream Tracker related stuff
  31. 21. Silicon Dragon information
  32.                   
  33. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34.  
  35. 1. About the STMIK and this documentation
  36.  
  37. The current release of STMIK is a beta one (as the version
  38. number states).  I'm releasing this kit for several reasons
  39. before it's finished. First of all the final kit can't be ready
  40. before Scream Tracker 3.0 is, for they should naturally be
  41. compatible. Because the ST3.0 is late, and MANY have been asking
  42. about a kit such as this I've finally decided to make it
  43. available. Because the STMIK is a beta one, I strongly suggest
  44. (and demand :-) that you will not distribute STMIK modules
  45. (dealt with later).  This is because the STMIK uses special
  46. beta-3.0 modules, which differ from both of the current module
  47. format and from the final ST3.0 format. This documentation is
  48. probably far from being error-free and well-arranged for it's
  49. done in a hurry, but you should get along pretty easily though.
  50. You will get a lot of help from the source codes included.
  51. Try making changes and testing your ideas, that's the best 
  52. way to learn.
  53.  
  54.  
  55. 2. License
  56.  
  57. You are free to use the STMIK in your own programs if, and only if 
  58. the following requirements are met:
  59.  
  60. o The program using STMIK is NOT commercial. Also Shareware is counted
  61.   as commercial software.
  62.   
  63. o It is mentioned in either the program itself or in its documentation
  64.   that the program in question uses the "STMIK02"
  65.   
  66. o STMIK itself is not modified in any way 
  67.  
  68. You are free to use the Future Crew Demo routines in your own programs
  69. if, and only if the following requirements are met:
  70.  
  71. o The program using the routines is NOT commerical. Also Shareware is counted
  72.   as commercial software.
  73.   
  74. o Credits are given to the Future Crew for the sourcecode used.
  75.   
  76. o The demo look/feel is NOT duplicated (for example only texts/gfx are 
  77.   changed)
  78.  
  79. The STMIK itself has been released into the Public Domain so
  80. feel free to redistribute this package, but DO NOT CHANGE ITS
  81. CONTENTS. All the documentation and files must be in their
  82. original form. You may NOT add or remove any files!
  83.  
  84.  
  85. 3. Future Crew demo included
  86.  
  87. The STMIK includes a Future Crew Demo as an example on how to
  88. integrate Scream Tracker music into demos or other graphically
  89. intensive applications which require smooth operation. The
  90. SOURCE CODE for the demo is included in the package! The demo
  91. requires a VGA compatible graphics adapter. You are free to use
  92. the sourcecode in your own programs accoring to the license. You
  93. must not, however, use the demo itself. Practically this means
  94. that routines can be reused, but using the demo itself and
  95. adding/modifying routines to make the demo look/feel slightly
  96. different are prohibited. The FC doesn't want lamers to take
  97. advantage of this source code; it's intended for serious coders.
  98.  
  99.  
  100. 4. Scream Tracker V3.0
  101.  
  102. The ST3.0 should be finished during the summer '91, though it
  103. will probably be late as the past has shown. The playing
  104. routines included in the STMIK are from the current ST3.0 and
  105. they are debugged and tested, so they should be ok. (what's
  106. missing from the ST3.0 is proper editing functions and adlib
  107. support plus all kinds of minor niceties). It's not sure yet
  108. how the Scream Tracker V3.0 will be distributed, but all 
  109. registered users will get a special update offer.
  110.  
  111.  
  112. 5. STMIK module format
  113.  
  114. The STMIK uses a special beta-V3.0 module format. Due to the 
  115. module formats beta nature, the current STMIK uses a .STX 
  116. extension instead of the normal .STM. I'm not intending to do
  117. a STX->STM converter, so treat STX as the format to be
  118. used in finished programs, NOT as a format to be used in
  119. distributing modules. A program called STM2STX is included,
  120. and it'll convert STM modules to the STX format for usage
  121. in your own programs.
  122.  
  123.  
  124. 6. How to make music for STMIK?
  125.  
  126. You can make .STM files with the Scream Tracker, and then
  127. convert them to the .STX format for inclusion in your programs.
  128. See the STREG.DOC for information on how to register the 
  129. Scream Tracker. By doing so you'll be able to make your
  130. own custom musics to match your program! If you've never
  131. seen the Scream Tracker, try finding a demo version of
  132. the shareware program. See the end of the file for how
  133. to find ST and related utilities!
  134.  
  135.  
  136. 7. Limits of the current STMIK
  137.  
  138. The current STMIK is 'not as good' as the Scream Tracker for it
  139. supports less output devices etc. This due to the new routines
  140. used which aren't yet complete. The player supports ONLY 
  141. SoundBlaster, thought support for other cards will be added
  142. in the next STMIK's. The player should be 100% compatible with
  143. all the modules. In fact, the player supports several ProTracker
  144. commands the newest Scream Tracker yet does not. It is also 
  145. many times faster than the old ST. There are some incompabilities
  146. though; vibrato is divided like in new Amiga trackers. This
  147. means all vibratoeing will be only half as big as in old ST.
  148. Also some timing/sliding has been fine tuned to match
  149. Amiga exactly, so it differs a A LITTLE from the old ST, though
  150. generally you won't be able to know the difference.
  151.  
  152.  
  153. 8. How to use the STMIK
  154.  
  155. There are two object files in the STMIK. One of them is the actual
  156. player (STMIK020.OBJ) and the other one is a stm loader (STMLOAD.OBJ). 
  157. Both object files should be linked with your program. The can be
  158. called from either C or Assembly. Take a look at the make batch files
  159. MAKED.BAT and MAKEP.BAT to see how the linking is done. Remark that 
  160. ALL routines in the STMIK are in LARGE memory model. Calling them 
  161. from other memory models may crash the machine.
  162.  
  163.  
  164. 9. Examples
  165.  
  166. There are two examples distributed with the STMIK. The C example
  167. is a player routine PLAY.EXE (which is created from the file
  168. PLAY.C) which can play both .STM and .STX modules. The Assembler
  169. example is the Future Crew demo mentioned earlier. Both of 
  170. the programs use STMIK for sound. Feel free to enhance the PLAY.C
  171. and add features to it to suit your needs. Remember give me
  172. credits for the original source code though.
  173.  
  174.  
  175. 10. How to compile the examples
  176.  
  177. The Future Crew demo is all in assembler (MAIN.ASM,DEMO.ASM,
  178. GRAP.ASM, INIT.ASM, TEXT.ASM, and MISC.ASM), so you only need
  179. MASM or TASM and either LINK or TLINK. I have used TASM and
  180. LINK. (pretty weird combination?-) Actually only MAIN.ASM is
  181. compiled, the other ASM files are included into it.  The ASM
  182. file division is mainly used to divide the routines into
  183. separate categories. Anyway, you can compile the demo by running
  184. the MAKED.BAT NOTE that the Future Crew demo need a data file
  185. MENTAL.FC which contains graphics and sound data. The data file
  186. was created with many different tools, so you cannot modify it
  187. with the STMIK, but then again, you shouldn't either!  The
  188. PLAY (PLAY.C) is written with Microsoft C, and I haven't been able 
  189. to test it with Turbo C, but it might work. Feel free to experiment.
  190. You can compile the PLAY with a batch file MAKEP.BAT
  191.  
  192.  
  193. 11. The STMLOAD.OBJ
  194.  
  195. The STM loader is designed for people who wish to make STM players,
  196. a STM jukebox or something like that. Please not that the STMLOAD.OBJ
  197. is not as good as the STM2STX.EXE which will convert .STM modules to
  198. .STX modules, for it loads the STM directly to memory and converts
  199. it in a fly. As a result to the differ