home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
101-125
/
apd101
/
autoexec.amos
/
autoexec.amosSourceCode
Wrap
AMOS Source Code
|
1994-01-01
|
29KB
|
915 lines
On Error Proc OOOPS
Close Workbench
Close Editor
Global XPARAM,PAGE,RAND,W,WE,TIMEOUT,Q,Z$,A$,SPEED,VOL,CHANGED,SONG_IS_PLAYING,MOUSE$,FILTER,METERS,MUTE
Break Off
'This Version has now been changed to work with RAMOS V1.21
'If you have any old .ABK music files then this new version of autoplayer
'will probably not play them
'There are two options to play your old .ABK files
'1) Reconvert your tunes by running them through soundtracker converter V1.21
'Contact me for a copy of the converter
'2) Obtain AutoPlayer V1.1 (This is V1.1b) from your P.D stockist
' V1.1 is avilable from J.T.S,17 Bit,NBS or from myself
' My address is given in the Help pages (Press HELP when music is playing)
'Note: A large selection of AMOS prgrams are available from
'The AMOS PUBLIC DOMAIN LIBRARY (Address in the help text)
CLEAR_BANK
TF_INTRO
BEGIN
Procedure TF_INTRO
Screen Open 0,640,256,16,Hires
Flash Off
Curs Off : Cls 0
Screen Open 5,320,256,4096,Lowres
Flash Off
Curs Off : Cls 0
Screen Hide 5
Screen Hide 0
Limit Mouse 128,205 To 442,281
NICEPRINT["Welcome to AutoPlayer V1.1b"]
Wait 200
NICECLOSE
NICEPRINT["Written by Paul Townsend"]
Wait 200
NICECLOSE
NICEPRINT["For Technical Fred Software"]
Wait 300
NICECLOSE
Hide On
Screen Open 3,320,256,32,Lowres
Flash Off
Curs Off
Cls 0
Screen Hide 3
PAUSE_FOR_DISK["Apd101:"]
Screen 3
Load Iff "Apd101:tf_logo"
Screen Open 4,320,256,32,Lowres
Flash Off
Curs Off
Cls 0
Screen Hide 4
Screen 4
Hide On
PAUSE_FOR_DISK["Apd101:"]
Load Iff "Apd101:tf_logo"
Screen Hide 4
Fade 1 : Wait 50
Screen To Front 4
Screen Show 4
Fade 4 To 3 : Wait 4*15
Wait 200
Fade 4 : Wait 4*15
Screen Close 3
Screen Close 4
End Proc
Procedure BEGIN
NICEPRINT["Press HELP for instructions"]
PAUSE_FOR_DISK["Apd101:"]
Screen 5
Load Iff "Apd101:guru.josh"
Screen 0
PAUSE_FOR_DISK["Apd101:"]
Load "Apd101:VUbobs.abk"
PAUSE_FOR_DISK["Apd101:"]
Load Iff "Apd101:player_screen"
Fade 1 : Wait 15
Screen Show 0
Screen 0
PICT
Hide On
Wait 10
Led On
BEGIN:
SPEED=17
VOL=47
MUTE=False
FILTER=False
METERS=True
TIMEOUT=1
TIMEOUT=TIMEOUT*50
TIMEOUT=TIMEOUT*60
TIMEOUT=TIMEOUT*5
Rem set timeout to 5 min
Set Bob 1,-1,%111111,%11000000
Set Bob 2,-1,%111111,%11000000
Set Bob 3,-1,%111111,%11000000
Set Bob 4,-1,%111111,%11000000
RESTART:
PAUSE_FOR_DISK["music_disk:"]
A$=Dir First$("music_disk:*.abk")
If A$="" Then NICEPRINT["!!! no music found on that disk !!! Try a different disk "] : Wait 200 : NICECLOSE : Goto RESTART
If Left$(A$,1)="*" Then Goto GRABNEXT
EXTRACT_NAME
RAP_IT
COUNT=1
GRABNEXT:
A$=Dir Next$
If Left$(A$,1)="*" Then Goto GRABNEXT
If A$="" Then Goto RESTART
EXTRACT_NAME
TEST$="music_disk:"+Z$+".abk"
If Not(Exist(TEST$))
NICEPRINT["Disk Changed !!! Processing new disk."]
Wait 200
NICECLOSE
Goto RESTART
End If
RAP_IT
Goto GRABNEXT
End Proc
Procedure PICT
PAUSE_FOR_DISK["Apd101:"]
Screen Open 1,640,256,16,Hires
Curs Off : Cls 0
Screen Hide 1
Load Iff "Apd101:player_screen"
Screen Hide 1
Screen 0
Locate 36,12
Paper 14 : Ink 10
Print "b"
Fade 5 To 1
Screen Close 1
Show On
End Proc
Procedure EXTRACT_NAME
Z$=""
Erase 3
For F=2 To Len(A$)
If Lower$(Mid$(A$,F,4))=".abk" Then Pop Proc
Z$=Z$+Mid$(A$,F,1)
Next F
End Proc
Procedure RAP_IT
PAUSE_FOR_DISK["music_disk:"]
NICEPRINT[Z$]
Load "music_disk:"+Z$+".abk"
Music 1
Timer=0
NICECLOSE
Show On
Clear Key
SONG_IS_PLAYING=True
CHANGE
Repeat
DANCE
If MOUSE$="Restart" Then Music Off : Music 1 : SONG_IS_PLAYING=True : CHANGED=True
If MOUSE$="Stop" and SONG_IS_PLAYING=True Then CHANGED=True : Music Off : SONG_IS_PLAYING=False
If MOUSE$="Play" and SONG_IS_PLAYING=False Then CHANGED=True : Music 1 : SONG_IS_PLAYING=True
If MOUSE$="Quit" Then Fade 5 : Wait 5*15 : FINISH_PROGRAM :
If MOUSE$="Vol" Then VOL=47 : CHANGED=True
If MOUSE$="Tem" Then SPEED=17 : CHANGED=True
If MOUSE$="Filter" Then FILTER= Not FILTER : CHANGED=True
If MOUSE$="Meters" Then METERS= Not METERS
If MOUSE$="Mute" Then MUTE= Not MUTE : CHANGED=True
If MOUSE$="Volume" Then VOL_SLIDE : CHANGED=True
If MOUSE$="Balance" Then NICEPRINT["Not yet implemented"] : Wait 100 : NICECLOSE : Show On
If MOUSE$="Tempo" Then TEM_SLIDE : CHANGED=True
If MOUSE$="Bal" Then NICEPRINT["Not yet implemented"] : Wait 100 : NICECLOSE : Show On
If SPEED>100 Then SPEED=100
If SPEED<1 Then SPEED=1
If VOL>47 Then VOL=47
If VOL<0 Then VOL=0
If CHANGED Then CHANGE
Until MOUSE$="Next"
End Proc
Procedure CHANGE
If VOL<>47 Then DEF=True
If SPEED<>17 Then DEF=True
If DEF=True Then Rem highlight the default button :DEF=False
If SONG_IS_PLAYING=True Then Rem highlight stop song
If SONG_IS_PLAYING=False Then Rem highlight restart song
Follow Off
Tempo SPEED : Mvolume VOL
If Not MUTE Then Voice 15 Else Voice 0
CHANGED=False
RESET_SLIDERS
Wait 20
End Proc
Procedure DANCE
Dim A(3),Z(3)
For L=0 To 3
Z(L)=1
A(L)=1
Next L
Repeat
Q$=Inkey$
ZX=Scancode
Clear Key
If ZX=95 Then Fade 3 : Wait 3*15 : HELP : PICT : Rem Help key detect
If ZX=70 Then SPEEDSET : Show On : Rem Del key detect :
If FILTER Then Led On Else Led Off
Q=Mouse Click
If Q=2 Then TIMEUPDATE : Q=False
If Q=1 Then Q=True Else Q=False
If Q=2 Then TIMEUPDATE
Clear Key
W=1+(TIMEOUT-(Timer)/50/60)
If W<>WE Then TIMEUPDATE : WE=W
For L=0 To 3
A(L)=Vumeter(L)/4*Abs(METERS)
If A(L)>Z(L) Then Z(L)=A(L)
Bob L+1,16+(152*L),0,Z(L)
Z(L)=Z(L)-2 : If Z(L)<1 Then Z(L)=1
Next L
If TIMEOUT=9999 Then Timer=0
Until(Q) or(Timer>TIMEOUT)
If Timer<TIMEOUT Then FIND_MOUSE Else MOUSE$="Next" : NICEPRINT["Timeout of"+Str$(TIMEOUT/60/60/10)] : Wait 100 : NICECLOSE
If(MOUSE$<>"Quit") and(MOUSE$<>"Next") Then Pop Proc
For QUIET=VOL To 0 Step -1
Mvolume QUIET
For L=0 To 3
A(L)=Vumeter(L)/4*Abs(METERS)
If A(L)>Z(L) Then Z(L)=A(L)
Bob L+1,16+(152*L),0,Z(L)
Z(L)=Z(L)-2 : If Z(L)<1 Then Z(L)=1
Next L
Next QUIET
Music Off
End Proc
Procedure FIND_MOUSE
Screen 0
MOUSE$=""
If((X Mouse>334) and(X Mouse<362)) and((Y Mouse>221) and(Y Mouse<233)) Then MOUSE$="Default"
If((X Mouse>369) and(X Mouse<397)) and((Y Mouse>221) and(Y Mouse<233)) Then MOUSE$="Filter"
If((X Mouse>334) and(X Mouse<362)) and((Y Mouse>243) and(Y Mouse<256)) Then MOUSE$="Meters"
If((X Mouse>369) and(X Mouse<397)) and((Y Mouse>243) and(Y Mouse<256)) Then MOUSE$="Mute"
If((X Mouse>419) and(X Mouse<435)) and((Y Mouse>267) and(Y Mouse<274)) Then MOUSE$="Quit"
If((X Mouse>251) and(X Mouse<279)) and((Y Mouse>221) and(Y Mouse<233)) Then MOUSE$="Next"
If((X Mouse>286) and(X Mouse<314)) and((Y Mouse>221) and(Y Mouse<233)) Then MOUSE$="Restart"
If((X Mouse>251) and(X Mouse<279)) and((Y Mouse>243) and(Y Mouse<256)) Then MOUSE$="Play"
If((X Mouse>286) and(X Mouse<314)) and((Y Mouse>243) and(Y Mouse<256)) Then MOUSE$="Stop"
If((X Mouse>145) and(X Mouse<166)) and((Y Mouse>207) and(Y Mouse<216)) Then MOUSE$="Vol"
If((X Mouse>205) and(X Mouse<226)) and((Y Mouse>207) and(Y Mouse<216)) Then MOUSE$="Tem"
If((X Mouse>152) and(X Mouse<157)) and((Y Mouse>221) and(Y Mouse<271)) Then MOUSE$="Volume"
If((X Mouse>214) and(X Mouse<218)) and((Y Mouse>221) and(Y Mouse<271)) Then MOUSE$="Tempo"
Q=False
Restore
AGAIN3:
Read WHICH$,X1,Y1,X2,Y2
X1=X1-2 : Y1=Y1-3 : X2=X2+3 : Y2=Y2+3
X1=X Screen(X1) : Y1=Y Screen(Y1) : X2=X Screen(X2) : Y2=Y Screen(Y2)
If WHICH$="" Then Pop Proc
If MOUSE$="Quit" Then NUM=15 Else NUM=14
If WHICH$=MOUSE$ Then For F=2 To NUM Step NUM-2 : Ink F : Box X1,Y1 To X2,Y2 : Wait 10 : Next F
If MOUSE$="Quit" Then Ink 10 : Paint 598,217,1
Goto AGAIN3
Data "Default",334,221,362,233
Data "Filter",369,221,397,233
Data "Meters",334,243,362,256
Data "Mute",369,243,397,256
Data "Next",258,221,286,233
Data "Restart",293,221,321,233
Data "Play",258,243,286,256
Data "Stop",293,243,321,256
Data "Vol",145,208,166,215
Data "Tem",205,208,226,215
Data "",0,0,0,0
End Proc
Procedure VOL_SLIDE
AGAIN:
ZX=X Mouse
ZY=Y Mouse
If(Mouse Key) and(ZY>223) and(ZY<271)
VOL=271-ZY
Ink 15
For ZX=-1 To 1 Step 2
Draw X Screen(156)+ZX,Y Screen(271) To X Screen(156)+ZX,Y Screen(223)
Draw X Screen(156)+ZX,Y Screen(271) To X Screen(156)+ZX,Y Screen(223)
Next ZX
Ink 15
Draw X Screen(156),Y Screen(223) To X Screen(156),Y Screen(ZY)
Ink 1
For ZX=-1 To 1
Draw X Screen(156)-1,Y Screen(271)-VOL-ZX To X Screen(156)+1,Y Screen(271)-ZX-VOL
Next ZX
Draw X Screen(156),Y Screen(271) To X Screen(156),Y Screen(ZY)
Else
Pop Proc
End If
Mvolume VOL
Goto AGAIN
End Proc
Procedure TEM_SLIDE
AGAIN2:
ZX=X Mouse
ZY=Y Mouse
If(Mouse Key) and(ZY>223) and(ZY<271)
SPEED=272-ZY
Rem -------------------------------------------------------------------
Ink 1
For ZX=-1 To 1
Draw X Screen(216)-1,Y Screen(271)-SPEED-ZX To X Screen(216)+1,Y Screen(271)-ZX-SPEED
Next ZX
Rem -------------------------------------------------------------------
Rem ************************************************************
Ink 15
For ZX=-1 To 1 Step 2
Draw X Screen(216)+ZX,Y Screen(223) To X Screen(216)+ZX,Y Screen(271)
Next ZX
Draw X Screen(216),Y Screen(223) To X Screen(216),Y Screen(ZY)
Ink 1
Draw X Screen(216),Y Screen(271) To X Screen(216),Y Screen(ZY)
Else
Pop Proc
End If
Tempo SPEED
Goto AGAIN2
End Proc
Procedure RESET_SLIDERS
Ink 15 :
For ZX=-1 To 1
Draw X Screen(156)+ZX,Y Screen(271) To X Screen(156)+ZX,Y Screen(221) :
Next ZX
Ink 1
Draw X Screen(156),Y Screen(271) To X Screen(156),(Y Screen(271)-VOL)
Ink 15
For ZX=-1 To 1
Draw X Screen(216)+ZX,Y Screen(271) To X Screen(216)+ZX,Y Screen(221) :
Next ZX
Ink 1 :
Draw X Screen(216),Y Screen(271) To X Screen(216),(Y Screen(271)-SPEED)
For ZX=-1 To 1
Draw X Screen(156)-1,Y Screen(271)-VOL-ZX To X Screen(156)+1,Y Screen(271)-VOL-ZX
Draw X Screen(216)-1,Y Screen(271)-SPEED-ZX To X Screen(216)+1,Y Screen(271)-SPEED-ZX
Next ZX
End Proc
Procedure TIMEUPDATE
If TIMEOUT=9999 Then Pop Proc
NICEPRINT[Str$(1+(TIMEOUT-Timer)/50/60)+" Mins before timeout"]
Wait 20
NICECLOSE
End Proc
Procedure SPEEDSET
Hide On
NICEPRINT["Select timeout Value"]
Wait 100
NICECLOSE
For C=1 To 3
C$="Press F"+Right$(Str$(C),1)+" for"+Str$(C*10)+" Mins"
NICEPRINT[C$]
Wait 100
NICECLOSE
Next C
NICEPRINT["and so on up to"]
Wait 100
NICECLOSE
NICEPRINT["F10 for 100 Mins"]
Wait 100
NICECLOSE
NICEPRINT["or any other key to disable timeout"]
Wait 200
NICECLOSE
NICEPRINT["Waiting for F key"]
Clear Key
10 A$=Inkey$
If A$="" Then Goto 10
NICECLOSE
A=Scancode
If(A>=80) and(A<=89)
TIMEOUT=(A-80)
Inc TIMEOUT
A$="Timeout of"+Str$(TIMEOUT*10)+" mins selected"
NICEPRINT[A$]
Wait 200
NICECLOSE
TIMEOUT=TIMEOUT*50
TIMEOUT=TIMEOUT*60
TIMEOUT=TIMEOUT*10
Timer=0
Else
NICEPRINT["Timeout Disabled"]
TIMEOUT=9999
Wait 200
NICECLOSE
End If
Show On
End Proc
Procedure NICEPRINT[OUTPUT$]
Screen Open 1,600,8,2,Hires
Curs Off : Cls 0
Screen Open 2,600,8,2,Hires
Curs Off : Cls 0
Screen Display 1,132,180,,
Screen Hide 2
Screen 2
Flash Off
Hide On
M$=""
M$=M$+Upper$(Left$(OUTPUT$,1))
For F=2 To Len(OUTPUT$)
LOOK$=Mid$(OUTPUT$,F-1,1)
If(LOOK$="_") or(LOOK$=" ") or(LOOK$=".") or(LOOK$="-") Then M$=M$+Upper$(Mid$(OUTPUT$,F,1)) Else M$=M$+Lower$(Mid$(OUTPUT$,F,1))
Next F
Locate 0,0 : Cline
Centre Left$(M$,60)
CHOOSE
Appear 2 To 1,RAND
Locate 0,0 : Cline
Screen 1
Locate 0,0 : Centre Left$(M$,60)
Screen 0
End Proc
Procedure NICECLOSE
CHOOSE
Appear 2 To 1,RAND
Screen Close 1
Screen Close 2
Show On
End Proc
Procedure HELP
Screen Open 1,640,256,2,Hires
Curs Off : Cls 0
PAGE=1
Fade 1
Hide On
Cls
Centre("Help Screen")
Print
Centre("-----------")
Print
Print
Print
Centre("Welcome to AutoPlayer V1.1b (C) Nov 1990")
Print
Centre("----------------------------------------")
Print
Print
Print "Written by Paul Townsend for Technical Fred Software"
Print
Print "Graphics by mARTin Heston"
Print
Print "Additional Material by Pete Winnard"
Print
Print "Thanks also to the Black Panther for help with the VU Meters"
Print
Print "And last, but not least, thanks to Alphabet Al for spelchecking this texst."
Print
Print "This Program is public domain."
Print "You are free to copy and distribute this program as long as "
Print "no charge is made for the software and no changes are made."
Print
Print "If you find this program useful or enjoyable please consider"
Print "sending a small contribution to me for my efforts."
Print ""
Print "In return I will send you without any further cost, any updates which follow."
Print "Also I will send you details of other programs and demos which are available."
Print "Please drop me a line if you have any difficulty in using "
Print "this program or if you have any suggestions for improvements"
Print "or find any bugs in the program you would like corrected."
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Print "Please send all contributions, bug reports, suggestions etc to "
Print
Print "Paul Townsend"
Print "117 Hilton Lane"
Print "Walkden"
Print "Worsley"
Print "Manchester"
Print "M28 5TB"
Print "England"
Print
Print "Tel (061) 703 7842 (24 hour answerphone)"
Print "If I am not in, please leave a message and I will call you back."
Print
Print "One last thing before the help pages."
Print
Print "Low cost video and audio digitizing service"
Print "-------------------------------------------"
Print
Print "If you have need for the above service,"
Print "even if you just need one picture digitizing, contact me."
Print "If you need it done yesterday - contact me."
Print "Please contact me at the above address"
Print "for a demo disk which includes digitized pictures and sound."
Print
Print "That's all the waffle over with, now for the help pages."
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Print "This program as you may have worked out, is a music player."
Print "It is capable of playing any AMOS music file."
Print
Print "Amos Users Please note !"
Print "Instructions for inserting your own music follow later."
Print "First a rundown of the controls."
Print
Print "The purpose of the 'Vol' and 'Tempo' gadgets in the top left of the "
Print "control screen is to set the music volume and tempo settings back to "
Print "their default."
Print "Just below these are two sliders, the one underneath the 'Vol' gadget "
Print "is a volume slider and guess what ? The one underneath the "
Print "'tempo' gadget is a tempo slider."
Print "So if you slide the sliders and then find that you wish to put "
Print "one of them back to normal, click the gadget above the slider "
Print "you wish to reset. (Easy isn't it?)."
Print "The 'Next' button simply fades out the current song and loads in "
Print "the next one and plays it."
Print "(Note : The next button also checks if you have changed the music_disk"
Print "and if the disk has been changed the the first song on that disk"
Print "(if one exists) will be played. Future selecting of the next button"
Print "will then play the next song from the new disk."
Print "If the last song of a disk has been played the the first one will be"
Print "played again, and the sequence will be repeated.)"
Print "The 'Restart' button starts the current music from the beginning."
Print "The 'Play' button continues the current music if it has been "
Print "stopped with the 'Stop' button."
Print "The 'Stop' button halts the music."
Print "(This button may look complicated, but it isn't really, honest!)"
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Print "The 'Default' button resets all functions back to their original settings."
Print "i.e Volume to Max, Tempo to normal, mute and filter off meters on."
Print "This function also restarts music if it has been stopped."
Print "The 'Filter' button toggles the power led and audio filter."
Print "(Sorry A1000 owners, ignore that bit)."
Print "The 'Meters' button kills the VU meters,"
Print "pressing again brings them back to life."
Print "The 'Mute' button turns down the volume of the music."
Print "(Note the music is still playing, you just can't hear it)."
Print "Pressing again cancels the mute and the music will be heard again."
Print "And finally the Power button."
Print "(I am not going to tell you what this does, you'll just have to try it)."
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Centre("Inserting your own tunes")
Print
Centre("------------------------")
Print
Print
Print "To do this you will need. (But see 'PLANNED UPDATES')"
Print
Print "1) Amos The Creator (See Later for info)."
Print "2) Some Amos compatable tunes."
Print "3) A blank disk."
Print
Print "If you already have the tunes you want available then ignore this bit."
Print
Print "Write or rip your tune using Soundtracker, GMC or Sonix then run it through "
Print "the converter for the music package you are using."
Print "(Soundtracker Sonix and GMC converters are supplied with Amos)."
Print
Centre("IMPORTANT BIT")
Print
Centre("-------------")
Print
Print
Print "Save your converted tune on to the blank disk. (But not in any Drawers!)"
Print "call it anything you like but"
Print "make sure that you put .ABK on the end of your filename or else "
Print "AutoPlayer just won't know that it is there."
Print "Then rename your disk to MUSIC_DISK (very important)."
Print "NOTE: the _ is the underline on shift minus."
Print
Print "Then boot up AutoPlayer again and use the disk you have just created"
Print "instead of using the Music_Disk."
Print "That's about it, AutoPlayer will search the disk and play any tunes it finds."
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Centre("STOP PRESS")
Print
Centre("----------")
Print
Print "Some new functions not documented above."
Print
Print "This version of AutoPlayer also has these extra functions."
Print
Print "New 'Timeout' facility."
Print
Print "Because there is at present no way to detect when a piece of music has finished"
Print "I cannot make AutoPlayer play the next tune when the previous tune finishes "
Print "so the current tune just repeats itself forever."
Print "The Timeout facility goes a little way towards solving this problem."
Print
Print "The default setting is that the current tune will fade after 5 mins"
Print "but you can change the timeout time by pressing the DEL key while the music"
Print "is playing and a message will appear on the screen to give you instructions."
Print
Print "Pressing the RIGHT mouse button while the music is playing displays how much"
Print "time is left before the next timeout."
Print
Print "Pressing the help key now displays these help pages."
Print "(But you will have worked that out by now since you are now reading them.)"
Print
Print "If you can think of any more functions you would like to see"
Print "please drop me a line and I will see what I can do."
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Centre("PLANNED UPDATES")
Print
Centre("---------------")
Print
Print
Print "Some ideas I have had for future updates include"
Print
Print "(1) Improving the disk access so that you can program the order of"
Print " which the tunes play (Instead of just in alpha order)"
Print
Print "(2) Adding a new function -"
Print " Myself and The Black Panther are currently working on making it possible"
Print " for AutoPlayer to play SoundTracker Modules as they are rather than"
Print " to have to keep converting them to AMOS's internal format all the time"
Print " which is a pain to say the least, especially as the end result always"
Print " seems to be a little out of sync and sounds terrible if there are any blank"
Print " tracks in the original SoundTracker module"
Print
Print "(3) Solving that stupid Timeout problem of not knowing when a tune has finished"
Print " I have a few ideas which may work "
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Centre("AMOS")
Print
Centre("----")
Print
Print
Print "Amos is the best language ever to hit the Amiga."
Print "It will allow you to create just about any program you want."
Print "It is brimming with useful commands."
Print "If you are a programmer or want a VERY FAST high level language"
Print "then this is the only one on planet Earth which provides all this."
Print
Print "This program was written using AMOS."
Print "And this is my first program I have written with it."
Print "I am therefore only using a fraction of the power it provides."
Print
Print "Just think what you could produce using this HIGHLY FLEXIBLE LANGUAGE."
Print
Print "Buy it and see for yourself."
Print
Print "AMOS is available from"
Print "Mandarin Software"
Print "Europa House"
Print "Adlington Park"
Print "Adlington"
Print "Macclesfield"
Print "Cheshire"
Print "SK10 4NP"
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Print "This is version 1.1b of Autoplayer"
Print ""
Print "Changes since 1.1"
Print
Print "This version has been converted to use V 1.21 of ramos which"
Print "is the very latest version of ramos available at the moment"
Print "Here are some points for you to note now you've read the instructions"
Print "1. I said earlier about the converted soundtracker modules being out of sync"
Print "In this version the problem is no more !"
Print "If any Amos users out there want to convert your own modules"
Print "as mentioned earlier, you will need the new soundtracker converter,"
Print "Ramos 1.21 and Amos 1.21"
Print "Which are available on an update disk from the Offical Amos P.D Library"
Print "for the very reasonable sum of �2.50 (U.K)"
Print ""
Print "The address for this is (as of July 1990)"
Print "Amos Public Domain Library"
Print "c/o Sandra Sharkey"
Print " 25 Park Road"
Print " Wigan"
Print " WN6 7AA"
Print "TEL: 0942 495261"
HELPUPDATE
If XPARAM=99 Then Goto HELP_END
Print "One final Note:"
Print "The demo tunes supplied with this version of AutoPlayer were converted from"
Print "Soundtracker tunes which to the best of my knowledge are in the public domain."
Print "By that I mean that the tunes were supplied to me by P.D Libraries."
Print "I am not responsible for the copyright of them."
HELPUPDATE
HELP_END:
Cls
Fade 3,$0,$0
Wait 3*15
Screen Close 1
Show On
End Proc
Procedure HELPUPDATE
NUM=3
PAGE$="Page "+Str$(PAGE)+" of 10"
Print
Centre(PAGE$)
Print
Centre("Press any key or ESC to quit help")
Fade NUM,$0,$999
Wait NUM*15
Clear Key
Repeat
HOLD$=Inkey$
Until HOLD$<>"" or Key State(69)
If Key State(69) Then XPARAM=99 Else XPARAM=0
Fade NUM,$0,$0
Wait NUM*15
Cls
Inc PAGE
End Proc
Procedure PAUSE_FOR_DISK[D$]
OH_DEAR:
If Exist(D$) Then Pop Proc
NICEPRINT["Please Insert "+D$+" into any drive or SPACE For HELP"]
Repeat
WHAT$=Inkey$
Until(Exist(D$)) or(WHAT$=" ")
Clear Key
NICECLOSE
If WHAT$=" " Then HELP : Goto OH_DEAR
NICEPRINT["Thank You"]
Wait 50
NICECLOSE
End Proc
Procedure MOUSEMOVE[XM,YM]
If X Mouse<XM Then ST=1 Else ST=-1
Y=Y Mouse
For X=X Mouse To XM Step ST
X Mouse=X
Y Mouse=Y
Wait Vbl
Next X
If Y Mouse<YM Then ST=1 Else ST=-1
For Y=Y Mouse To YM Step ST
Y Mouse=Y
X Mouse=X
Wait Vbl
Next Y
End Proc
Procedure FINISH_PROGRAM
Screen Close 0
Erase 1
Erase 3
Screen Open 0,320,256,4096,Lowres
Curs Off : Cls 0
Screen Hide 0
Get Palette 5
Flash Off
Screen Open 6,352,280,4,Lowres
Curs Off : Cls 0
Screen Hide 6
PAUSE_FOR_DISK["Apd101:"]
Load Iff "Apd101:hand"
Flash Off
Screen Hide 6
For ZX=11 To 15
PAUSE_FOR_DISK["Apd101:"]
Load "Apd101:sample"+Str$(ZX)
Next ZX
Screen 0
Screen Show 0
CHOOSE
Hide On
Appear 5 To 0,RAND
Screen Close 5
For T=1 To 5
SAM
Next T
SAM
Show On
CLEAR_BANK
Led On
Cls 0
Screen Open 0,640,280,2,Hires
Curs Off : Cls 0
Hide On
Screen Display 0,112,25,,
Palette 0,0
Wait 65
Palette $555,0
Wait 65
Palette $FFF,0
Wait 65
Screen Open 0,640,256,2,Hires
Curs Off : Cls 0
Palette 0,$F00
Hide On
Get Rom Fonts
Set Font 1
Text 40,22,"Software Failure. Press left mouse button to continue"
Text 150,35,"Guru Meditation #00000003.00C05128"
11
For D=1 To 0 Step -1
Ink D
For F=0 To 2
Box 10+F,8+F To 630-F,43-F
Next F
If Mouse Click<>0 Then Goto FOOLED
For TY=1 To 5000
If Mouse Click<>0 Then Goto FOOLED
Next TY
Next D
If Mouse Click=0 Then Goto 11
FOOLED:
Screen Close 0
Screen Display 6,112,30,,
Hide On
Screen Show 6
Hide On
Screen To Front 6
Hide On
Screen 6
Hide On
Palette $FFF,$FFF,$FFF,$FFF
Screen Open 5,352,280,2,Lowres
Curs Off : Cls 0
Screen 5
Palette $FF0,$FF0
Screen Display 5,112,30,,
Screen To Back 5
Screen 6
Wait 25
Palette $0,$BBB,$66C,$FFF
Wait 1000
PP:
Read A$
If A$<>"..."
NICEPRINT2[A$]
Wait 200
Goto PP
End If
For F=30 To 312
Screen Display 6,112,F,,
Wait Vbl
Next F
Wait 100
Call $E00000
Data "And you thought I'd crashed"
Data "Well I haven't so there !"
Data "But this can be arranged"
Data "I am tired of pretending to crash"
Data "So I am going to crash for real now"
Data "Please remove all disks from drives"
Data "and wait for the Workbench hand"
Data "Your amiga will then be totally reset"
Data "..."
End Proc
Procedure SAM
Restore
For ZX=11 To 15
Sam Raw 15,Start(ZX),Length(ZX),19886
FILTER= Not FILTER
If FILTER Then Led On Else Led Off
Read DELAY
Wait DELAY
Next ZX
Data 35
Data 35
Data 35
Data 35
Data 35
End Proc
Procedure CLEAR_BANK
For F=1 To 15
Erase F
Next F
End Proc
Procedure CHOOSE
CHOOSE:
RAND=Rnd(99999)
If RAND mod 2=0 Then Goto CHOOSE
If RAND mod 5=0 Then Goto CHOOSE
End Proc
Procedure LEDFLASH
Hide On
For U=1 To 10
Wait 25
Led On
Wait 25
Led Off
Next U
Show On
End Proc
Procedure NICEPRINT2[OUTPUT$]
Pen 0
Paper 3
M$=""
M$=M$+Upper$(Left$(OUTPUT$,1))
For F=2 To Len(OUTPUT$)
LOOK$=Mid$(OUTPUT$,F-1,1)
If(LOOK$="_") or(LOOK$=" ") or(LOOK$=".") or(LOOK$="-") Then M$=M$+Upper$(Mid$(OUTPUT$,F,1)) Else M$=M$+Lower$(Mid$(OUTPUT$,F,1))
Next F
Locate 0,5 : Cline
Centre Left$(M$,60)
End Proc
Procedure OOOPS
Default
Print "An error has occured in program"
Print "Program Aborted"
Print "Please report report this bug"
Print "and how it happened"
Print "to"
Print "Paul Townsend"
Print "c/o"
Print "Technical Fred Software"
Print "117 Hilton Lane "
Print "Walkden"
Print "Worsley"
Print "Manchester"
Print "M28 5TB"
Print
Print "Or phone"
Print "(061) 703 7843"
Print "Thank you"
Print
Print "Press a Key"
Clear Key
Wait Key
End
End Proc