home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / hsc14ecr.zip / HSCTRACK.DOC < prev    next >
Text File  |  1994-03-20  |  10KB  |  255 lines

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