1. Purpose 2. Short example 3. Neat features 4. Notes 4.1. Example songs 4.2. Hazards |
4.3. How does its timer handler work? 4.4. If it does not play anything 4.5. Memory usage 5. Discussion 6. Copying 7. Downloading |
'$INCLUDE: 'fmengine.bi'
pleiplei: IF FMtimer% THEN RETURN
IF FMinit < 0 THEN PRINT "FM sound not available.": END
FMload "mysidia.s3m"
' The main loop
WHILE INKEY$ = "": WEND
FMend
END
FMinit%()
, FMtimer%()
, MPUDetect%()
, MPUvol%()
, VibVal%()
, note2period%()
, FMend()
, FMload()
, FMnoteoff()
, FMplayeffect()
, FMplayrowfrom()
, FMtouch()
, FMupdate()
, FMwrite()
, MPUwrite()
and Vaikene()
to the program, but these do not bother your editing, do they? :)
)
MPUwrite
subroutine and add a EXIT SUB
clause there to be the first command.
ON PLAY
event mechanism for the timing,
and plays short silent pause commands. Therefore you can not make
speaker beeps while the player is playing. This does not affect
the performance of the main program.Var | Size in bytes | Type |
---|---|---|
fmperiod | 24 | int[0..11] |
order | 512 | int[0..255] |
adldata | 2400 | int[1..100,0..11] |
insdata | 1200 | {6 ints}[1..100] |
adlchan | 896 | {14 ints}[0..31] |
MIDInote | 64 | int[0..31] |
MIDIchan | 64 | int[0..31] |
fmfilename | 4+n | string |
fmpattern | 4+n | string |
fmeffect | 4+n | string |
fmdata | 46 | {17 ints,double,long} |
fmeff | 24 | {3 ints}[0..3] |
Total: | 5242+n |
The engine loads and keeps only one pattern at time from the file to memory. This means that the engine accesses the media every time the pattern changes. Patterns usually are about 1kB long per average.
* No warranty. You are free to modify this source and to
* distribute the modified sources, as long as you keep the
* existing copyright messages intact and as long as you
* remember to add your own copyright markings.
* You are not allowed to distribute the program or modified versions
* of the program without including the source code (or a reference to
* the publicly available source) and this notice with it.
Generated from
progdesc.php
(last updated: Mon, 22 Jul 2002 01:57:38 +0300)
with docmaker.php
(last updated: Fri, 19 Jul 2002 16:42:54 +0300)
at Mon, 22 Jul 2002 01:57:39 +0300