home *** CD-ROM | disk | FTP | other *** search
-
- HSC-Tracker V1.5
-
- (C)1993/94 by Zwerg Zwack and Chicken
- Soundroutine (C) 1992/93 by NEO Software Produktions GmbH
- Home of HSC-Tracker: The Lycaeum +41 41-762-989 (v32b,v42b)
- HSC DistSite Germany: Undercover +49 2323 450 850 (v32b,v42b)
-
- Registered to you!
-
-
- ----------------------------------------------------------
-
-
- WHAT IS HSC-TRACKER GOOD FOR ?
-
- Once, we looked for an fm-editor able to do a bit more than this ugly
- CMF shit. But there was nothing, really nothing! So Chicken took the
- next adlib-player and disassembled it. (bad luck for Neo Software, that
- it was theirs, sorry) After playing around and doing some major speed
- -ups, he persuaded Zwerg Zwack to do an editor for it (it's useful to
- have some code slaves harhar).
-
- Ladies and Gentlemen, here it is: The HSC-Tracker Package. It comes
- complete with an editor, a tsr-player and last but not least, an
- object/driver to include in your own codes!
-
-
- ----------------------------------------------------------
-
-
- THE HSC-TRACKER :
-
- Huh? what to say? Just start HSCTRACK.EXE an press F1 to get the
- help-screen. It is self-explaining (as our codes :) ).
-
- To override the autodetect start HSCTRACK.EXE with option /axxx
- where xxx is the adlib port.
-
- Take a look at the examples to learn how to get the best (?) results
- out of the adlib.
-
- Ah, btw, something 'bout the settings when starting the tune. The
- player always starts with speed two and the first nine instruments
- loaded into correspondending channels.
-
- And don't ask us, how to define cool instruments. We never succeed
- neither.
-
-
- ----------------------------------------------------------
-
-
- THE HSC-PLAYER :
-
- Just a little silly player running in background. Start it with the
- filename (with extension) as parameter. To Stop the music, execute it
- again.
-
- Disclaimer: Chicken refuses any responsibility for damages to your
- system during serious crashes.
-
- Well, if the player works and the tracker doesn't and vice versa, the
- player has no autodetect. (this 'bout proper programming)
-
-
- ----------------------------------------------------------
-
-
- THE HSC-OBJECT :
-
- This object gives you the possibility, to include adlib-music in your
- own codes. Link the HSCOBJ together with your source and declare the
- HscPlayer and the globals as EXTRN. The object is written on TASM 3.1,
- if some problems appear, try to link with Borland's TLINK.
- As we had several problems to link OBJ's into our codes, we added a
- binary with the same routines. Patch it at offset 0 in an own segment.
- The function HscPlayer starts at offset 0.
- Here te solution of the general OBJ problem: define the extern functions
- before ANY segment declarations, and fixup overflows are gone forever.
- (hopefully)
-
- All routines are called through the funktion HscPlayer. You have to call
- it as FAR. In AH is the number of the function called.
-
- ah = 0 start music call this routine when you
- start a new tune.
-
- bl play mode when 0 the music will play in
- background, using the timer
- interrupt.
- 1 is polling-mode. this means,
- that the irq will only manage
- the correct speed, but the
- main playing is done when you
- call function 1 (poll).
-
- if you use the timer-irq (08h or 1Ch) for own purposes,
- check out, that INT 1Ch is called 18 times per second.
-
- bh dos irq 0 will include the old int 1Ch
- (probably used by another pro-
- gram) into the playing irq.
- 1 will cut it off.
-
- es:si music data points to the music data loaded
- into memory.
-
-
- ah = 1 poll music when in polling mode, you have
- to call this function at least
- 18 times per second. it will
- play the music.
-
- ah = 2 stop music stops music.
-
- ah = 3 fade out fades out the music.
-
- ah = 4 detect/reset searches for an adlib or
- compatible soundcard. returns
- with carry set when an error
- occurs, otherwise ax contains
- the port found. this has to
- be started one time to reset
- the soundcard.
-
- bx adlib port put this to 0 if you want to
- run the autodetect.
-
- The detect sometimes fails, so give your users the pos-
- sibility to override the detection. The savest value is
- SoundBlaster-baseport + 8 (eg. 220h -> 228h).
-
- ah = 5 rasterbar will turn on/off a rasterbar
- to show the time used by the
- player. works not in polling
- mode.
-
- ah = 6 user irq you can link in an user-irq,
- which gets called every time
- the play-routine is executed.
- (e.g. equalizers)
-
- bl = 0 remove user irq
-
- bl = 1 link irq to ds:dx.
- the user irq has to end with
- a retf.
-
- ah = 7 get player state dumps some information about the
- player status into an array.
-
- es:si pointer to an array of 40 bytes
-
- the structure of the array is: (label refers to the names used
- in old versions)
-
- label offset bytes
-
- hsc_note 0 9 actual notes (1 byte per channel)
- hsc_instr 9 9 actual instruments
- hsc_equalizer 18 9 equalizer value (ffh-0fh)
- hsc_playing 27 9 equalizer peaks (ffh = peak)
-
- hsc_pattern 36 1 actual pattern
- hsc_track 37 1 actual track
- hsc_position 38 1 actual position
- 39 1 play on/off (0/1)
-
- take a look at the example source or contact the authors to
- get more info. (or return to your joystick and give up coding)
-
- And remember: commercial use only with... blabla, ya know!
-
-
- ----------------------------------------------------------
-
-
- REVISION HISTORY ...
-
- April'93 First beta, or was it even pre-alpha ?
- 10.05.93 Release of version 1.0
- 07.06.93 Release of version 1.1
- -bugfixes in polling-mode
- -minor bugfixes in the editor
- -correct copyrights for the soundroutines
- 13.08.93 Release of version 1.2
- -bugfix function shift-f8 in the editor
- -added object as binary 'coz of general inability :)
- -added /a option to the editor to skip autodetect
- 28.08.93 Release of version 1.3
- -bugfix auto-detect (i wonder how this ever worked) now
- it's working even on systems with sb + gus
- -added jump command to pattern table
- 22.03.94 Release of version 1.4
- -cleaned up the autodetect code and added a port override
- (and object gots 10% smaller)
- -renamed function call to _HscPlayer as this gives less
- problems in C
- -added a function to get playing/equalizer information
- and removed the global vars as they caused some major
- problems in C and Pascal
- -added some examples how to use HSC
- 24.05.94 Release of version 1.5
- -fixed division overflow bug in the replay routine
- (it was a stupid bug! doing a good act for intro coders
- by removing thefrequency table and then this...)
- -added example for TP7.0 by Ray/Radical Rhythms
-
-
- ----------------------------------------------------------
-
-
- CONTACT THE AUTHORS !
-
- If you got an idea for some features, dig it :).
- But for chitchat, little donations (dreamin'?), your coolest tunes done
- with HSC-Tracker,
-
- write to: Christian Kündig Adrian Studer
- Lindenhofrain 12 Hauptstrasse 52
- CH-8708 Männedorf CH-6170 Schüpfheim
- Switzerland Switzerland
-
- or call The Lycaeum +41 41-762-989 and write a message to sysop,
- or email via InterNet chicken@ezinfo.vmsmail.ethz.ch
-
-
- ----------------------------------------------------------
-
-
- COPYRIGHTS:
-
- HSC-Tracker is copyright of the authors. The authors allow to: use
- software, make copies of it, give copies to anybody and distribute it
- through electronic media.
-
- It is not allowed to ask for money or donations for any copy or copies
- of the program, neither distribute the software and/or documentation
- with commercial products.
-
- live2.hsc (c) by Blackbird/S!P,
- smjoop.hsc, smkerem.hsc (c) by Silent Mode/S!P,
- crystal2.hsc (c) by Chris Korte/Xography,
- all the other tunes (c) by NEO Software.
-
- It is not allowed to use this soundroutine in commercial products with-
- out previous written acknowledgement of Neo Software Produktions GmbH.
-
- NEO Software Produktions GmbH
- A-2552 Hirtenberg
- Dobrischgasse 10
- 0043/2256/82294
-
- If you bought NEO Softwares soundroutine, you got NO rights to use the
- editor, player, sources and examples included in this package in any
- commercial products. Contact Christian or Adrian if you still want to
- use one of these files.
-
-
- ----------------------------------------------------------
- sorry for bad english!
-