home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************\
- ** Music example (uses the Extension) for Secal **
- ** Requires Kickstart 2 **
- \******************************************************************************/
-
-
- go main; # EXECUTION STARTS AT THE BEGINNING OF THE
- # PROGRAM, GO TO THE MAIN CODE
-
-
- include "ext/ext.inc"; # COMPILE THE HEADER INTERFACE FOR EXTENSION TOO
- inclib "ext/ext.lib"; # USE EXT.LIB AS A LINK LIBRARY
-
-
- main: # MAIN ENTRY POINT
- push d2\a2; # SAVE MODIFIED NONVOLATILE REGISTERS
-
- x_Init; # INITIALIZE EXTENSION
- if d0 then
- x_AudioStart(%1111); # START AUDIO SUBSYSTEM
- if d0 then
- x_Mus_Load("data/mod.corn",%1111); a2:=a0;
- # LOAD AND INIT MUSIC, STRORE PTR IN A2
- if a2 then
- x_Mus_Play(a2,0); # START PLAYING
-
- while [$dff016] and $400 do x_Delay(1);;
- # DIRTY CHECK FOR RIGHT MOUSE BUTTON
-
- for d2.uw:=$fc00 downto 0 step 1024 do # VOLUME FADE LOOP
- x_Delay(1); # LITTLE DELAY
- x_Mus_Modify(a2,-1,d2); # MODIFY VOLUME ONLY
- ;
-
- x_Mus_Stop(a2); # STOP PLAYING
- ;
- ;
- x_Done; # SHUT DOWN EXTENSION. THIS FUNCTION WILL ALSO FREE
- # EVERYTHING ALLOCATED THRU THE EXTENSION, WHICH WE
- # DIDN'T FREE ALLREADY (SCREENS, MUSIC, ANIMS, ETC.)
- ;
-
- d0.l:=0; # RETURN CODE FOR DOS
-
- pop d2\a2; # RESTORE NONVOLATILE REGISTERS
- rts; # RETURN
-
-