home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / music / hsc.zip / HSCTRACK.DOC < prev    next >
Text File  |  1993-08-28  |  9KB  |  240 lines

  1.  
  2.                        HSC-Tracker V1.3
  3.  
  4.               (C)1993 by Zwerg Zwack and Chicken
  5.   Soundroutine (C) 1992/93 by NEO Software Produktions GmbH
  6.  Home of HSC-Tracker: The Lycaeum +41 41-762-989 (v32b,v42b)
  7.  
  8.                       Registered to you!
  9.  
  10.  
  11.      --------------------------------------------------
  12.  
  13.  
  14. WHAT IS HSC-TRACKER GOOD FOR ?
  15.  
  16. Once, we looked for an fm-editor able to do a bit more than
  17. this ugly CMF shit. But there was nothing, really nothing!
  18. So Chicken took the next adlib-player and disassembled it.
  19. (bad luck for Neo Software, that it was theirs, sorry) After
  20. playing around and doing some major speed-ups, he persuaded
  21. Zwerg Zwack to do an editor for it (it's useful to have some
  22. code slaves harhar).
  23.  
  24. Ladies and Gentlemen, here it is: The HSC-Tracker Package.
  25. It comes completly with an editor, a tsr-player and last but
  26. not least, an object/driver to include in your own codes!
  27.      
  28.  
  29.      --------------------------------------------------
  30.  
  31.  
  32. THE HSC-TRACKER :
  33.  
  34. Huh? what to say? Just start HSCTRACK.EXE an press F1 to get
  35. the help-screen. It is self-explaining (as our codes :) ).
  36.  
  37. To override the autodetect start HSCTRACK.EXE with option /a.
  38.  
  39. Take a look at the examples to learn how to get the best (?)
  40. results out of the adlib.
  41.  
  42. Ah, btw, something 'bout the settings when starting the tune.
  43. The player always starts with speed two and the first nine
  44. instruments loaded into correspondending channels.
  45.  
  46. And don't ask us, how to define cool instruments. We never
  47. succeed neither.
  48.  
  49.  
  50.      --------------------------------------------------
  51.  
  52.  
  53. THE HSC-PLAYER :
  54.  
  55. Just a little silly player running in background. Start it
  56. with the filename (with extension) as parameter. To Stop the
  57. music, execute it again.
  58.  
  59. Disclaimer: Chicken refuses any responsibility for damages
  60. to your system during serious crashes.
  61.  
  62. Well, if the player works and the tracker doesn't and vice
  63. versa, the player has no autodetect. (this 'bout proper
  64. programming)
  65.  
  66.  
  67.      --------------------------------------------------
  68.  
  69.  
  70. THE HSC-OBJECT :
  71.  
  72. This object gives you the possibility, to include adlib-music
  73. in your own codes. Link the HSCOBJ together with your source
  74. and declare the HscPlayer and the globals as EXTRN. The object
  75. is written on TASM 3.1, if some problems appear, try to link
  76. with Borland's TLINK.
  77. As we had several problems to link OBJ's into our codes, we
  78. added a binary with the same routines. Patch it at offset 0 in
  79. an own segment. The function HscPlayer starts at offset 0.
  80. Here te solution of the general OBJ problem: define the extern
  81. functions before ANY segment declarations, and fixup overflows
  82. are gone forever. (hopefully)
  83.  
  84.  
  85. All routines are called through the funktion HscPlayer. You
  86. have to call it as FAR. In AH is the number of the function
  87. called.
  88.  
  89. ah = 0  start music             call this routine when you
  90.                                 start a new tune.
  91.  
  92.         bl      play mode       when 0 the music will play in
  93.                                 background, using the timer
  94.                                 interrupt.
  95.                                 1 is polling-mode. this means
  96.                                 mean, that the irq will only
  97.                                 manage the correct speed, but
  98.                                 the main playing is done when
  99.                                 you call function 1 (poll).
  100.  
  101.         if you use the timer-irq (08h or 1Ch) for own purposes,
  102.         check out, that INT 1Ch is called 18 times per second.
  103.  
  104.         bh      dos irq         0 will include the old int 1Ch
  105.                                 (probably used by another pro-
  106.                                 gram) into the playing irq.
  107.                                 1 will cut it off.
  108.  
  109.         es:si   music data      points to the music data loaded
  110.                                 into memory.
  111.  
  112.  
  113. ah = 1  poll music              when in polling mode, you have
  114.                                 to call this function at least
  115.                                 18 times per second. it will
  116.                                 play the music.
  117.  
  118. ah = 2  stop music              stops music.
  119.  
  120. ah = 3  fade out                fades out the music.
  121.  
  122. ah = 4  detect/reset            searches for an adlib or
  123.                                 compatible soundcard. returns
  124.                                 with carry set when an error
  125.                                 occurs, otherwise ax contains
  126.                                 the port found. this has to
  127.                                 be started one time to reset
  128.                                 the soundcard.
  129.  
  130.          The detect fails, if a gravis ultrasound sticks in
  131.          your system. Don't forget to give your users the
  132.          possibility to skip the detection.
  133.  
  134. ah = 5  rasterbar               will turn on/off a rasterbar
  135.                                 to show the time used by the
  136.                                 player. works not in polling
  137.                                 mode.
  138.  
  139. ah = 6  user irq                you can link in an user-irq,
  140.                                 which gets called every time
  141.                                 the play-routine is executed.
  142.                                 (e.g. equalizers)
  143.  
  144.         bl = 0                  remove user irq
  145.  
  146.         bl = 1                  link irq to ds:dx.
  147.                                 the user irq has to end with
  148.                                 a retf.
  149.  
  150. Beside this, you have access to different global variables,
  151. useful for doodads like equalizers.
  152.  
  153.                       offset  bytes
  154.  
  155.         hsc_note       0A2D     9       actual notes
  156.         hsc_instr      0A3F     9       actual instruments
  157.         hsc_equalizer  0A48     9       equalizer (ffh-0fh)
  158.         hsc_playing    0A51     9       equalizer peaks
  159.                                         (ffh = peak)
  160.  
  161.         hsc_pattern    0A5A     1       actual pattern
  162.         hsc_track      0A5B     1       actual track
  163.         hsc_position   0A5C     1       actual position
  164.  
  165. Hope this is clear enough, else contact the authors or just
  166. return to your joystick and give up coding. :)
  167.  
  168. And remember: commercial use only with... blabla, ya know!
  169.  
  170.  
  171.      --------------------------------------------------
  172.  
  173.  
  174. REVISION HISTORY ...
  175.  
  176. April'93 First beta, or was it even pre-alpha ?
  177. 10.05.93 Release of version 1.0
  178. 07.06.93 Release of version 1.1
  179.                 -bugfixes in polling-mode
  180.                 -minor bugfixes in the editor
  181.                 -correct copyrights for the soundroutines
  182. 13.08.93 Release of version 1.2
  183.                 -bugfix function shift-f8 in the editor
  184.                 -added object as binary 'coz of general inability :)
  185.                 -added /a option to the editor to skip autodetect
  186. 28.08.93 Release of version 1.3
  187.                 -bugfix auto-detect (i wonder how this ever worked)
  188.                  now it's working even on systems with sb + gus
  189.                 -added jump command to pattern table
  190.  
  191.  
  192.      --------------------------------------------------
  193.  
  194.  
  195. CONTACT THE AUTHORS !
  196.  
  197. If you got an idea for some features, dig it :).
  198. But for chitchat, little donations (dreamin'?), your coolest
  199. tunes done with HSC-Tracker,
  200.  
  201. write to:       Christian Kündig        Adrian Studer
  202.                 Lindenhofrain 12        Hauptstrasse 52
  203.              CH-8708 Männedorf       CH-6170 Schüpfheim
  204.                 Switzerland             Switzerland
  205.  
  206. or call The Lycaeum +41 41-762-989 and write a message to sysop,
  207. or email via InterNet chicken@ezinfo.vmsmail.ethz.ch
  208.  
  209.  
  210.      --------------------------------------------------
  211.  
  212.  
  213. COPYRIGHTS:
  214.  
  215. HSC-Tracker is copyright of the authors. The authors allow
  216. to: use software, make copies of it, give copies to anybody
  217. and distribute it through electronic media.
  218.  
  219. It is not allowed to ask for money or donations for any copy
  220. or copies of the program, neither distribute the software
  221. and/or documentation with commercial products.
  222.  
  223. the tune smjoop.hsc is (c) by Silent Mode/Pentagon,
  224. all the others (c) by NEO Software.
  225.  
  226. and this came in a registered letter:
  227.  
  228. Soundroutine (C) 1992/93 by NEO Software Produktions GmbH
  229.                             A-2552 Hirtenberg
  230.                             Dobrischgasse 10
  231.                             0043/2256/82294
  232.  
  233. It is not allowed to use this soundroutine in commercial
  234. products without previous written acknowledgement of
  235. Neo Software Produktions GmbH.
  236.  
  237.  
  238.      --------------------------------------------------
  239.                    sorry for bad english!
  240.