home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Assembly 1994 - The 3rd Phase
/
ASMROM94.mdf
/
fc
/
utils
/
stmik
/
stmik.doc
< prev
next >
Wrap
Text File
|
1991-08-05
|
16KB
|
399 lines
Scream Tracker Music Interface Kit V0.2
S.T.M.I.K.
Copyright (C) 1991 Sami Tammilehto
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Contents:
1. About the STMIK and this documentation
2. License
3. Future Crew demo included
4. Scream Tracker V3.0
5. STMIK module format
6. How to make music for STMIK?
7. Limits of the current STMIK
8. How to use the STMIK
9. Examples
10. How to compile the examples
11. The STMLOAD.OBJ
12. Calling the STMLOAD.OBJ
13. Notes on STMLOAD.OBJ
14. The STMIK020.OBJ
15. Calling the STMIK with Assembler
16. Calling STMIK from C or Pascal
17. Notes on STMIK
18. Bugs?
19. Quick function reference
20. How to contact the author and get Scream Tracker related stuff
21. Silicon Dragon information
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. About the STMIK and this documentation
The current release of STMIK is a beta one (as the version
number states). I'm releasing this kit for several reasons
before it's finished. First of all the final kit can't be ready
before Scream Tracker 3.0 is, for they should naturally be
compatible. Because the ST3.0 is late, and MANY have been asking
about a kit such as this I've finally decided to make it
available. Because the STMIK is a beta one, I strongly suggest
(and demand :-) that you will not distribute STMIK modules
(dealt with later). This is because the STMIK uses special
beta-3.0 modules, which differ from both of the current module
format and from the final ST3.0 format. This documentation is
probably far from being error-free and well-arranged for it's
done in a hurry, but you should get along pretty easily though.
You will get a lot of help from the source codes included.
Try making changes and testing your ideas, that's the best
way to learn.
2. License
You are free to use the STMIK in your own programs if, and only if
the following requirements are met:
o The program using STMIK is NOT commercial. Also Shareware is counted
as commercial software.
o It is mentioned in either the program itself or in its documentation
that the program in question uses the "STMIK02"
o STMIK itself is not modified in any way
You are free to use the Future Crew Demo routines in your own programs
if, and only if the following requirements are met:
o The program using the routines is NOT commerical. Also Shareware is counted
as commercial software.
o Credits are given to the Future Crew for the sourcecode used.
o The demo look/feel is NOT duplicated (for example only texts/gfx are
changed)
The STMIK itself has been released into the Public Domain so
feel free to redistribute this package, but DO NOT CHANGE ITS
CONTENTS. All the documentation and files must be in their
original form. You may NOT add or remove any files!
3. Future Crew demo included
The STMIK includes a Future Crew Demo as an example on how to
integrate Scream Tracker music into demos or other graphically
intensive applications which require smooth operation. The
SOURCE CODE for the demo is included in the package! The demo
requires a VGA compatible graphics adapter. You are free to use
the sourcecode in your own programs accoring to the license. You
must not, however, use the demo itself. Practically this means
that routines can be reused, but using the demo itself and
adding/modifying routines to make the demo look/feel slightly
different are prohibited. The FC doesn't want lamers to take
advantage of this source code; it's intended for serious coders.
4. Scream Tracker V3.0
The ST3.0 should be finished during the summer '91, though it
will probably be late as the past has shown. The playing
routines included in the STMIK are from the current ST3.0 and
they are debugged and tested, so they should be ok. (what's
missing from the ST3.0 is proper editing functions and adlib
support plus all kinds of minor niceties). It's not sure yet
how the Scream Tracker V3.0 will be distributed, but all
registered users will get a special update offer.
5. STMIK module format
The STMIK uses a special beta-V3.0 module format. Due to the
module formats beta nature, the current STMIK uses a .STX
extension instead of the normal .STM. I'm not intending to do
a STX->STM converter, so treat STX as the format to be
used in finished programs, NOT as a format to be used in
distributing modules. A program called STM2STX is included,
and it'll convert STM modules to the STX format for usage
in your own programs.
6. How to make music for STMIK?
You can make .STM files with the Scream Tracker, and then
convert them to the .STX format for inclusion in your programs.
See the STREG.DOC for information on how to register the
Scream Tracker. By doing so you'll be able to make your
own custom musics to match your program! If you've never
seen the Scream Tracker, try finding a demo version of
the shareware program. See the end of the file for how
to find ST and related utilities!
7. Limits of the current STMIK
The current STMIK is 'not as good' as the Scream Tracker for it
supports less output devices etc. This due to the new routines
used which aren't yet complete. The player supports ONLY
SoundBlaster, thought support for other cards will be added
in the next STMIK's. The player should be 100% compatible with
all the modules. In fact, the player supports several ProTracker
commands the newest Scream Tracker yet does not. It is also
many times faster than the old ST. There are some incompabilities
though; vibrato is divided like in new Amiga trackers. This
means all vibratoeing will be only half as big as in old ST.
Also some timing/sliding has been fine tuned to match
Amiga exactly, so it differs a A LITTLE from the old ST, though
generally you won't be able to know the difference.
8. How to use the STMIK
There are two object files in the STMIK. One of them is the actual
player (STMIK020.OBJ) and the other one is a stm loader (STMLOAD.OBJ).
Both object files should be linked with your program. The can be
called from either C or Assembly. Take a look at the make batch files
MAKED.BAT and MAKEP.BAT to see how the linking is done. Remark that
ALL routines in the STMIK are in LARGE memory model. Calling them
from other memory models may crash the machine.
9. Examples
There are two examples distributed with the STMIK. The C example
is a player routine PLAY.EXE (which is created from the file
PLAY.C) which can play both .STM and .STX modules. The Assembler
example is the Future Crew demo mentioned earlier. Both of
the programs use STMIK for sound. Feel free to enhance the PLAY.C
and add features to it to suit your needs. Remember give me
credits for the original source code though.
10. How to compile the examples
The Future Crew demo is all in assembler (MAIN.ASM,DEMO.ASM,
GRAP.ASM, INIT.ASM, TEXT.ASM, and MISC.ASM), so you only need
MASM or TASM and either LINK or TLINK. I have used TASM and
LINK. (pretty weird combination?-) Actually only MAIN.ASM is
compiled, the other ASM files are included into it. The ASM
file division is mainly used to divide the routines into
separate categories. Anyway, you can compile the demo by running
the MAKED.BAT NOTE that the Future Crew demo need a data file
MENTAL.FC which contains graphics and sound data. The data file
was created with many different tools, so you cannot modify it
with the STMIK, but then again, you shouldn't either! The
PLAY (PLAY.C) is written with Microsoft C, and I haven't been able
to test it with Turbo C, but it might work. Feel free to experiment.
You can compile the PLAY with a batch file MAKEP.BAT
11. The STMLOAD.OBJ
The STM loader is designed for people who wish to make STM players,
a STM jukebox or something like that. Please not that the STMLOAD.OBJ
is not as good as the STM2STX.EXE which will convert .STM modules to
.STX modules, for it loads the STM directly to memory and converts
it in a fly. As a result to the differ