Home » Archimedes archive » Acorn Computing » 1994 02 subscription disc.adf » 9402s » PD/PlayTrack/!PlayTrack/!RunImage
PD/PlayTrack/!PlayTrack/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn Computing » 1994 02 subscription disc.adf » 9402s |
Filename: | PD/PlayTrack/!PlayTrack/!RunImage |
Read OK: | ✔ |
File size: | D4A2 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >$.!PlayTrack.!RunImage 20REM PD 30REM 1992 40 50ON ERROR PROCtellemoff("Fatal error: (type="+STR$ERL+") "+REPORT$+" Re-run & try again."):SYS "Wimp_CloseDown":END 60REM errors in this bit of code cannot be dealt with - quit immediately 70REM If you try, templates might not be loaded, menus not defined etc. 80DIM q% 800,useful% 700,ind% &200,ind2% &300,menu% 300,pointer% 400 90DIM icontext% 36,iconvalid% 36,ind3% &200,ind4% &300,open% 650 100DIM indtext% 256:indptr%=0 110DIM ind5% &200,channel(8),ind6% &150,ind7% &100,ind8% &200,ind9% &200 120DIM ind10% &100,ind11% &20,code% 700,ind12% &100,ind13% &20,ind14% &20 130DIM samps% 32*31,volume% 4*31,samplen% 6*31,valid% 3,text% 30:$valid%="z4" 140$text%="No:":$(text%+8)="Name:":$(text%+16)="Vol:":$(text%+24)="Len:" 150edited%=FALSE:playing%=FALSE:speaker=FALSE:buffersize%=0:lenbytes%=0 160copen%=FALSE:topen%=FALSE:sopen%=FALSE:vopen%=FALSE:type=0:newicn%=FALSE 170sicn%=0:nscn%=FALSE:cmos%=42:cmos2%=43:oopen%=FALSE:lap%=TRUE:scr%=FALSE 180dos%=TRUE:afs%=FALSE:vuopen%=FALSE:mute%=FALSE:mak%=FALSE:wopen%=FALSE 190show%=FALSE:cropen%=FALSE:track%=1:com%=TRUE:ap%=TRUE:clock$="48":buff%=0 200workspc%=0 210$q%="TASK" 220SYS "Wimp_Initialise",200,!q%,"PlayTrack" TO ,taskh% 230SYS "Interface_Initialise",,taskh%:REM claim Interface pointers 240lock%=RND(2000):SYS "Tracker_Lock",lock% 250SYS "Wimp_OpenTemplate",,"<PlayTrack$Dir>.Templates" 260SYS "Wimp_LoadTemplate",,q%,ind%,ind%+&200,-1,"info",0 270SYS "Wimp_CreateWindow",,q% TO infowind% 280SYS "Wimp_LoadTemplate",,q%,ind2%,ind2%+&300,-1,"saveas",0 290SYS "Wimp_CreateWindow",,q% TO saveas% 300SYS "Wimp_LoadTemplate",,q%,ind3%,ind3%+&200,-1,"control",0 310SYS "Wimp_CreateWindow",,q% TO control% 320SYS "Wimp_LoadTemplate",,q%,ind4%,ind4%+&300,-1,"tuneinfo",0 330SYS "Wimp_CreateWindow",,q% TO tuneinfo% 340SYS "Wimp_LoadTemplate",,q%,ind5%,ind5%+&200,-1,"stereo",0 350SYS "Wimp_CreateWindow",,q% TO stereo% 360SYS "Wimp_LoadTemplate",,q%,ind6%,ind6%+&150,-1,"buffer",0 370SYS "Wimp_CreateWindow",,q% TO buffer% 380SYS "Wimp_LoadTemplate",,q%,ind7%,ind7%+&100,-1,"oddformat",0 390SYS "Wimp_CreateWindow",,q% TO odd% 400SYS "Wimp_LoadTemplate",,q%,ind8%,ind8%+&200,-1,"helptext",0 410SYS "Wimp_CreateWindow",,q% TO help% 420SYS "Wimp_LoadTemplate",,q%,ind9%,ind9%+&200,-1,"register",0 430SYS "Wimp_CreateWindow",,q% TO register% 440SYS "Wimp_LoadTemplate",,q%,ind10%,ind10%+&100,-1,"options",0 450SYS "Wimp_CreateWindow",,q% TO options% 460SYS "Wimp_LoadTemplate",,q%,ind11%,ind11%+&20,-1,"vumeter",0 470SYS "Wimp_CreateWindow",,q% TO vumeter% 480SYS "Wimp_LoadTemplate",,q%,ind12%,ind12%+&100,-1,"waveform",0 490SYS "Wimp_CreateWindow",,q% TO waveform% 500SYS "Wimp_LoadTemplate",,q%,ind13%,ind13%+&20,-1,"wavepane",0 510SYS "Wimp_CreateWindow",,q% TO wavepane% 520SYS "Wimp_LoadTemplate",,q%,ind14%,ind14%+&20,-1,"cro",0 530SYS "Wimp_CreateWindow",,q% TO cro% 540SYS "Wimp_CloseTemplate" 550PROCsamps_wind 560PROCget_register 570PROCload_opts 580IF scr% SYS "Sound_Configure",,,VALclock$ 590PROCbuffer(VALbuffer$) 600PROCmenu 610PROCassemble:!vu_block%=pointer% 620SYS "Sound_Speaker",0 TO oldspeak%:SYS "Sound_Enable",0 TO oldmute% 630volunit=0.442708333:REM 1 discrete volume unit 640cvol%=255:REM Volume at 100% 650SYS "XOS_Module",18,"TrackerModule" TO ,,,start%;flags% 660IF (flags% AND 1)=1 THEN 670 PROCtellemoff("Cannot initialise TrackerModule address offsets! I must exit immediately (check that TrackerModule is loaded).") 680 PROCtidy 690 SYS "Wimp_CloseDown":SYS "Interface_CloseDown",taskh% 700 SYS "Tracker_Unlock",lock% 710 END 720ENDIF 730sccb%=start%+&1850:REM Start of SCCB in TrackerModule 740h%=OPENUP("<PlayTrack$Dir>.Font"):len%=EXT#h%:CLOSE#h%:fontlen%=len%-1 750DIM font% len%:SYS "OS_File",&FF,"<PlayTrack$Dir>.Font",font% 760icon%=FNiconbar("!PlayTrack","",-1):REM icon on iconbar 770 REM -1 = Utility (RHS) 780 REM -2 = Service (LHS) 790 800quit%=FALSE:REM Nothing happened yet! 810SYS "Tracker_Stereo",4,,,,lock%:FOR I=1 TO 8:PROCstereo(I,4):channel(I)=4:NEXT 820IF registered%=FALSE AND pirate%=FALSE THEN 830 PROCsetup_mess1:PROChold_it(help%) 840 SYS "Wimp_CreateMenu",,register%,640,900 850ENDIF 860 870ONERROR IFFNerror("Error: "+REPORT$+" (code "+STR$ERL+") Quit ? (Buffer="+STR$~workspc%+")",3)=1:SYS "Interface_CloseDown",,taskh%:SYS "Tracker_Stop",,,,,lock%:SYS "Sound_Speaker",oldspeak%:SYS "Sound_Enable",oldmute%:SYS "Tracker_Unlock",lock%:PROCtidy:SYS "Wimp_CloseDown":END 880REM Error handler drops through to wimp_poll loop, AFTER wimp_initialise 890REPEAT 900PROCvolfill 910SYS "Wimp_Poll",,q% TO reason%:REM and poll the wimp. 920SYS "Interface_PreProcessKey",reason%,q%,taskh% 930SYS "Interface_Poll",reason%,,taskh%:REM Ensure pointer up to date 940CASE reason% OF 950WHEN 0 : IF newicn% THEN 960 TIME=0:REPEAT UNTIL TIME>=20 970 CASE type OF 980 WHEN TRUE : PROCputiconsprite(win%,icn%,"selon") 990 WHEN FALSE: PROCputiconsprite(win%,icn%,"seloff") 1000 ENDCASE 1010 newicn%=FALSE 1020 ENDIF 1030 MOUSE x%,y%,b%:IF nscn% AND b%=0 THEN 1040 TIME=0:REPEAT UNTIL TIME>=15 1050 CASE sicn% OF 1060 WHEN 0 : PROCputiconsprite(control%,0,"rev") 1070 WHEN 4 : PROCputiconsprite(control%,4,"fwd") 1080 ENDCASE 1090 nscn%=FALSE 1100 ENDIF 1110 pointer%!0=vumeter%:SYS "Wimp_GetWindowState",,pointer% 1120 IF (pointer%!32 AND 1<<16)<>0 THEN 1130 SYS "Wimp_ForceRedraw",vumeter%,0,-280,310,0 1140 ENDIF 1150 IF cropen% THEN 1160 SYS "Wimp_ForceRedraw",cro%,0,-200,150,0 1170 ENDIF 1180WHEN 1 : PROCredraw 1190WHEN 2 : SYS "Wimp_OpenWindow",,q% 1200 IF !q%=waveform% THEN 1210 !q%=wavepane%:q%!4+=20:q%!8+=20:q%!12-=20:q%!16-=80 1220 !pointer%=wavepane%:SYS "Wimp_GetWindowState",,pointer% 1230 q%!20=pointer%!20:q%!24=pointer%!24 1240 SYS "Wimp_OpenWindow",,q% 1250 ENDIF 1260WHEN 3 : SYS "Wimp_CloseWindow",,q% 1270 IF !q%=control% THEN 1280 copen%=FALSE 1290 PROCtickmenu(open%,0) 1300 PROCshut(control%) 1310 ENDIF 1320 IF !q%=tuneinfo% THEN 1330 topen%=FALSE 1340 PROCtickmenu(open%,1) 1350 PROCshut(tuneinfo%) 1360 ENDIF 1370 IF !q%=stereo% THEN 1380 sopen%=FALSE 1390 PROCtickmenu(open%,2) 1400 PROCshut(stereo%) 1410 ENDIF 1420 IF !q%=samples% THEN 1430 vopen%=FALSE 1440 PROCtickmenu(open%,3) 1450 PROCshut(samples%) 1460 ENDIF 1470 IF !q%=buffer% THEN 1480 bopen%=FALSE 1490 PROCtickmenu(open%,4) 1500 PROCshut(buffer%) 1510 ENDIF 1520 IF !q%=options% THEN 1530 oopen%=FALSE 1540 PROCtickmenu(open%,5) 1550 PROCshut(options%) 1560 ENDIF 1570 IF !q%=vumeter% THEN 1580 vuopen%=FALSE 1590 PROCtickmenu(open%,6) 1600 PROCshut(vumeter%) 1610 ENDIF 1620 IF !q%=waveform% THEN 1630 wopen%=FALSE 1640 PROCtickmenu(open%,7) 1650 PROCshut(waveform%) 1660 PROCshut(wavepane%) 1670 ENDIF 1680 IF !q%=cro% THEN 1690 cropen%=FALSE 1700 PROCtickmenu(open%,8) 1710 PROCshut(cro%) 1720 ENDIF 1730WHEN 4 : SYS "Wimp_SetCaretPosition",-1 1740WHEN 5 : SYS "Wimp_SetCaretPosition",q%!0,-1 1750WHEN 6 : PROCcheckmouse 1760WHEN 7 : f$=FNlastbit(f$):PROCdragend 1770WHEN 8 : PROCkp 1780WHEN 9 : PROCprocess_menu 1790WHEN 17,18 : PROCmessage 1800ENDCASE 1810IF playing% THEN 1820 SYS "Tracker_ReadPos",,,,,lock% TO c 1830 c1=VAL(FNgeticondata(control%,9)) 1840 IF c<>c1 PROCputicondata(control%,9,STR$c) 1850 SYS "Tracker_TuneInfo",,,,,lock% TO ,,s 1860 s1=VAL(FNgeticondata(tuneinfo%,7)) 1870 IF s<>s1 PROCputicondata(tuneinfo%,7,STR$s) 1880 PROCvolfill 1890ENDIF 1900UNTIL quit% 1910SYS "Interface_CloseDown",,taskh% 1920SYS "Sound_Speaker",oldspeak%:SYS "Sound_Enable",oldmute% 1930SYS "Tracker_Stop",,,,,lock%:VDU7 1940SYS "Tracker_Unlock",lock% 1950PROCtidy 1960SYS "Wimp_CloseDown":END:REM leave gracefully 1970 1980DEF FNiconbar(v$,t$,handle%) 1990LOCAL i% 2000IF handle%=-2 THEN :REM Service or Utility? 2010$iconvalid%="S"+v$:$icontext%=t$ 2020ENDIF 2030q%!0=handle% 2040q%!4=0 2050IF handle%=-1 q%!8=0 ELSE q%!8=-16 :REM Set up proper co-ords 2060IF handle%=-1 q%!12=68 ELSE q%!12=78 2070IF handle%=-1 q%!16=96 ELSE q%!16=90 2080IF handle%=-1 THEN :REM And proper icon flags 2090q%!20=&2002 2100ELSE 2110q%!20=%00010111000000000011000100101011 2120ENDIF 2130IF handle%=-1 THEN :REM Indirected? 2140$(q%+24)=v$ 2150ELSE 2160q%!24=icontext% 2170q%!28=iconvalid% 2180q%!32=LEN($icontext%)+1 2190ENDIF 2200SYS "Wimp_CreateIcon",,q% TO i% :REM And draw the icon 2210=i% 2220 2230DEF PROCmessage 2240yr%=q%!8 2250CASE (q%!16) OF 2260WHEN 0 : quit%=TRUE:REM Message_Quit ? 2270WHEN 2 : PROCds:REM Message_DataSave ? 2280WHEN 3 : PROCdl:REM Message_DataLoad ? 2290WHEN 5 : PROCdo:REM Message_DataOpen ? 2300WHEN 8 : PROCpq:REM Message_PreQuit ? 2310WHEN &502 : PROCsendhelp:REM Message_Help ? 2320ENDCASE 2330ENDPROC 2340 2350DEF PROCcheckmouse 2360handle=(q%!12) 2370icon=(q%!16) 2380CASE (q%!12) OF 2390WHEN -2:REM iconbar ? 2400CASE (q%!8) OF 2410WHEN 4 : IF registered%=FALSE AND pirate%=FALSE SYS "Wimp_CreateMenu",,register%,640,900 2420WHEN 2 : SYS "Wimp_CreateMenu",,menu%,!q%-64,319 2430WHEN 1 : REM Adjust ? 2440ENDCASE 2450WHEN saveas% 2460CASE q%!8 OF 2470WHEN 4 : CASE q%!16 OF 2480WHEN 1 : PROCslabicon:f$=FNgeticondata(saveas%,0):PROCquicksave 2490WHEN 3 : f$=FNgeticondata(saveas%,0):PROCdragbox(saveas%,2) 2500WHEN 4 : com%=NOTcom%:PROCtoggleopts(com%,saveas%,4) 2510WHEN 6 : ap%=NOTap%:PROCtoggleopts(ap%,saveas%,6) 2520ENDCASE 2530ENDCASE 2540WHEN control% 2550CASE q%!8 OF 2560WHEN 4 : CASE q%!16 OF 2570WHEN 0 : PROCputiconsprite(control%,0,"rev1"):sicn%=0:nscn%=TRUE 2580 IF playing%SYS "Tracker_ReadPos",,,,,lock% TO c,,m:c-=1:IF c=-1 c=m 2590 IF playing% SYS "Tracker_SetPos",c,,,,lock% 2600WHEN 1 : SYS "Tracker_Pause",,,,,lock% 2610 PROCputiconsprite(control%,1,"pause1") 2620 PROCputiconsprite(control%,2,"stop") 2630 PROCputiconsprite(control%,3,"play") 2640WHEN 2 : IF dos% THEN 2650 SYS "Tracker_Stop",,,,,lock% 2660 PROCputiconsprite(control%,1,"pause") 2670 PROCputiconsprite(control%,2,"stop1") 2680 PROCputiconsprite(control%,3,"play") 2690 PROCputicondata(control%,9,"0") 2700 PROCputicondata(control%,10,"0") 2710 PROCclear:playing%=FALSE 2720 ELSE 2730 SYS "Tracker_Pause",,,,,lock% 2740 SYS "Tracker_SetPos",0,,,,lock% 2750 PROCputiconsprite(control%,1,"pause") 2760 PROCputiconsprite(control%,2,"stop1") 2770 PROCputiconsprite(control%,3,"play") 2780 PROCputicondata(control%,9,"0") 2790 ENDIF 2800WHEN 3 : SYS "Tracker_Play",,,,,lock% 2810 PROCputiconsprite(control%,1,"pause") 2820 PROCputiconsprite(control%,2,"stop") 2830 PROCputiconsprite(control%,3,"play1") 2840WHEN 4 : PROCputiconsprite(control%,4,"fwd1"):sicn%=4:nscn%=TRUE 2850 IF playing%SYS "Tracker_ReadPos",,,,,lock% TO c,,m:c+=1:IF c>m c=0 2860 IF playing% SYS "Tracker_SetPos",c,,,,lock% 2870WHEN 12: speaker=NOT speaker 2880 PROCtoggleopts(speaker,control%,12) 2890 IF speaker SYS "Sound_Speaker",2 ELSE SYS "Sound_Speaker",1 2900WHEN 15: mute%=NOT mute% 2910 PROCtoggleopts(mute%,control%,15) 2920 IF mute% SYS "Sound_Enable",1 ELSE SYS "Sound_Enable",2 2930WHEN 19: PROCvolume 2940ENDCASE 2950WHEN 1 : CASE q%!16 OF 2960WHEN 0 : PROCputiconsprite(control%,0,"fwd1"):sicn%=0:nscn%=TRUE 2970 IF playing% SYS "Tracker_ReadPos",,,,,lock% TO c,,m:c+=1:IF c>m c=0 2980 IF playing% SYS "Tracker_SetPos",c,,,,lock% 2990WHEN 4 : PROCputiconsprite(control%,4,"rev1"):sicn%=4:nscn%=TRUE 3000 IF playing% SYS "Tracker_ReadPos",,,,,lock% TO c,,m:c-=1:IF c=-1 c=m 3010 IF playing% SYS "Tracker_SetPos",c,,,,lock% 3020ENDCASE 3030ENDCASE 3040WHEN stereo% 3050CASE q%!8 OF 3060WHEN 4 : CASE q%!16 OF 3070WHEN 0 : channel(1)-=1:IF channel(1)<1 channel(1)=1 3080 PROCstereo(1,channel(1)) 3090 PROCputiconsprite(stereo%,1,"stereo"+STR$channel(1)):PROCslabicon 3100WHEN 2 : channel(1)+=1:IF channel(1)>7 channel(1)=7 3110 PROCstereo(1,channel(1)) 3120 PROCputiconsprite(stereo%,1,"stereo"+STR$channel(1)):PROCslabicon 3130WHEN 3 : channel(2)-=1:IF channel(2)<1 channel(2)=1 3140 PROCstereo(2,channel(2)) 3150 PROCputiconsprite(stereo%,4,"stereo"+STR$channel(2)):PROCslabicon 3160WHEN 5 : channel(2)+=1:IF channel(2)>7 channel(2)=7 3170 PROCstereo(2,channel(2)) 3180 PROCputiconsprite(stereo%,4,"stereo"+STR$channel(2)):PROCslabicon 3190WHEN 6 : channel(3)-=1:IF channel(3)<1 channel(3)=1 3200 PROCstereo(3,channel(3)) 3210 PROCputiconsprite(stereo%,7,"stereo"+STR$channel(3)):PROCslabicon 3220WHEN 8 : channel(3)+=1:IF channel(3)>7 channel(3)=7 3230 PROCstereo(3,channel(3)) 3240 PROCputiconsprite(stereo%,7,"stereo"+STR$channel(3)):PROCslabicon 3250WHEN 9 : channel(4)-=1:IF channel(4)<1 channel(4)=1 3260 PROCstereo(4,channel(4)) 3270 PROCputiconsprite(stereo%,10,"stereo"+STR$channel(4)):PROCslabicon 3280WHEN 11: channel(4)+=1:IF channel(4)>7 channel(4)=7 3290 PROCstereo(4,channel(4)) 3300 PROCputiconsprite(stereo%,10,"stereo"+STR$channel(4)):PROCslabicon 3310WHEN 20: channel(5)-=1:IF channel(5)<1 channel(5)=1 3320 PROCstereo(5,channel(5)) 3330 PROCputiconsprite(stereo%,21,"stereo"+STR$channel(5)):PROCslabicon 3340WHEN 22: channel(5)+=1:IF channel(5)>7 channel(5)=7 3350 PROCstereo(5,channel(5)) 3360 PROCputiconsprite(stereo%,21,"stereo"+STR$channel(5)):PROCslabicon 3370WHEN 23: channel(6)-=1:IF channel(6)<1 channel(6)=1 3380 PROCstereo(6,channel(6)) 3390 PROCputiconsprite(stereo%,24,"stereo"+STR$channel(6)):PROCslabicon 3400WHEN 25: channel(6)+=1:IF channel(6)>7 channel(6)=7 3410 PROCstereo(6,channel(6)) 3420 PROCputiconsprite(stereo%,24,"stereo"+STR$channel(6)):PROCslabicon 3430WHEN 26: channel(7)-=1:IF channel(7)<1 channel(7)=1 3440 PROCstereo(7,channel(7)) 3450 PROCputiconsprite(stereo%,27,"stereo"+STR$channel(7)):PROCslabicon 3460WHEN 28: channel(7)+=1:IF channel(7)>7 channel(7)=7 3470 PROCstereo(7,channel(7)) 3480 PROCputiconsprite(stereo%,27,"stereo"+STR$channel(7)):PROCslabicon 3490WHEN 29: channel(8)-=1:IF channel(8)<1 channel(8)=1 3500 PROCstereo(8,channel(8)) 3510 PROCputiconsprite(stereo%,30,"stereo"+STR$channel(8)):PROCslabicon 3520WHEN 31: channel(8)+=1:IF channel(8)>7 channel(8)=7 3530 PROCstereo(8,channel(8)) 3540 PROCputiconsprite(stereo%,30,"stereo"+STR$channel(8)):PROCslabicon 3550ENDCASE 3560ENDCASE 3570WHEN buffer% 3580CASE q%!8 OF 3590WHEN 4 : CASE q%!16 OF 3600WHEN 5 : PROCslabicon:PROCbuffer(VAL(FNgeticondata(buffer%,3))) 3610ENDCASE 3620ENDCASE 3630WHEN register% 3640CASE q%!8 OF 3650WHEN 4 : CASE q%!16 OF 3660WHEN 9 : PROCslabicon:PROCregister_copy 3670ENDCASE 3680ENDCASE 3690WHEN options% 3700CASE q%!8 OF 3710WHEN 4 : CASE q%!16 OF 3720WHEN 2 : lap%=NOTlap%:PROCtoggleopts(lap%,options%,2) 3730WHEN 4 : scr%=NOTscr%:PROCtoggleopts(scr%,options%,4) 3740WHEN 6 : dos%=NOTdos%:PROCtoggleopts(dos%,options%,6) 3750WHEN 8 : afs%=NOTafs%:PROCtoggleopts(afs%,options%,8) 3760WHEN 11: mak%=NOTmak%:PROCtoggleopts(mak%,options%,11) 3770WHEN 10: PROCslabicon:PROCsave_opts 3780ENDCASE 3790ENDCASE 3800WHEN waveform% 3810CASE q%!8 OF 3820WHEN 4 : CASE q%!16 OF 3830WHEN 2 : PROCslabicon:PROCplaynote 3840ENDCASE 3850ENDCASE 3860WHEN cro%: 3870CASE q%!8 OF 3880WHEN 4 : track%+=1:IF track%=9 track%=1 3890 pointer%!0=cro%:SYS "Wimp_GetWindowInfo",,pointer% 3900 $(pointer%!76)=STR$track% 3910 SYS "Wimp_GetWindowState",,pointer% 3920 SYS "Wimp_CloseWindow",,pointer% 3930 SYS "Wimp_OpenWindow",,pointer% 3940WHEN 1 : track%-=1:IF track%=0 track%=8 3950 pointer%!0=cro%:SYS "Wimp_GetWindowInfo",,pointer% 3960 $(pointer%!76)=STR$track% 3970 SYS "Wimp_GetWindowState",,pointer% 3980 SYS "Wimp_CloseWindow",,pointer% 3990 SYS "Wimp_OpenWindow",,pointer% 4000ENDCASE 4010ENDCASE 4020ENDPROC 4030 4040DEF PROCmenu 4050REM Setup menus and menu block 4060P%=menu% 4070flags=&7000021 4080PROCmenu_header("PlayTrack",9) 4090PROCmenu_item(&00,infowind%,flags,"Info") 4100IF registered% PROCmenu_item(&00,open%,flags,"Open") ELSE PROCmenu_item(&00,open%,&2000021,"Open") 4110IF registered% PROCmenu_item(&00,saveas%,flags,"Save F3") ELSE PROCmenu_item(&00,saveas%,&2000021,"Save F3") 4120PROCmenu_item(&00,-1,flags,"Stop F6") 4130PROCmenu_item(&80,-1,flags,"Quit") 4140P%=open% 4150PROCmenu_header("Open",14) 4160PROCmenu_item(&00,-1,flags,"Control �F1") 4170PROCmenu_item(&00,-1,flags,"Info �F2") 4180PROCmenu_item(&00,-1,flags,"Stereo �F3") 4190PROCmenu_item(&00,-1,flags,"Samples �F4") 4200PROCmenu_item(&00,-1,flags,"Buffer �F5") 4210PROCmenu_item(&00,-1,flags,"Options �F6") 4220PROCmenu_item(&00,-1,flags,"Vu-Meter �F7") 4230PROCmenu_item(&00,-1,flags,"Waveform �F8") 4240PROCmenu_item(&00,-1,flags,"CRO �F9") 4250PROCmenu_item(&80,-1,flags,"Monitor �F10") 4260IF registered%=FALSE THEN 4270 FOR I%=0 TO 9:PROCgreymenu(open%,I%):NEXT 4280 PROCdisable(saveas%,1):PROCdisable(saveas%,3) 4290ENDIF 4300ENDPROC 4310 4320DEF PROCmenu_header(T$,w) 4330$P%=T$ 4340P%!12=&70207 4350P%!16=w*16 4360P%!20=40 4370P%!24=0 4380P%+=28 4390ENDPROC 4400 4410DEF PROCmenu_item(A%,B%,C%,T$) 4420P%!0=A% 4430P%!4=B% 4440P%!8=C% 4450IF LEN(T$)<13 THEN 4460 $(P%+12)=T$ 4470ELSE 4480 $(indtext%+indptr%)=T$ 4490 P%!12=indtext%+indptr% 4500 P%!16=-1 4510 P%!20=LEN(T$)+1 4520 P%!8=P%!8 OR 1<<8 4530 indptr%+=LEN(T$)+1 4540ENDIF 4550P%+=24 4560ENDPROC 4570 4580DEF FNerror(e$,b%):!q%=0:$(q%+4)=e$+CHR$0 4590SYS "Wimp_ReportError",q%,b%,"PlayTrack" TO ,b% 4600=b% 4610 4620DEF PROCdl 4630LOCAL f$,T% 4640f$=STRING$(250," "):f$="":T%=q%+44 4650WHILE ?T%<>0:f$+=CHR$?T%:T%+=1:ENDWHILE 4660CASE q%!40 OF 4670WHEN &CB6,&001,&CC5,&701 : IF q%!20=-2 PROCtracker_loadit(f$) 4680OTHERWISE : PROChold_it(odd%) 4690ENDCASE 4700q%!12=q%!8:q%!16=4:SYS "Wimp_SendMessage",17,q% 4710ENDPROC 4720 4730DEF PROCdo 4740LOCAL f$,T% 4750f$=STRING$(250," "):f$="":f$=FNrtoz(q%+44) 4760CASE q%!40 OF 4770WHEN &CB6,&001,&CC5,&701 : PROCtracker_loadit(f$) 4780OTHERWISE : ENDPROC 4790ENDCASE 4800q%!12=q%!8:q%!16=4:SYS "Wimp_SendMessage",17,q% 4810ENDPROC 4820 4830DEF PROCredraw 4840SYS "Wimp_RedrawWindow",,q% TO flag 4850x%=q%!4-q%!20:y%=q%!16-q%!24 4860WHILE flag<>0 4870IF !q%=vumeter% AND playing% THEN 4880 SYS "Tracker_SoundInfo",pointer%,,,,lock% 4890 !vu_x%=x%:!vu_y%=y%-280 4900 CALL code% 4910ENDIF 4920IF !q%=wavepane% AND show% AND FNgeticondata(waveform%,1)<>"" AND playing% THEN 4930 SYS "Hourglass_On" 4940 samp%=VAL(FNgeticondata(waveform%,1)):IF samp%=0 SYS "Hourglass_Smash":ENDPROC 4950 SYS "Tracker_ReadSampleTable",samp%,,,,lock% TO ,,len1%,len%,rpt%,rptlen%,addr% 4960 SYS "Wimp_SetColour",7 4970 IF len1%>0 AND addr%>0 THEN 4980 scale%=len%/len1%:rpt%=rpt%/scale%:rptlen%=rptlen%/scale% 4990 sx=0:sy%=0:dist=2112/len1%:mid%=0 5000 MOVE x%,y%-256 5010 FOR I%=0 TO len1% 5020 sx+=dist:sy%=addr%?I%:mid%+=sy% 5030 DRAW x%+sx,(y%-256)+sy% 5040 NEXT I% 5050 mid%=mid%/len1% 5060 SYS "Wimp_SetColour",11 5070 MOVE x%,(y%-256)+mid%:DRAW x%+2112,(y%-256)+mid% 5080 SYS "Wimp_SetColour",10 5090 MOVE x%+rpt%*dist,(y%-256):DRAW x%+rpt%*dist,y% 5100 SYS "Wimp_SetColour",13 5110 MOVE x%+(rpt%+rptlen%)*dist,(y%-256):DRAW x%+(rpt%+rptlen%)*dist,y% 5120 ENDIF 5130 SYS "Hourglass_Off" 5140ENDIF 5150IF !q%=cro% THEN 5160 SYS "Wimp_SetColour",14 5170 FOR I%=0 TO 150 STEP 50:MOVE x%+I%,(y%-200):DRAW x%+I%,y%:NEXT I% 5180 FOR I%=0 TO 200 STEP 50:MOVE x%,(y%-I%):DRAW x%+150,(y%-I%):NEXT I% 5190 IF playing% THEN 5200 SYS "Wimp_SetColour",0 5210 SYS "Tracker_SoundInfo",pointer%,,,,lock%:boff%=(pointer%!((track%-1)*32)>>>16) 5220 samp%=(pointer%!(((track%-1)*32)+16)) 5230 IF samp%>0 THEN 5240 SYS "Tracker_ReadSampleTable",samp%,,,,lock% TO ,,,len%,,,addr%:IF boff%>len%-15 boff%=len%-15 5250 IF boff%<len%+15 bof%=len%+15 5260 MOVE x%,(y%-200)+addr%?(boff%-1):sx%=0:sy=0:FOR I%=boff%-15 TO boff%+15:sy=(addr%?I%)/1.28:DRAW x%+sx%,(y%-200)+sy:sx%+=(150/30):NEXT 5270 ELSE 5280 MOVE x%,(y%-100):DRAW x%+150,(y%-100) 5290 ENDIF 5300 ENDIF 5310ENDIF 5320IF !q%<>vumeter% SYS "Interface_Render3dWindow",,q% 5330SYS "Wimp_GetRectangle",,q% TO flag 5340ENDWHILE 5350ENDPROC 5360 5370DEF PROCassemble:REM redraw code in assembler for speed: 5380FOR pass%=8 TO 11 STEP 2 5390P%=code%:L%=code%+700 5400[OPT pass% 5410LDR R0,vu_block% 5420LDR R1,[R0,#24]:STR R1,chan1% 5430LDR R1,[R0,#32+24]:STR R1,chan2% 5440LDR R1,[R0,#64+24]:STR R1,chan3% 5450LDR R1,[R0,#96+24]:STR R1,chan4% 5460LDR R1,[R0,#128+24]:STR R1,chan5% 5470LDR R1,[R0,#160+24]:STR R1,chan6% 5480LDR R1,[R0,#192+24]:STR R1,chan7% 5490LDR R1,[R0,#224+24]:STR R1,chan8% 5500MOV R0,#11 5510SWI "Wimp_SetColour" 5520LDR R2,vu_y% 5530LDR R1,vu_x%:MOV R0,#4 5540SWI "OS_Plot" 5550MOV R1,#30:LDR R3,chan1%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5560MOV R0,#97:SWI "OS_Plot" 5570LDR R2,vu_y% 5580LDR R1,vu_x%:ADD R1,R1,#40:MOV R0,#4 5590SWI "OS_Plot" 5600MOV R1,#30:LDR R3,chan2%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5610MOV R0,#97:SWI "OS_Plot" 5620LDR R2,vu_y% 5630LDR R1,vu_x%:ADD R1,R1,#80:MOV R0,#4 5640SWI "OS_Plot" 5650MOV R1,#30:LDR R3,chan3%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5660MOV R0,#97:SWI "OS_Plot" 5670LDR R2,vu_y% 5680LDR R1,vu_x%:ADD R1,R1,#120:MOV R0,#4 5690SWI "OS_Plot" 5700MOV R1,#30:LDR R3,chan4%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5710MOV R0,#97:SWI "OS_Plot" 5720LDR R2,vu_y% 5730LDR R1,vu_x%:ADD R1,R1,#160:MOV R0,#4 5740SWI "OS_Plot" 5750MOV R1,#30:LDR R3,chan5%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5760MOV R0,#97:SWI "OS_Plot" 5770LDR R2,vu_y% 5780LDR R1,vu_x%:ADD R1,R1,#200:MOV R0,#4 5790SWI "OS_Plot" 5800MOV R1,#30:LDR R3,chan6%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5810MOV R0,#97:SWI "OS_Plot" 5820LDR R2,vu_y% 5830LDR R1,vu_x%:ADD R1,R1,#240:MOV R0,#4 5840SWI "OS_Plot" 5850MOV R1,#30:LDR R3,chan7%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5860MOV R0,#97:SWI "OS_Plot" 5870LDR R2,vu_y% 5880LDR R1,vu_x%:ADD R1,R1,#280:MOV R0,#4 5890SWI "OS_Plot" 5900MOV R1,#30:LDR R3,chan8%:MOV R2,R3,LSL #3:SUB R2,R2,R3 5910MOV R0,#97:SWI "OS_Plot" 5920MOV PC,R14 5930.vu_block% EQUD 0:.chan1% EQUD 0:.chan2% EQUD 0:.chan3% EQUD 0 5940.chan4% EQUD 0:.chan5% EQUD 0:.chan6% EQUD 0:.chan7% EQUD 0 5950.chan8% EQUD 0:.vu_x% EQUD 0:.vu_y% EQUD 0 5960] 5970NEXT pass% 5980ENDPROC 5990 6000DEF PROCprocess_menu 6010SYS "Wimp_GetPointerInfo",,pointer%:j%=(pointer%!8=1) 6020CASE handle OF 6030WHEN -2 6040CASE q%!0 OF 6050WHEN 1 : CASE q%!4 OF 6060 WHEN 0 : copen%=NOTcopen%:PROCtickmenu(open%,0) 6070 IF copen% PROCopenup(control%,0,1024,625,325) 6080 IF NOT copen% PROCshut(control%) 6090 WHEN 1 : topen%=NOTtopen%:PROCtickmenu(open%,1) 6100 IF topen% PROCopenup(tuneinfo%,580,530,700,430) 6110 IF NOT topen% PROCshut(tuneinfo%) 6120 WHEN 2 : sopen%=NOTsopen%:PROCtickmenu(open%,2) 6130 IF sopen% PROCwindow_centre(stereo%,1110,250) 6140 IF NOT sopen% PROCshut(stereo%) 6150 WHEN 3 : vopen%=NOTvopen%:PROCtickmenu(open%,3) 6160 IF vopen% PROCopenback(samples%,0,1000,700,850) 6170 IF NOT vopen% PROCshut(samples%) 6180 WHEN 4 : bopen%=NOTbopen%:PROCtickmenu(open%,4) 6190 IF bopen% PROCwindow_centre(buffer%,700,475) 6200 IF NOT bopen% PROCshut(buffer%) 6210 WHEN 5 : oopen%=NOToopen%:PROCtickmenu(open%,5) 6220 IF oopen% PROCwindow_centre(options%,768,367) 6230 IF NOT oopen% PROCshut(options%) 6240 WHEN 6 : vuopen%=NOTvuopen%:PROCtickmenu(open%,6) 6250 IF vuopen% PROCopenup(vumeter%,970,900,310,280) 6260 IF NOT vuopen% PROCshut(vumeter%) 6270 WHEN 7 : wopen%=NOTwopen%:PROCtickmenu(open%,7) 6280 IF wopen% PROCopenlinked(waveform%,wavepane%,1280,390,2112,256) 6290 IF NOT wopen% PROCshut(waveform%):PROCshut(wavepane%) 6300 WHEN 8 : cropen%=NOT cropen%:PROCtickmenu(open%,8) 6310 IF cropen% PROCopenup(cro%,700,500,150,200) 6320 IF NOT cropen% PROCshut(cro%) 6330 WHEN 9 : PROCmonitor 6340 ENDCASE 6350WHEN 3 : IF dos% THEN 6360 SYS "Tracker_Stop",,,,,lock% 6370 PROCputiconsprite(control%,1,"pause") 6380 PROCputiconsprite(control%,2,"stop1") 6390 PROCputiconsprite(control%,3,"play") 6400 PROCputicondata(control%,9,"0") 6410 PROCputicondata(control%,10,"0") 6420 PROCclear:playing%=FALSE 6430 ELSE 6440 SYS "Tracker_Pause",,,,,lock% 6450 SYS "Tracker_SetPos",0,,,,lock% 6460 PROCputiconsprite(control%,1,"pause") 6470 PROCputiconsprite(control%,2,"stop1") 6480 PROCputiconsprite(control%,3,"play") 6490 PROCputicondata(control%,9,"0") 6500 ENDIF 6510WHEN 4 : IF edited%=TRUE THEN 6520 IF FNok("File(s) edited but not saved. Really quit ?") THEN 6530 quit%=TRUE 6540 ELSE 6550 quit%=FALSE 6560 ENDIF 6570 ELSE 6580 IF edited%=FALSE THEN 6590 quit%=TRUE 6600 ENDIF 6610 ENDIF 6620ENDCASE 6630IF j% SYS "Wimp_CreateMenu",,menu%,pointer%!0,pointer%!4 6640ENDCASE 6650ENDPROC 6660 6670DEF PROCopenup(handle,x,y,w,h) 6680pointer%!0=handle 6690pointer%!4=x:pointer%!8=y-h 6700pointer%!12=x+w:pointer%!16=y 6710pointer%!20=0:pointer%!24=0 6720pointer%!28=-1 6730SYS "Wimp_OpenWindow",,pointer% 6740ENDPROC 6750 6760DEF PROCopenback(handle,x,y,w,h) 6770pointer%!0=handle 6780pointer%!4=x:pointer%!8=y-h 6790pointer%!12=x+w:pointer%!16=y 6800pointer%!20=0:pointer%!24=0 6810pointer%!28=-2 6820SYS "Wimp_OpenWindow",,pointer% 6830ENDPROC 6840 6850DEF PROCslabicon 6860SYS "Interface_SlabButton",,q%:REM Slab in... 6870q%!8=0 6880SYS "Interface_SlabButton",,q%:REM ...and out 6890ENDPROC 6900 6910DEF PROCshut(h%) 6920pointer%!0=h%:SYS "Wimp_CloseWindow",,pointer% 6930ENDPROC 6940 6950DEF PROCsendhelp 6960q%!12=q%!8:q%!16=&503:help%=q%+20 6970help%=FNhelp(q%!32,q%!36,q%!20,q%!24,help%):IF help%=0 ENDPROC 6980?help%=0:REM No, so send application help 6990!q%=(help%+4-q%)ANDNOT3:REM Setup help block 7000SYS "Wimp_SendMessage",17,q%,q%!4:REM and send it 7010ENDPROC 7020 7030DEF FNhelp(window%,icon%,x%,y%,to%) 7040$to%="" 7050CASE window% OF 7060 WHEN -2 : REM iconbar ? 7070 CASE icon% OF 7080 WHEN icon% : REM my icon ? 7090 $to%="This is the PlayTrack icon.|MDrag Tracker tunes to it to play them." 7100 ENDCASE 7110 WHEN infowind% : REM info window ? 7120 CASE icon% OF 7130 WHEN -1,0,1,2,3,4,5,6,7,8 : REM not over 'Click here...' icon ? 7140 $to%="This is the Info window.|MIt provides information on PlayTrack." 7150 OTHERWISE : SYS "Interface_SendHelp",,q%:=0:REM Send Interface help 7160 ENDCASE 7170 WHEN saveas% : REM 'Save as:' window ? 7180 CASE icon% OF 7190 WHEN -1 : REM over work area ? 7200 $to%="This is the 'Save' window.|MIt is used to save a file." 7210 OTHERWISE : SYS "Interface_SendHelp",,q%:=0:REM Send Interface help 7220 ENDCASE 7230ENDCASE 7240=to%+LEN($to%) 7250 7260DEF FNgeticondata(window%,icon%) 7270pointer%!0=window% 7280pointer%!4=icon% 7290SYS "Wimp_GetIconState",,pointer% 7300=$(pointer%!28) 7310 7320DEF PROCputicondata(window%,icon%,t$) 7330pointer%!0=window%:pointer%!4=icon% 7340SYS "Wimp_GetIconState",,pointer% 7350$(pointer%!28)=t$ 7360pointer%!12=0:pointer%!8=0 7370SYS "Wimp_SetIconState",,pointer% 7380ENDPROC 7390 7400DEF PROCputiconsprite(window%,icon%,t$) 7410pointer%!0=window%:pointer%!4=icon% 7420SYS "Wimp_GetIconState",,pointer% 7430SYS "Wimp_DeleteIcon",,pointer% 7440pointer%!4=window%:$(pointer%+28)=t$ 7450pointer%+=4:SYS "Wimp_CreateIcon",,pointer% 7460SYS "Wimp_ForceRedraw",pointer%!0,pointer%!4,pointer%!8,pointer%!12,pointer%!16 7470pointer%-=4 7480ENDPROC 7490 7500DEF PROCtellemoff(e$) 7510er%=pointer% 7520!er%=0 7530$(er%+4)=e$+CHR$0 7540SYS "Wimp_ReportError",er%,1,"PlayTrack" 7550ENDPROC 7560 7570DEF FNrtoz(T%):LOCAL q$:WHILE ?T%<>0:q$+=CHR$?T%:T%+=1:ENDWHILE:=q$ 7580 7590DEF PROCpq 7600IF edited% THEN 7610IF NOT FNok("File(s) edited but not saved. Really quit ?"):PROCno_quit 7620ENDIF 7630ENDPROC 7640 7650DEF FNok(e$) 7660er%=pointer% 7670!er%=0 7680$(er%+4)=e$+CHR$0 7690SYS "Wimp_ReportError",er%,&17,"Message from !PlayTrack" TO ,b% 7700=(b%=1) 7710 7720DEF PROCno_quit 7730q%!12=q%!8:q%!16=8:SYS "Wimp_SendMessage",17,q%,q%!4:ENDPROC 7740 7750DEF PROCdragend 7760d%=pointer% 7770SYS "Wimp_GetPointerInfo",,d% 7780d%!32=d%!4 :tt%=d%!32 7790d%!28=!d% :te%=d%!28 7800d%!24=d%!16 :tf%=d%!24 7810d%!20=d%!12 :tw%=d%!20 7820d%!16=1 :d%!12=0 :d%!36=0 7830d%!40=0 :!d%=64 :$(d%+44)=f$ 7840SYS "Wimp_SendMessage",17,d%,d%!20,d%!24 7850mr%=d%!8 7860ENDPROC 7870 7880DEF FNlastbit(s$) 7890WHILE INSTR(s$,":")>0 7900s$=MID$(s$,INSTR(s$,":")+1) 7910ENDWHILE 7920WHILE INSTR(s$,".")>0 7930s$=MID$(s$,INSTR(s$,".")+1) 7940ENDWHILE 7950=s$ 7960 7970DEF PROCds 7980PROCputicondata(saveas%,0,FNrtoz(q%+44)) 7990f$=FNrtoz(q%+44) 8000PROCsd(&FFA) 8010ENDPROC 8020 8030DEF PROCdragbox(w%,i%) 8040d%=pointer% 8050!d%=w% 8060SYS "Wimp_GetWindowState",,d% 8070ys%=d%!16-d%!8:x%=d%!4:y%=d%!8 8080d%!4=i% 8090SYS "Wimp_GetIconState",,d% 8100f$=FNlastbit(f$) 8110d%!8+=x% 8120d%!12+=y%+ys% 8130d%!16+=x% 8140d%!20+=y%+ys% 8150d%!24=0 8160d%!28=0 8170SYS "OS_ReadModeVariable",MODE,4 TO ,,h%:h%=FNextracth(h%) 8180SYS "OS_ReadModeVariable",MODE,5 TO ,,v%:v%=FNextractv(v%) 8190d%!32=(h%*2) 8200d%!36=(v%*4) 8210!d%=0 8220d%!4=5 8230SYS "Wimp_DragBox",,d% 8240ENDPROC 8250 8260DEF PROCquicksave 8270IF INSTR(f$,":")<1 AND INSTR(f$,".")<1 THEN 8280PROCtellemoff("To save, drag icon to a directory viewer") 8290ELSE 8300PROCsd(&FFA) 8310ENDIF 8320ENDPROC 8330 8340DEF PROCsd(t%) 8350PROCsave_rm(f$) 8360d%=pointer% 8370!d%=64 8380d%!20=tw% 8390d%!24=tf% 8400d%!28=te% 8410d%!32=tt% 8420d%!12=yr% 8430d%!16=3 8440d%!36=0 8450d%!40=t% 8460$(d%+44)=f$ 8470SYS "Wimp_SendMessage",17,d%,d%!20 8480SYS "OS_File",18,f$,t% 8490SYS "Wimp_CreateMenu",,-1 8500ENDPROC 8510 8520DEF FNextracth(a%) 8530CASE a% OF 8540 WHEN 0 : =1280 8550 WHEN 1 : =640 8560 WHEN 2 : =320 8570 WHEN 3 : =160 8580ENDCASE 8590 8600DEF FNextractv(a%) 8610CASE a% OF 8620 WHEN 1 : =512 8630 WHEN 2 : =256 8640ENDCASE 8650 8660DEF PROCtoggleopts(flag,w%,i%):win%=w%:icn%=i% 8670PROCputiconsprite(w%,i%,"selclick") 8680CASE flag OF 8690 WHEN TRUE : newicn%=TRUE:type=flag 8700 WHEN FALSE : newicn%=TRUE:type=flag 8710ENDCASE 8720ENDPROC 8730 8740DEF PROCtoggleradio(flag,w%,i%,i2%) 8750CASE flag OF 8760 WHEN TRUE : PROCputiconsprite(w%,i%,"radon") 8770 PROCputiconsprite(w%,i2%,"radoff") 8780 WHEN FALSE : PROCputiconsprite(w%,i%,"radoff") 8790 PROCputiconsprite(w%,i2%,"radon") 8800ENDCASE 8810ENDPROC 8820 8830DEF PROChackflags(w%,i%,eor%,or%) 8840pointer%!0=w%:pointer%!4=i% 8850pointer%!8=eor%:pointer%!12=or% 8860SYS "Wimp_SetIconState",,pointer% 8870ENDPROC 8880 8890DEF PROCenable(w%,i%) 8900PROChackflags(w%,i%,0,&400000) 8910ENDPROC 8920 8930DEF PROCdisable(w%,i%) 8940PROChackflags(w%,i%,&400000,&400000) 8950ENDPROC 8960 8970DEF PROCselect(w%,i%) 8980PROChackflags(w%,i%,&200000,&200000) 8990ENDPROC 9000 9010DEF PROCdeselect(w%,i%) 9020PROChackflags(w%,i%,0,&200000) 9030ENDPROC 9040 9050DEF PROCtoedit(file$) 9060!pointer%=(48+LENfile$)ANDNOT3 9070pointer%!12=0 9080pointer%!16=5 9090pointer%!36=-2 9100pointer%!40=&FFF 9110$(pointer%+44)=file$+CHR$0 9120SYS "Wimp_SendMessage",18,pointer%,0 9130ENDPROC 9140 9150DEF PROCtocursor(text$) 9160FOR key%=1 TO LEN(text$) 9170SYS "Wimp_ProcessKey",ASC(MID$(text$,key%,1)) 9180SYS "Wimp_Poll",,q% TO reason% 9190SYS "Interface_PreProcessKey",reason%,q%,taskh% 9200SYS "Interface_Poll",reason%,,taskh% 9210CASE reason% OF 9220 WHEN 1 : PROCredraw 9230 WHEN 2 : SYS "Wimp_OpenWindow",,q% 9240 WHEN 3 : SYS "Wimp_CloseWindow",,q% 9250 WHEN 6 : PROCcheckmouse 9260 WHEN 7 : f$=FNlastbit(f$):PROCdragend 9270 WHEN 9 : PROCprocess_menu 9280 WHEN 17,18 : PROCmessage 9290ENDCASE 9300NEXT 9310ENDPROC 9320 9330DEF PROCtickmenu(b%,n%) 9340b%!(28+24*n%)=b%!(28+24*n%) EOR &01 9350ENDPROC 9360 9370DEF PROCgreymenu(b%,n%) 9380b%!((28+24*n%)+8)=b%!((28+24*n%)+8) EOR &400000 9390ENDPROC 9400 9410DEF PROCwindow_centre(handle%,w%,h%) 9420x%=((1280-w%)/2) 9430y%=(((1024-h%)/2)+h%) 9440PROCopenup(handle%,x%,y%,w%,h%) 9450ENDPROC 9460 9470DEF PROCforce_redraw 9480SYS "Wimp_ForceRedraw",fontselect%,0,0-400,700,0 9490ENDPROC 9500 9510DEF PROCtracker_loadit(f$):tune$=f$ 9520SYS "Tracker_Stop",,,,,lock%:REM Release so next call won't corrupt 9530IF workspc%>0 SYS "OS_Heap",3,buff%,workspc% 9540h%=OPENUP(f$):len%=EXT#h%:CLOSE#h% 9550SYS "OS_Heap",2,buff%,,len% TO ,,workspc%;flags% 9560IF (flags% AND 1)=1 PROCtellemoff("Buffer size is inadequate: Please extend"):ENDPROC 9570SYS "OS_File",&FF,f$,workspc% 9580SYS "Tracker_MemoryLoad",workspc%,len%,,,lock% 9590SYS "Sound_Speaker",1:speaker=FALSE 9600IF lap% SYS "Tracker_Play",,,,,lock% 9610IF registered% PROCopenup(control%,0,1024,625,325) 9620PROCputiconsprite(control%,0,"rev") 9630PROCputiconsprite(control%,1,"pause") 9640IF lap% PROCputiconsprite(control%,2,"stop") ELSE PROCputiconsprite(control%,2,"stop1") 9650IF lap% PROCputiconsprite(control%,3,"play1") ELSE PROCputiconsprite(control%,3,"play") 9660PROCputiconsprite(control%,4,"fwd") 9670SYS "Tracker_ReadPos",,,,,lock% TO current,,max 9680PROCputicondata(control%,10,STR$max) 9690IF registered% PROCopenup(tuneinfo%,580,530,700,430) 9700PROCputicondata(tuneinfo%,1,f$) 9710h%=OPENUP(f$):len%=EXT#h%:CLOSE#h% 9720PROCputicondata(tuneinfo%,3,STR$len%+" bytes -- "+STR$(FNint((len%/1024)+0.4))+"K"):lenbytes%=len% 9730SYS "Tracker_TuneInfo",,,,,lock% TO len1%,voices%,speed%,name$,a% 9740IF a%>0 author$=FNrtoz(a%) ELSE author$="" 9750name$=FNstrip(name$) 9760PROCputicondata(tuneinfo%,5,STR$voices%) 9770PROCputicondata(tuneinfo%,7,STR$speed%) 9780PROCputicondata(tuneinfo%,9,STR$len1%) 9790PROCputicondata(tuneinfo%,11,name$) 9800PROCputicondata(tuneinfo%,13,author$) 9810PROCputicondata(tuneinfo%,15,FNfmat(f$)) 9820PROCputicondata(control%,14,name$) 9830SYS "OS_File",5,f$ TO ,,load%:type%=(load%>>>8)AND&FFF:CASE type% OF 9840WHEN &001 : PROCputicondata(tuneinfo%,17,"STracker") 9850WHEN &CB6 : PROCputicondata(tuneinfo%,17,"STModule") 9860WHEN &CC5 : PROCputicondata(tuneinfo%,17,"TeqMusic") 9870WHEN &701 : PROCputicondata(tuneinfo%,17,"ProTrack") 9880ENDCASE 9890IF afs% SYS "OS_File",18,f$,&CB6 9900PROCsamples_draw 9910PROCredo_buff(lenbytes%) 9920IF copen%=FALSE copen%=TRUE:PROCtickmenu(open%,0) 9930IF topen%=FALSE topen%=TRUE:PROCtickmenu(open%,1) 9940playing%=TRUE 9950ENDPROC 9960 9970DEF PROCredo_buff(len%) 9980IF buffersize%>0 THEN 9990 PROCputicondata(buffer%,10,STR$len%+" bytes -- "+STR$(FNint(len%/1024))+"K") 10000 SYS "OS_Heap",1,buff% TO ,,,free% 10010 PROCputicondata(buffer%,11,STR$(free%)+" bytes -- "+STR$(FNint(free%/1024))+"K") 10020ELSE 10030 PROCputicondata(buffer%,10,"No buffer defined") 10040 PROCputicondata(buffer%,11,"No buffer defined") 10050ENDIF 10060ENDPROC 10070 10080DEF PROCclear 10090PROCputicondata(tuneinfo%,1,"No Tune Loaded") 10100PROCputicondata(tuneinfo%,3,"No Tune Loaded") 10110PROCputicondata(tuneinfo%,5,"0") 10120PROCputicondata(tuneinfo%,7,"0") 10130PROCputicondata(tuneinfo%,9,"0") 10140PROCputicondata(tuneinfo%,11,"No Tune Loaded") 10150PROCputicondata(tuneinfo%,13,"No Tune Loaded") 10160PROCputicondata(tuneinfo%,15,"0") 10170PROCputicondata(tuneinfo%,17,"No Tune Loaded") 10180PROCputicondata(control%,14,"") 10190ENDPROC 10200 10210DEF FNstrip(text$) 10220WHILE ASC(RIGHT$(text$,1))<33:text$=LEFT$(text$,(LENtext$)-1):ENDWHILE 10230WHILE ASC(LEFT$(text$,1))<33:text$=RIGHT$(text$,(LENtext$)-1):ENDWHILE 10240=text$ 10250 10260DEF FNfmat(f$) 10270CASE mak% OF 10280WHEN TRUE : =FNmandk(f$) 10290WHEN FALSE: =FNxbyte(f$) 10300ENDCASE 10310 10320DEF FNxbyte(f$) 10330h%=OPENUP(f$) 10340PTR#h%=471 10350a=BGET#h% 10360CLOSE#h% 10370IF a=&78 ="15" ELSE ="31" 10380 10390DEF FNmandk(f$) 10400h%=OPENUP(f$) 10410PTR#h%=1080 10420q$="":FOR I%=1 TO 4:q$+=CHR$(BGET#h%):NEXT 10430CLOSE#h% 10440IF q$="M.K." OR q$="FLT4" OR q$="FLT8" ="31" ELSE ="15" 10450REM Check for Startrekker as well as ProTracker ID 10460 10470DEF PROCstereo(ch,pos) 10480SYS "Sound_Stereo",ch,FNpos(pos) 10490ENDPROC 10500 10510DEF FNpos(pos) 10520CASE pos OF 10530 WHEN 1 : =-127 10540 WHEN 2 : =-79 10550 WHEN 3 : =-47 10560 WHEN 4 : =0 10570 WHEN 5 : =47 10580 WHEN 6 : =79 10590 WHEN 7 : =127 10600ENDCASE 10610 10620DEF FNcreate(ww,wh,tf,tb,sc,T$,wf,wb,flags) 10630pointer%!24=-1:pointer%!28=flags 10640pointer%?32=tf:pointer%?33=tb 10650pointer%?34=wf:pointer%?35=wb 10660pointer%?36=3:pointer%?37=1 10670pointer%?38=sc:pointer%?39=0 10680pointer%!40=0:pointer%!44=wh 10690pointer%!48=ww:pointer%!52=0 10700pointer%!56=&3D:pointer%!60=0 10710pointer%!64=0:pointer%!68=0 10720$(pointer%+72)=T$ 10730pointer%!84=0 10740SYS "Wimp_CreateWindow",,pointer% TO h% 10750=h% 10760 10770DEF PROCcreate_icon(handle,addr,minx,maxx,miny,ht,t$,flags,len) 10780pointer%!0=handle:pointer%!4=minx 10790pointer%!8=miny:pointer%!12=maxx 10800pointer%!16=miny+ht:pointer%!20=flags 10810IF addr=0 THEN 10820$(pointer%+24)=t$ 10830ELSE 10840pointer%!24=addr 10850IF t$="�" pointer%!28=valid% ELSE pointer%!28=-1 10860pointer%!32=len 10870ENDIF 10880SYS "Wimp_CreateIcon",,pointer% 10890ENDPROC 10900 10910DEF PROCsamps_wind 10920start%=samps% 10930volstart%=volume% 10940sampstart%=samplen% 10950samples%=FNcreate(700,-1200,7,2,12,"Samples",7,1,%111) 10960miny=-60 10970PROCcreate_icon(samples%,text%,10,80,miny,52,"�",&17000121,0) 10980PROCcreate_icon(samples%,text%+8,90,200,miny,52,"�",&17000121,0) 10990PROCcreate_icon(samples%,text%+16,500,590,miny,52,"�",&17000121,0) 11000PROCcreate_icon(samples%,text%+24,600,690,miny,52,"�",&17000121,0) 11010miny-=60 11020count%=1 11030FOR I=1 TO 31 11040$samps%="" 11050$volume%="" 11060$samplen%="" 11070PROCcreate_icon(samples%,0,10,80,miny,36,STR$I,&7000021,0) 11080PROCcreate_icon(samples%,samps%,90,490,miny,36,"",&7016121,32) 11090PROCcreate_icon(samples%,volume%,500,590,miny,36,"",&7000121,32) 11100PROCcreate_icon(samples%,samplen%,600,690,miny,36,"",&7000121,32) 11110miny-=36:samps%+=32:volume%+=4:samplen%+=6:count%+=1 11120NEXT 11130samps%=start% 11140volume%=volstart% 11150samplen%=sampstart% 11160ENDPROC 11170: 11180DEF PROCsamples_draw 11190sampsnum=0 11200start%=samps% 11210volstart%=volume% 11220sampstart%=samplen% 11230FOR I=1 TO 31 11240SYS "Tracker_ReadSampleTable",I,,,,lock% TO no%,a$,vol%,len% 11250PROCputicontext(samples%,(2*I)+3,samps%,a$) 11260IF vol%<>0 PROCputicontext(samples%,(2*I)+4,volume%,STR$vol%) ELSE PROCputicontext(samples%,(2*I)+4,volume%,"") 11270IF len%<>0 PROCputicontext(samples%,(2*I)+5,samplen%,STR$len%) ELSE PROCputicontext(samples%,(2*I)+5,samplen%,""):sampsnum+=1 11280samps%+=32:volume%+=4:samplen%+=6 11290NEXT 11300samps%=start% 11310volume%=volstart% 11320samplen%=sampstart% 11330ENDPROC 11340 11350DEF PROCputicontext(window%,icon%,buffer%,text$) 11360$buffer%=text$ 11370pointer%!0=window%:pointer%!4=icon% 11380pointer%!8=0:pointer%!12=0 11390SYS "Wimp_SetIconState",,pointer% 11400ENDPROC 11410 11420DEF PROCkp 11430SYS "Wimp_ProcessKey",q%!24 11440CASE q%!0 OF 11450 WHEN buffer% 11460 CASE q%!4 OF 11470 WHEN 3 11480 CASE q%!24 OF 11490 WHEN 13 : q%!8=4:q%!12=buffer%:q%!16=5:PROCslabicon 11500 PROCbuffer(VAL(FNgeticondata(buffer%,3))) 11510 ENDCASE 11520 ENDCASE 11530 WHEN waveform% 11540 CASE q%!4 OF 11550 WHEN 1 11560 CASE q%!24 OF 11570 WHEN 13 : show%=TRUE:SYS "Wimp_ForceRedraw",wavepane%,0,-256,2112,0 11580 ENDCASE 11590 ENDCASE 11600ENDCASE 11610CASE q%!24 OF 11620 WHEN 385 : speaker=NOTspeaker:PROCtoggleopts(speaker,control%,12) 11630 IF speaker SYS "Sound_Speaker",2 ELSE SYS "Sound_Speaker",1 11640 WHEN 386 : mute%=NOTmute%:PROCtoggleopts(mute%,control%,15) 11650 IF mute% SYS "Sound_Enable",1 ELSE SYS "Sound_Enable",2 11660 WHEN 387 : IF register% THEN 11670 SYS "Wimp_GetPointerInfo",,pointer% 11680 SYS "Wimp_CreateMenu",,saveas%,pointer%!0-64,pointer%!4+64 11690 ENDIF 11700 WHEN 388 : PROCputiconsprite(control%,0,"rev1"):sicn%=0:nscn%=TRUE 11710 SYS "Tracker_ReadPos",,,,,lock% TO c,,m:c-=1:IF c<0 c=m 11720 SYS "Tracker_SetPos",c,,,,lock% 11730 WHEN 389 : SYS "Tracker_Pause",,,,,lock% 11740 PROCputiconsprite(control%,1,"pause1") 11750 PROCputiconsprite(control%,2,"stop") 11760 PROCputiconsprite(control%,3,"play") 11770 WHEN 390 : IF dos% THEN 11780 SYS "Tracker_Stop",,,,,lock% 11790 PROCputiconsprite(control%,1,"pause") 11800 PROCputiconsprite(control%,2,"stop1") 11810 PROCputiconsprite(control%,3,"play") 11820 PROCputicondata(control%,9,"0") 11830 PROCputicondata(control%,10,"0") 11840 PROCclear:playing%=FALSE 11850 ELSE 11860 SYS "Tracker_Pause",,,,,lock% 11870 SYS "Tracker_SetPos",0,,,,lock% 11880 PROCputiconsprite(control%,1,"pause") 11890 PROCputiconsprite(control%,2,"stop1") 11900 PROCputiconsprite(control%,3,"play") 11910 ENDIF 11920 WHEN 391 : SYS "Tracker_Play",,,,,lock% 11930 PROCputiconsprite(control%,1,"pause") 11940 PROCputiconsprite(control%,2,"stop") 11950 PROCputiconsprite(control%,3,"play1") 11960 WHEN 392 : PROCputiconsprite(control%,4,"fwd1"):sicn%=4:nscn%=TRUE 11970 SYS "Tracker_ReadPos",,,,,lock% TO c,,m:c+=1:IF c>m c=0 11980 SYS "Tracker_SetPos",c,,,,lock% 11990 WHEN 401 : IF registered% THEN 12000 copen%=NOTcopen%:PROCtickmenu(open%,0) 12010 IF copen% PROCopenup(control%,0,1024,625,325) 12020 IF NOT copen% PROCshut(control%) 12030 ENDIF 12040 WHEN 402 : IF registered% THEN 12050 topen%=NOTtopen%:PROCtickmenu(open%,1) 12060 IF topen% PROCopenup(tuneinfo%,580,530,700,430) 12070 IF NOT topen% PROCshut(tuneinfo%) 12080 ENDIF 12090 WHEN 403 : IF registered% THEN 12100 sopen%=NOTsopen%:PROCtickmenu(open%,2) 12110 IF sopen% PROCwindow_centre(stereo%,1110,250) 12120 IF NOT sopen% PROCshut(stereo%) 12130 ENDIF 12140 WHEN 404 : IF registered% THEN 12150 vopen%=NOTvopen%:PROCtickmenu(open%,3) 12160 IF vopen% PROCopenback(samples%,0,1000,700,850) 12170 IF NOT vopen% PROCshut(samples%) 12180 ENDIF 12190 WHEN 405 : IF registered% THEN 12200 bopen%=NOTbopen%:PROCtickmenu(open%,4) 12210 IF bopen% PROCwindow_centre(buffer%,700,475) 12220 IF NOT bopen% PROCshut(buffer%) 12230 ENDIF 12240 WHEN 406 : IF registered% THEN 12250 oopen%=NOToopen%:PROCtickmenu(open%,5) 12260 IF oopen% PROCwindow_centre(options%,768,367) 12270 IF NOT oopen% PROCshut(options%) 12280 ENDIF 12290 WHEN 407 : IF registered% THEN 12300 vuopen%=NOTvuopen%:PROCtickmenu(open%,6) 12310 IF vuopen% PROCopenup(vumeter%,970,900,310,280) 12320 IF NOT vuopen% PROCshut(vumeter%) 12330 ENDIF 12340 WHEN 408 : IF registered% THEN 12350 wopen%=NOTwopen%:PROCtickmenu(open%,7) 12360 IF wopen% PROCopenlinked(waveform%,wavepane%,1280,390,2112,256) 12370 IF NOT wopen% PROCshut(waveform%):PROCshut(wavepane%) 12380 ENDIF 12390 WHEN 409 : IF registered% THEN 12400 cropen%=NOTcropen%:PROCtickmenu(open%,8) 12410 IF cropen% PROCopenup(cro%,700,500,150,200) 12420 IF NOT cropen% PROCshut(cro%) 12430 ENDIF 12440 WHEN 474 : IF registered% THEN 12450 PROCmonitor 12460 ENDIF 12470 WHEN 393 : cvol%-=5:IF cvol%<0 cvol%=0 12480 x%=FNint(cvol%/volunit) 12490 pointer%!0=control%:pointer%!4=18 12500 SYS "Wimp_GetIconState",,pointer% 12510 SYS "Wimp_DeleteIcon",,pointer% 12520 pointer%!16=pointer%!8+x% 12530 pointer%!4=control%:SYS "Wimp_CreateIcon",,pointer%+4 12540 pointer%!4=19:SYS "Wimp_GetIconState",,pointer% 12550 SYS "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 12560 WHEN 458 : cvol%+=5:IF cvol%>255 cvol%=255 12570 x%=FNint(cvol%/volunit) 12580 pointer%!0=control%:pointer%!4=18 12590 SYS "Wimp_GetIconState",,pointer% 12600 SYS "Wimp_DeleteIcon",,pointer% 12610 pointer%!16=pointer%!8+x% 12620 pointer%!4=control%:SYS "Wimp_CreateIcon",,pointer%+4 12630 pointer%!4=19:SYS "Wimp_GetIconState",,pointer% 12640 SYS "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 12650 WHEN 459 : cvol%=255 12660 x%=FNint(cvol%/volunit) 12670 pointer%!0=control%:pointer%!4=18 12680 SYS "Wimp_GetIconState",,pointer% 12690 SYS "Wimp_DeleteIcon",,pointer% 12700 pointer%!16=pointer%!8+x% 12710 pointer%!4=control%:SYS "Wimp_CreateIcon",,pointer%+4 12720 pointer%!4=19:SYS "Wimp_GetIconState",,pointer% 12730 SYS "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 12740 SYS "Tracker_SetPos",0,,,,lock% 12750 SYS "Tracker_Play",,,,,lock% 12760 PROCputiconsprite(control%,1,"pause") 12770 PROCputiconsprite(control%,2,"stop") 12780 PROCputiconsprite(control%,3,"play1") 12790 SYS "Sound_Speaker",1:SYS "Sound_Enable",2 12800 speaker=FALSE:mute%=FALSE 12810 PROCputiconsprite(control%,12,"seloff") 12820 PROCputiconsprite(control%,15,"seloff") 12830 WHEN 474 : IF registered% THEN 12840 pointer%!0=1:pointer%!4=9 12850 SYS "Wimp_SendMessage",9,pointer%,taskh% 12860 ENDIF 12870ENDCASE 12880ENDPROC 12890 12900DEF PROCbuffer(size%) 12910IF playing% PROCtellemoff("Can't alter buffer while playing"):ENDPROC 12920IF buff%>0 THEN PROCrelease_rma(buff%) 12930OSCLI("RMAFree "+STR$(size%)+" Error 0 Insufficent RMA") 12940buffersize%=(size%*1024) AND NOT 3 12950buff%=FNclaim_rma(buffersize%) 12960SYS "OS_Heap",0,buff%,,buffersize% 12970PROCredo_buff(lenbytes%) 12980ENDPROC 12990 13000DEF PROChold_it(window%) 13010LOCAL finish% 13020CASE window% OF 13030WHEN odd% : PROCwindow_centre(odd%,750,300) 13040WHEN help%: PROCwindow_centre(help%,800,400) 13050ENDCASE 13060pointer%!0=window%:SYS "Wimp_GetWindowOutline",,pointer% 13070xmin%=pointer%!4:ymin%=pointer%!8:xsize%=pointer%!12-pointer%!4 13080ysize%=pointer%!16-pointer%!8:MOUSE RECTANGLE xmin%,ymin%,xsize%,ysize% 13090finish%=FALSE 13100REPEAT 13110SYS "Wimp_Poll",,pointer% TO r% 13120CASE r% OF 13130WHEN 1 : PROCredraw2 13140WHEN 2 : SYS "Wimp_OpenWindow",,pointer% 13150WHEN 3 : SYS "Wimp_CloseWindow",,pointer% 13160WHEN 6 : PROCcheckmouse2 13170WHEN 17,18 : IF pointer%!16=0 SYS "Interface_CloseDown",taskh%:SYS "Sound_Speaker",oldspeak%:SYS "Sound_Enable",oldmute%:SYS "Tracker_Unlock",lock%:PROCtidy:SYS "Wimp_CloseDown":END 13180 IF pointer%!16=&400C1 MOUSE RECTANGLE xmin%,ymin%,xsize%,ysize% 13190ENDCASE 13200UNTIL finish% 13210PROCshut(window%) 13220SYS "OS_ReadModeVariable",-1,4 TO ,,Eig% 13230SYS "OS_ReadModeVariable",-1,11 TO ,,Extent% 13240xsize%=(Extent%+1)<<Eig% 13250SYS "OS_ReadModeVariable",-1,5 TO ,,Eig% 13260SYS "OS_ReadModeVariable",-1,12 TO ,,Extent% 13270ysize%=(Extent%+1)<<Eig% 13280MOUSE RECTANGLE 0,0,xsize%,ysize% 13290ENDPROC 13300 13310DEF PROCcheckmouse2 13320CASE pointer%!12 OF 13330WHEN odd% 13340CASE pointer%!8 OF 13350WHEN 4 : CASE pointer%!16 OF 13360WHEN 6 : PROCslabicon2:PROCtracker_loadit(f$):finish%=TRUE 13370WHEN 7 : PROCslabicon2:finish%=TRUE 13380WHEN 8 : PROCslabicon2:PROCsetup_help:PROChold_it(help%):finish%=TRUE 13390ENDCASE 13400ENDCASE 13410WHEN help% 13420CASE pointer%!8 OF 13430WHEN 4 : CASE pointer%!16 OF 13440WHEN 9 : PROCslabicon2:finish%=TRUE 13450ENDCASE 13460ENDCASE 13470ENDCASE 13480ENDPROC 13490 13500DEF PROCsetup_help 13510PROCclear_help 13520PROCputicondata(help%,3,"PlayTrack can only handle") 13530PROCputicondata(help%,4,"certain types of file.") 13540PROCputicondata(help%,5,"However, it may be able to") 13550PROCputicondata(help%,6,"load music files in formats") 13560PROCputicondata(help%,7,"it doesn't 'know' about,") 13570PROCputicondata(help%,8,"so you can still hear them.") 13580ENDPROC 13590 13600DEF PROCsetup_mess1 13610PROCclear_help 13620PROCputicondata(help%,3,"This is an unregistered") 13630PROCputicondata(help%,4,"copy of !PlayTrack, that is") 13640PROCputicondata(help%,5,"restricted in what it can do.") 13650PROCputicondata(help%,6,"If you want to use the more") 13660PROCputicondata(help%,7,"advanced facilities, then") 13670PROCputicondata(help%,8,"you can register.") 13680ENDPROC 13690 13700DEF PROCsetup_mess2 13710PROCclear_help 13720PROCputicondata(help%,3,"This copy of !PlayTrack is") 13730PROCputicondata(help%,4,"now registered to this") 13740PROCputicondata(help%,5,"machine. Please quit") 13750PROCputicondata(help%,6,"!PlayTrack and reload to") 13760PROCputicondata(help%,7,"use the more advanced") 13770PROCputicondata(help%,8,"facilities.") 13780ENDPROC 13790 13800DEF PROCsetup_mess3 13810PROCclear_help 13820PROCputicondata(help%,3,"Only PIN numbers up to") 13830PROCputicondata(help%,4,"#65280 are allowed.") 13840PROCputicondata(help%,6,"Please re-enter your") 13850PROCputicondata(help%,7,"PIN number.") 13860ENDPROC 13870 13880DEF PROCsetup_mess4 13890PROCclear_help 13900PROCputicondata(help%,3,"This copy of !PlayTrack is") 13910PROCputicondata(help%,4,"not registered to this") 13920PROCputicondata(help%,5,"machine.") 13930PROCputicondata(help%,7,"!PlayTrack will now run, but") 13940PROCputicondata(help%,8,"will not work fully.") 13950ENDPROC 13960 13970DEF PROCclear_help:FOR I%=3 TO 8:PROCputicondata(help%,I%,""):NEXT:ENDPROC 13980 13990DEF PROCredraw2 14000SYS "Wimp_RedrawWindow",,pointer% TO more% 14010WHILE more%<>0 14020SYS "Interface_Render3dWindow",,pointer% 14030SYS "Wimp_GetRectangle",,pointer% TO more% 14040ENDPROC 14050 14060DEF PROCslabicon2 14070SYS "Interface_SlabButton",,pointer% 14080pointer%!8=0 14090SYS "Interface_SlabButton",,pointer% 14100ENDPROC 14110 14120DEF PROCregister(string$) 14130PROCputicondata(infowind%,15,"Registered to: "+string$) 14140ENDPROC 14150 14160DEF PROCget_register 14170h%=OPENUP("<PlayTrack$Dir>.Register") 14180l%=EXT#h%:CLOSE#h% 14190block%=FNclaim_rma(l%) 14200SYS "OS_File",255,"<PlayTrack$Dir>.Register",block% 14210FOR I%=0 TO l%:block%?I%=block%?I% EOR ASC(LEFT$(STR$(I%),1)):NEXT 14220pirate%=FALSE:pin%=!block%:name$=FNrtoz(block%+4) 14230IF pin%=65281 OR pin%=65282 THEN 14240 IF pin%=65281 THEN 14250 PROCregister(name$):registered%=FALSE:PROCbeep 14260 ELSE 14270 PROCregister(name$):registered%=TRUE 14280 ENDIF 14290ELSE 14300 SYS "OS_Byte",161,cmos% TO ,,reg%:SYS "OS_Byte",161,cmos2% TO ,,reg2% 14310 reg%=(256*reg%)+reg2% 14320 IF reg%<>pin% THEN PROCsetup_mess4:PROChold_it(help%):registered%=FALSE:pirate%=TRUE:PROCregister("PIRATE COPY"):PROCrelease_rma(block%):ENDPROC 14330 PROCregister(name$):registered%=TRUE 14340ENDIF 14350PROCrelease_rma(block%) 14360ENDPROC 14370 14380DEF PROCbeep 14390FOR I=1 TO 7:VDU7:TIME=0:REPEAT UNTIL TIME=50:NEXT:ENDPROC 14400 14410DEF FNclaim_rma(size%) 14420SYS "XOS_Module",6,,,size% TO ,,addr%;flags% 14430IF (flags% AND 1)=1 THEN 14440 PROCtellemoff("Error during RMA claim") 14450 =0 14460ENDIF 14470=addr% 14480 14490DEF PROCrelease_rma(addr%) 14500SYS "OS_Module",7,,addr% 14510ENDPROC 14520 14530DEF PROCregister_copy 14540name$=FNgeticondata(register%,4) 14550pin%=VAL(FNgeticondata(register%,10)) 14560IF pin%>65280 THEN PROCsetup_mess3:PROChold_it(help%):PROCputicondata(register%,10,""):ENDPROC 14570len%=4+LENname$+1 14580addr%=FNclaim_rma(len%) 14590!addr%=pin%:block%=addr%+4:name$+=CHR$0:FOR I%=1 TO LENname$:?block%=ASC(MID$(name$,I%,1)):block%+=1:NEXT 14600FOR I%=0 TO len%:addr%?I%=addr%?I% EOR ASC(LEFT$(STR$I%,1)):NEXT 14610SYS "OS_File",10,"<PlayTrack$Dir>.Register",&FFD,,addr%,addr%+len% 14620SYS "OS_Byte",162,cmos%,pin% DIV 256 14630SYS "OS_Byte",162,cmos2%,pin% MOD 256 14640PROCsetup_mess2:PROChold_it(help%) 14650ENDPROC 14660 14670DEF PROCsave_opts 14680h%=OPENOUT("<PlayTrack$Dir>.Options") 14690clock$=FNgeticondata(options%,13) 14700buffer$=FNgeticondata(buffer%,3) 14710PRINT#h%,lap%,scr%,dos%,afs%,mak%,clock$,buffer$ 14720CLOSE#h% 14730ENDPROC 14740 14750DEF PROCload_opts 14760h%=OPENUP("<PlayTrack$Dir>.Options") 14770INPUT#h%,lap%,scr%,dos%,afs%,mak%,clock$,buffer$ 14780CLOSE#h% 14790lap$="":IF lap% lap$="selon" ELSE lap$="seloff" 14800scr$="":IF scr% scr$="selon" ELSE scr$="seloff" 14810dos$="":IF dos% dos$="selon" ELSE dos$="seloff" 14820afs$="":IF afs% afs$="selon" ELSE afs$="seloff" 14830mak$="":IF mak% mak$="selon" ELSE mak$="seloff" 14840PROCputiconsprite(options%,2,lap$) 14850PROCputiconsprite(options%,4,scr$) 14860PROCputiconsprite(options%,6,dos$) 14870PROCputiconsprite(options%,8,afs$) 14880PROCputiconsprite(options%,11,mak$) 14890PROCputicondata(options%,13,clock$) 14900PROCputicondata(buffer%,3,buffer$) 14910ENDPROC 14920 14930DEF PROCopenlinked(wh1%,wh2%,w1%,h1%,w2%,h2%) 14940x%=(1280-w1%)/2 14950y%=((1024-h1%)/2)+h1% 14960PROCopenup(wh1%,x%,y%,w1%,h1%) 14970PROCopenup(wh2%,x%+20,y%-80,w1%-40,h2%) 14980ENDPROC 14990 15000DEF PROCvolume 15010SYS "Wimp_GetPointerInfo",,pointer%:x%=pointer%!0 15020pointer%!0=control%:SYS "Wimp_GetWindowState",,pointer% 15030x%-=pointer%!4:pointer%!4=19:SYS "Wimp_GetIconState",,pointer% 15040x%-=pointer%!8:REM x% now is distance along icon #19 15050pointer%!0=control%:pointer%!4=18 15060SYS "Wimp_GetIconState",,pointer% 15070SYS "Wimp_DeleteIcon",,pointer% 15080pointer%!4=control%:pointer%!16=pointer%!8+x% 15090SYS "Wimp_CreateIcon",,pointer%+4 15100pointer%!0=control%:pointer%!4=19:SYS "Wimp_GetIconState",,pointer% 15110SYS "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 15120cvol%=FNint(x%*volunit):IF cvol%>255 cvol%=255 15130ENDPROC 15140 15150DEF FNint(int) 15160int+=0.5 15170=INT(int) 15180 15190DEF PROCvolfill 15200IF cvol%>10 THEN 15210 sc=cvol%/255 15220 sccb%!20=FNvol(sccb%!20,sc):sccb%!(32+20)=FNvol(sccb%!(32+20),sc) 15230 sccb%!(64+20)=FNvol(sccb%!(64+20),sc) 15240 sccb%!(96+20)=FNvol(sccb%!(96+20),sc) 15250 sccb%!(128+20)=FNvol(sccb%!(128+20),sc) 15260 sccb%!(160+20)=FNvol(sccb%!(160+20),sc) 15270 sccb%!(192+20)=FNvol(sccb%!(192+20),sc) 15280 sccb%!(224+20)=FNvol(sccb%!(224+20),sc) 15290ELSE 15300 FOR I%=0 TO 224 STEP 32:sccb%!(I%+20)=255:NEXT 15310ENDIF 15320ENDPROC 15330 15340DEF FNvol(vol%,scl) 15350vol1=255-vol%:vol1=vol1*scl:=FNint(255-vol1) 15360 15370DEF PROCplaynote 15380samp%=VAL(FNgeticondata(waveform%,1)):IF samp%=0 ENDPROC 15390SYS "Tracker_ReadSampleTable",samp%,,,,lock% TO ,,len%:IF len%=0 ENDPROC 15400SYS "Tracker_PlayNote",1,15,samp%,200,lock% 15410ENDPROC 15420 15430DEF PROCsave_rm(f$) 15440IF workspc%=0 PROCtellemoff("You have to have a Tracker tune loaded first!"):ENDPROC 15450base%=FNclaim_rma(lenbytes%+1000) 15460IF base%=0 PROCtellemoff("Cannot save Tracker tune as Relocatable Module"):ENDPROC 15470FOR pass%=12 TO 15 STEP 2 15480P%=0:O%=base%:L%=base%+lenbytes%+1500 15490[OPT pass% 15500EQUD 0 15510EQUD mod_initialise% 15520EQUD mod_finalise% 15530EQUD 0 15540EQUD mod_title% 15550EQUD mod_help% 15560] 15570IF com% THEN 15580 [OPT pass% 15590 EQUD mod_command% 15600 ] 15610ELSE 15620 [OPT pass% 15630 EQUD 0 15640 ] 15650ENDIF 15660[OPT pass% 15670EQUD 0 15680 15690.mod_initialise% 15700STMFD R13!,{R0-R8,R14} 15710SWI "OS_ReadMonotonicTime" 15720AND R0,R0,#256 15730STR R0,mod_lock% 15740SWI "Tracker_Lock" 15750ADR R0,mod_tunestart% 15760LDR R1,mod_tunelength% 15770LDR R4,mod_lock% 15780SWI "Tracker_MemoryLoad" 15790LDR R0,mod_autoplay% 15800CMP R0,#1 15810SWIEQ "Tracker_Play" 15820LDMFD R13!,{R0-R8,PC} 15830 15840.mod_finalise% 15850STMFD R13!,{R0-R8,R14} 15860LDR R4,mod_lock% 15870SWI "Tracker_Stop" 15880MOV R0,R4 15890SWI "Tracker_Unlock" 15900LDMFD R13!,{R0-R8,PC} 15910 15920.mod_title% 15930EQUS "MusicModule" 15940EQUB 0 15950ALIGN 15960 15970.mod_help% 15980EQUS "MusicModule"+CHR$9+"0.10 ("+MID$(TIME$,5,11)+")" 15990EQUB 0:ALIGN 16000 16010.mod_command% 16020EQUS "MusicOn" 16030EQUB 0 16040ALIGN 16050EQUD mod_musicon% 16060EQUD 0 16070EQUD mod_musicon_syntax% 16080EQUD mod_musicon_help% 16090EQUS "MusicOff" 16100EQUB 0 16110ALIGN 16120EQUD mod_musicoff% 16130EQUD 0 16140EQUD mod_musicoff_syntax% 16150EQUD mod_musicoff_help% 16160EQUS "MusicPause" 16170EQUB 0 16180ALIGN 16190EQUD mod_musicpause% 16200EQUD 0 16210EQUD mod_musicpause_syntax% 16220EQUD mod_musicpause_help% 16230EQUD 0 16240 16250.mod_musicon% 16260STMFD R13!,{R0-R8,R14} 16270LDR R4,mod_lock% 16280SWI "Tracker_Play" 16290LDMFD R13!,{R0-R8,PC} 16300 16310.mod_musicon_syntax% 16320EQUS "Syntax: *MusicOn" 16330EQUB 0 16340ALIGN 16350 16360.mod_musicon_help% 16370EQUS "*MusicOn switches the background Tracker music on." 16380EQUB 0 16390ALIGN 16400 16410.mod_musicoff% 16420STMFD R13!,{R0-R8,R14} 16430LDR R4,mod_lock% 16440SWI "Tracker_Pause" 16450MOV R0,#0 16460SWI "Tracker_SetPos" 16470LDMFD R13!,{R0-R8,PC} 16480 16490.mod_musicoff_syntax% 16500EQUS "Syntax: *MusicOff" 16510EQUB 0 16520ALIGN 16530 16540.mod_musicoff_help% 16550EQUS "*MusicOff switches the background Tracker music off." 16560EQUB 0 16570ALIGN 16580 16590.mod_musicpause% 16600STMFD R13!,{R0-R8,R14} 16610LDR R4,mod_lock% 16620SWI "Tracker_Pause" 16630LDMFD R13!,{R0-R8,PC} 16640 16650.mod_musicpause_syntax% 16660EQUS "Syntax: *MusicPause" 16670EQUB 0 16680ALIGN 16690 16700.mod_musicpause_help% 16710EQUS "*MusicPause pauses the background Tracker music." 16720EQUB 0 16730ALIGN 16740 16750.mod_autoplay% 16760EQUD 1 16770 16780.mod_lock% 16790EQUD 0 16800 16810.mod_tunelength% 16820EQUD 0 16830 16840.mod_tunestart% 16850] 16860SYS "OS_File",&FF,tune$,mod_tunestart%+base% 16870P%+=lenbytes%:O%+=lenbytes% 16880NEXT pass% 16890!(mod_tunelength%+base%)=lenbytes% 16900IF ap% THEN !(mod_autoplay%+base%)=1 ELSE !(mod_autoplay%+base%)=0 16910SYS "OS_File",&A,f$,&FFA,,base%,base%+P% 16920PROCrelease_rma(base%) 16930ENDPROC 16940 16950DEF PROCmonitor:oldmode%=MODE 16960LOCAL track% 16970MODE12:OFF:MOUSE OFF 16980FOR I%=0 TO fontlen%-1:VDU font%?I%:NEXT 16990SYS "Tracker_TuneInfo",,,,,lock% TO len%,voices%,speed%,name$,a% 17000PRINTTAB(0,0);"Track: "+name$ 17010PRINTTAB(48,1);"Voices: "+STR$voices%+" Speed: "+STR$speed% 17020PRINTTAB(48,2);"Patterns: "+STR$len%+STRING$(3-LEN(STR$len%)," ")+" Volume: "+STR$~cvol% 17030PRINTTAB(48,3);"Position: 0 of: "+STR$(len%-1)+STRING$(3-LEN(STR$(len%-1))," ")+" Event: 0" 17040PRINTTAB(12,5);"Pitch Acc Pitch Inc Byte Off Samp Len Samp No Volume Period" 17050SYS "OS_Heap",1,buff% TO ,,,size% 17060PRINTTAB(0,20);"Buffer size currently &"+STR$~size%+" bytes." 17070PRINTTAB(0,21);"Module loaded at &"+STR$~workspc%+", length &"+STR$~lenbytes% 17080PRINTTAB(0,29);"System PlayTrack by David J. Seery" 17090PRINTTAB(0,31);FNgeticondata(infowind%,15); 17100REPEAT:SYS "Tracker_ReadPos" TO cp%,ev% 17110PRINTTAB(48,3);"Position: "+STR$cp%+STRING$(3-LEN(STR$cp%)," ")+" of: "+STR$(len%-1)+STRING$(3-LEN(STR$(len%-1))," ")+" Event: "+STR$ev% 17120SYS "Tracker_SoundInfo",pointer% 17130FOR I%=0 TO 224 STEP 32:track%=I%/32 17140PRINTTAB(0,6+track%);"Channel "+STR$track% 17150acc%=pointer%!I%:inc%=pointer%!(I%+4):slen%=pointer%!(I%+12):sno%=pointer%!(I%+16):vol%=pointer%!(I%+20):note%=pointer%!(I%+24):per%=pointer%!(I%+28) 17160SYS"OS_ConvertHex8",acc%,pointer%+300,100:acc$=FNrtoz(pointer%+300) 17170SYS"OS_ConvertHex8",inc%,pointer%+300,100:inc$=FNrtoz(pointer%+300) 17180SYS"OS_ConvertHex8",acc%>>>16,pointer%+300,100:loop$=FNrtoz(pointer%+300) 17190SYS"OS_ConvertHex8",slen%,pointer%+300,100:slen$=FNrtoz(pointer%+300) 17200SYS"OS_ConvertHex8",sno%,pointer%+300,100:sno$=FNrtoz(pointer%+300) 17210SYS"OS_ConvertHex8",255-vol%,pointer%+300,100:vol$=FNrtoz(pointer%+300) 17220SYS"OS_ConvertHex8",per%,pointer%+300,100:per$=FNrtoz(pointer%+300) 17230PRINTTAB(12,6+track%);acc$+" "+inc$+" "+loop$+" "+slen$+" "+sno$+" "+vol$+" "+per$ 17240PRINTTAB((10*track%)+3,15);FNnote(note%) 17250NEXT 17260MOUSE x%,y%,z%:UNTIL z%<>0 17270OSCLI("Alphabet Latin1") 17280SYS "Wimp_SetMode",oldmode% 17290ENDPROC 17300 17310DEF FNnote(val%) 17320CASE val% OF 17330 WHEN 1 : ="C-1" 17340 WHEN 2 : ="C#1" 17350 WHEN 3 : ="D-1" 17360 WHEN 4 : ="D#1" 17370 WHEN 5 : ="E-1" 17380 WHEN 6 : ="F-1" 17390 WHEN 7 : ="F#1" 17400 WHEN 8 : ="G-1" 17410 WHEN 9 : ="G#1" 17420 WHEN 10: ="A-1" 17430 WHEN 11: ="A#1" 17440 WHEN 12: ="B-1" 17450 WHEN 13: ="B#1" 17460 WHEN 14: ="C-2" 17470 WHEN 15: ="C#2" 17480 WHEN 16: ="D-2" 17490 WHEN 17: ="D#2" 17500 WHEN 18: ="E-2" 17510 WHEN 19: ="F-2" 17520 WHEN 20: ="F#2" 17530 WHEN 21: ="G-2" 17540 WHEN 22: ="G#2" 17550 WHEN 23: ="A-2" 17560 WHEN 24: ="A#2" 17570 WHEN 25: ="B-2" 17580 WHEN 26: ="B#2" 17590 WHEN 27: ="C-3" 17600 WHEN 28: ="C#3" 17610 WHEN 29: ="D-3" 17620 WHEN 30: ="D#3" 17630 WHEN 31: ="E-3" 17640 WHEN 32: ="F-3" 17650 WHEN 33: ="F#3" 17660 WHEN 34: ="G-3" 17670 WHEN 35: ="G#3" 17680 WHEN 36: ="A-3" 17690ENDCASE 17700="0-0" 17710 17720DEF PROCtidy 17730IF buff%>0 PROCrelease_rma(buff%) 17740ENDPROC
� >$.!PlayTrack.!RunImage � PD � 1992 ( 2a� � �tellemoff("Fatal error: (type="+Þ+") "+�$+" Re-run & try again."):ș "Wimp_CloseDown":� <H� errors in this bit of code cannot be dealt with - quit immediately FG� If you try, templates might not be loaded, menus not defined etc. PD� q% 800,useful% 700,ind% &200,ind2% &300,menu% 300,pointer% 400 Z@� icontext% 36,iconvalid% 36,ind3% &200,ind4% &300,open% 650 d� indtext% 256:indptr%=0 nG� ind5% &200,channel(8),ind6% &150,ind7% &100,ind8% &200,ind9% &200 xH� ind10% &100,ind11% &20,code% 700,ind12% &100,ind13% &20,ind14% &20 �L� samps% 32*31,volume% 4*31,samplen% 6*31,valid% 3,text% 30:$valid%="z4" �I$text%="No:":$(text%+8)="Name:":$(text%+16)="Vol:":$(text%+24)="Len:" �<edited%=�:playing%=�:speaker=�:buffersize%=0:lenbytes%=0 �8copen%=�:topen%=�:sopen%=�:vopen%=�:type=0:newicn%=� �=sicn%=0:nscn%=�:cmos%=42:cmos2%=43:oopen%=�:lap%=�:scr%=� �3dos%=�:afs%=�:vuopen%=�:mute%=�:mak%=�:wopen%=� �?show%=�:cropen%=�:track%=1:com%=�:ap%=�:clock$="48":buff%=0 �workspc%=0 �$q%="TASK" �6ș "Wimp_Initialise",200,!q%,"PlayTrack" � ,taskh% �@ș "Interface_Initialise",,taskh%:� claim Interface pointers �)lock%=�(2000):ș "Tracker_Lock",lock% �7ș "Wimp_OpenTemplate",,"<PlayTrack$Dir>.Templates" 9ș "Wimp_LoadTemplate",,q%,ind%,ind%+&200,-1,"info",0 *ș "Wimp_CreateWindow",,q% � infowind% =ș "Wimp_LoadTemplate",,q%,ind2%,ind2%+&300,-1,"saveas",0 "(ș "Wimp_CreateWindow",,q% � saveas% ,>ș "Wimp_LoadTemplate",,q%,ind3%,ind3%+&200,-1,"control",0 6)ș "Wimp_CreateWindow",,q% � control% @?ș "Wimp_LoadTemplate",,q%,ind4%,ind4%+&300,-1,"tuneinfo",0 J*ș "Wimp_CreateWindow",,q% � tuneinfo% T=ș "Wimp_LoadTemplate",,q%,ind5%,ind5%+&200,-1,"stereo",0 ^(ș "Wimp_CreateWindow",,q% � stereo% h=ș "Wimp_LoadTemplate",,q%,ind6%,ind6%+&150,-1,"buffer",0 r(ș "Wimp_CreateWindow",,q% � buffer% |@ș "Wimp_LoadTemplate",,q%,ind7%,ind7%+&100,-1,"oddformat",0 �%ș "Wimp_CreateWindow",,q% � odd% �?ș "Wimp_LoadTemplate",,q%,ind8%,ind8%+&200,-1,"helptext",0 �&ș "Wimp_CreateWindow",,q% � help% �?ș "Wimp_LoadTemplate",,q%,ind9%,ind9%+&200,-1,"register",0 �*ș "Wimp_CreateWindow",,q% � register% �@ș "Wimp_LoadTemplate",,q%,ind10%,ind10%+&100,-1,"options",0 �)ș "Wimp_CreateWindow",,q% � options% �?ș "Wimp_LoadTemplate",,q%,ind11%,ind11%+&20,-1,"vumeter",0 �)ș "Wimp_CreateWindow",,q% � vumeter% �Aș "Wimp_LoadTemplate",,q%,ind12%,ind12%+&100,-1,"waveform",0 �*ș "Wimp_CreateWindow",,q% � waveform% �@ș "Wimp_LoadTemplate",,q%,ind13%,ind13%+&20,-1,"wavepane",0 �*ș "Wimp_CreateWindow",,q% � wavepane% ;ș "Wimp_LoadTemplate",,q%,ind14%,ind14%+&20,-1,"cro",0 %ș "Wimp_CreateWindow",,q% � cro% ș "Wimp_CloseTemplate" &�samps_wind 0�get_register :�load_opts D)� scr% ș "Sound_Configure",,,�clock$ N�buffer(�buffer$) X �menu b!�assemble:!vu_block%=pointer% lCș "Sound_Speaker",0 � oldspeak%:ș "Sound_Enable",0 � oldmute% v0volunit=0.442708333:� 1 discrete volume unit �cvol%=255:� Volume at 100% �9ș "XOS_Module",18,"TrackerModule" � ,,,start%;flags% �� (flags% � 1)=1 � �� �tellemoff("Cannot initialise TrackerModule address offsets! I must exit immediately (check that TrackerModule is loaded).") � �tidy �9 ș "Wimp_CloseDown":ș "Interface_CloseDown",taskh% � ș "Tracker_Unlock",lock% � � �� �7sccb%=start%+&1850:� Start of SCCB in TrackerModule �?h%=�("<PlayTrack$Dir>.Font"):len%=�#h%:�#h%:fontlen%=len%-1 �>� font% len%:ș "OS_File",&FF,"<PlayTrack$Dir>.Font",font% �8icon%=�iconbar("!PlayTrack","",-1):� icon on iconbar < � -1 = Utility (RHS) < � -2 = Service (LHS) #quit%=�:� Nothing happened yet! *Hș "Tracker_Stereo",4,,,,lock%:� I=1 � 8:�stereo(I,4):channel(I)=4:� 4!� registered%=� � pirate%=� � >" �setup_mess1:�hold_it(help%) H- ș "Wimp_CreateMenu",,register%,640,900 R� \ f�� �error("Error: "+�$+" (code "+Þ+") Quit ? (Buffer="+�~workspc%+")",3)=1:ș "Interface_CloseDown",,taskh%:ș "Tracker_Stop",,,,,lock%:ș "Sound_Speaker",oldspeak%:ș "Sound_Enable",oldmute%:ș "Tracker_Unlock",lock%:�tidy:ș "Wimp_CloseDown":� pJ� Error handler drops through to wimp_poll loop, AFTER wimp_initialise z� ��volfill �5ș "Wimp_Poll",,q% � reason%:� and poll the wimp. �2ș "Interface_PreProcessKey",reason%,q%,taskh% �Cș "Interface_Poll",reason%,,taskh%:� Ensure pointer up to date �Ȏ reason% � �� 0 : � newicn% � � �=0:� � �>=20 � Ȏ type � �< � � : �puticonsprite(win%,icn%,"selon") �< � �: �puticonsprite(win%,icn%,"seloff") � � � newicn%=� � � - ȗ x%,y%,b%:� nscn% � b%=0 � �=0:� � �>=15 Ȏ sicn% � $; � 0 : �puticonsprite(control%,0,"rev") .; � 4 : �puticonsprite(control%,4,"fwd") 8 � B nscn%=� L � VG pointer%!0=vumeter%:ș "Wimp_GetWindowState",,pointer% `- � (pointer%!32 � 1<<16)<>0 � j> ș "Wimp_ForceRedraw",vumeter%,0,-280,310,0 t � ~ � cropen% � �: ș "Wimp_ForceRedraw",cro%,0,-200,150,0 � � �� 1 : �redraw �&� 2 : ș "Wimp_OpenWindow",,q% �" � !q%=waveform% � �F !q%=wavepane%:q%!4+=20:q%!8+=20:q%!12-=20:q%!16-=80 �I !pointer%=wavepane%:ș "Wimp_GetWindowState",,pointer% �6 q%!20=pointer%!20:q%!24=pointer%!24 �+ ș "Wimp_OpenWindow",,q% � � �'� 3 : ș "Wimp_CloseWindow",,q% �! � !q%=control% � copen%=� $ �tickmenu(open%,0) ! �shut(control%) � (" � !q%=tuneinfo% � 2 topen%=� <$ �tickmenu(open%,1) F" �shut(tuneinfo%) P � Z � !q%=stereo% � d sopen%=� n$ �tickmenu(open%,2) x �shut(stereo%) � � �! � !q%=samples% � � vopen%=� �$ �tickmenu(open%,3) �! �shut(samples%) � � � � !q%=buffer% � � bopen%=� �$ �tickmenu(open%,4) � �shut(buffer%) � � �! � !q%=options% � � oopen%=� % �tickmenu(open%,5) " �shut(options%) � "! � !q%=vumeter% � , vuopen%=� 6% �tickmenu(open%,6) @" �shut(vumeter%) J � T" � !q%=waveform% � ^ wopen%=� h% �tickmenu(open%,7) r# �shut(waveform%) |# �shut(wavepane%) � � � � !q%=cro% � � cropen%=� �% �tickmenu(open%,8) � �shut(cro%) � � �+� 4 : ș "Wimp_SetCaretPosition",-1 �0� 5 : ș "Wimp_SetCaretPosition",q%!0,-1 �� 6 : �checkmouse �&� 7 : f$=�lastbit(f$):�dragend �� 8 : �kp �� 9 : �process_menu �� 17,18 : �message � � playing% � ' ș "Tracker_ReadPos",,,,,lock% � c &# c1=�(�geticondata(control%,9)) 0( � c<>c1 �puticondata(control%,9,�c) :* ș "Tracker_TuneInfo",,,,,lock% � ,,s D$ s1=�(�geticondata(tuneinfo%,7)) N) � s<>s1 �puticondata(tuneinfo%,7,�s) X �volfill b� l� quit% v$ș "Interface_CloseDown",,taskh% �;ș "Sound_Speaker",oldspeak%:ș "Sound_Enable",oldmute% �"ș "Tracker_Stop",,,,,lock%:�7 �ș "Tracker_Unlock",lock% � �tidy �,ș "Wimp_CloseDown":�:� leave gracefully � �� �iconbar(v$,t$,handle%) �� i% �=� handle%=-2 � :� Service or Utility? �$$iconvalid%="S"+v$:$icontext%=t$ �� �q%!0=handle% � q%!4=0 ?� handle%=-1 q%!8=0 � q%!8=-16 :� Set up proper co-ords $� handle%=-1 q%!12=68 � q%!12=78 $� handle%=-1 q%!16=96 � q%!16=90 ?� handle%=-1 � :� And proper icon flags *q%!20=&2002 4� >+q%!20=%00010111000000000011000100101011 H� R5� handle%=-1 � :� Indirected? \$(q%+24)=v$ f� pq%!24=icontext% zq%!28=iconvalid% �q%!32=�($icontext%)+1 �� �=ș "Wimp_CreateIcon",,q% � i% :� And draw the icon �=i% � �� �message �yr%=q%!8 �Ȏ (q%!16) � �%� 0 : quit%=�:� Message_Quit ? �%� 2 : �ds:� Message_DataSave ? �%� 3 : �dl:� Message_DataLoad ? �%� 5 : �do:� Message_DataOpen ? �$� 8 : �pq:� Message_PreQuit ? '� &502 : �sendhelp:� Message_Help ? � � $ .� �checkmouse 8handle=(q%!12) Bicon=(q%!16) LȎ (q%!12) � V� -2:� iconbar ? `Ȏ (q%!8) � jM� 4 : � registered%=� � pirate%=� ș "Wimp_CreateMenu",,register%,640,900 t0� 2 : ș "Wimp_CreateMenu",,menu%,!q%-64,319 ~� 1 : � Adjust ? �� � � saveas% � Ȏ q%!8 � �� 4 : Ȏ q%!16 � �9� 1 : �slabicon:f$=�geticondata(saveas%,0):�quicksave �8� 3 : f$=�geticondata(saveas%,0):�dragbox(saveas%,2) �0� 4 : com%=�com%:�toggleopts(com%,saveas%,4) �-� 6 : ap%=�ap%:�toggleopts(ap%,saveas%,6) �� �� �� control% � Ȏ q%!8 � � 4 : Ȏ q%!16 � ;� 0 : �puticonsprite(control%,0,"rev1"):sicn%=0:nscn%=� L � playing%ș "Tracker_ReadPos",,,,,lock% � c,,m:c-=1:� c=-1 c=m 6 � playing% ș "Tracker_SetPos",c,,,,lock% (&� 1 : ș "Tracker_Pause",,,,,lock% 20 �puticonsprite(control%,1,"pause1") <. �puticonsprite(control%,2,"stop") F. �puticonsprite(control%,3,"play") P� 2 : � dos% � Z* ș "Tracker_Stop",,,,,lock% d1 �puticonsprite(control%,1,"pause") n1 �puticonsprite(control%,2,"stop1") x0 �puticonsprite(control%,3,"play") �+ �puticondata(control%,9,"0") �, �puticondata(control%,10,"0") � �clear:playing%=� � � �+ ș "Tracker_Pause",,,,,lock% �- ș "Tracker_SetPos",0,,,,lock% �1 �puticonsprite(control%,1,"pause") �1 �puticonsprite(control%,2,"stop1") �0 �puticonsprite(control%,3,"play") �+ �puticondata(control%,9,"0") � � �%� 3 : ș "Tracker_Play",,,,,lock% �/ �puticonsprite(control%,1,"pause") . �puticonsprite(control%,2,"stop") / �puticonsprite(control%,3,"play1") ;� 4 : �puticonsprite(control%,4,"fwd1"):sicn%=4:nscn%=� "K � playing%ș "Tracker_ReadPos",,,,,lock% � c,,m:c+=1:� c>m c=0 ,6 � playing% ș "Tracker_SetPos",c,,,,lock% 6� 12: speaker=� speaker @- �toggleopts(speaker,control%,12) JB � speaker ș "Sound_Speaker",2 � ș "Sound_Speaker",1 T� 15: mute%=� mute% ^+ �toggleopts(mute%,control%,15) h> � mute% ș "Sound_Enable",1 � ș "Sound_Enable",2 r� 19: �volume |� �� 1 : Ȏ q%!16 � �;� 0 : �puticonsprite(control%,0,"fwd1"):sicn%=0:nscn%=� �L � playing% ș "Tracker_ReadPos",,,,,lock% � c,,m:c+=1:� c>m c=0 �6 � playing% ș "Tracker_SetPos",c,,,,lock% �;� 4 : �puticonsprite(control%,4,"rev1"):sicn%=4:nscn%=� �M � playing% ș "Tracker_ReadPos",,,,,lock% � c,,m:c-=1:� c=-1 c=m �6 � playing% ș "Tracker_SetPos",c,,,,lock% �� �� � � stereo% � Ȏ q%!8 � �� 4 : Ȏ q%!16 � �3� 0 : channel(1)-=1:� channel(1)<1 channel(1)=1 " �stereo(1,channel(1)) E �puticonsprite(stereo%,1,"stereo"+�channel(1)):�slabicon 3� 2 : channel(1)+=1:� channel(1)>7 channel(1)=7 &" �stereo(1,channel(1)) 0E �puticonsprite(stereo%,1,"stereo"+�channel(1)):�slabicon :3� 3 : channel(2)-=1:� channel(2)<1 channel(2)=1 D" �stereo(2,channel(2)) NE �puticonsprite(stereo%,4,"stereo"+�channel(2)):�slabicon X3� 5 : channel(2)+=1:� channel(2)>7 channel(2)=7 b" �stereo(2,channel(2)) lE �puticonsprite(stereo%,4,"stereo"+�channel(2)):�slabicon v3� 6 : channel(3)-=1:� channel(3)<1 channel(3)=1 �" �stereo(3,channel(3)) �E �puticonsprite(stereo%,7,"stereo"+�channel(3)):�slabicon �3� 8 : channel(3)+=1:� channel(3)>7 channel(3)=7 �" �stereo(3,channel(3)) �E �puticonsprite(stereo%,7,"stereo"+�channel(3)):�slabicon �3� 9 : channel(4)-=1:� channel(4)<1 channel(4)=1 �" �stereo(4,channel(4)) �F �puticonsprite(stereo%,10,"stereo"+�channel(4)):�slabicon �3� 11: channel(4)+=1:� channel(4)>7 channel(4)=7 �" �stereo(4,channel(4)) �F �puticonsprite(stereo%,10,"stereo"+�channel(4)):�slabicon �3� 20: channel(5)-=1:� channel(5)<1 channel(5)=1 �" �stereo(5,channel(5)) F �puticonsprite(stereo%,21,"stereo"+�channel(5)):�slabicon 3� 22: channel(5)+=1:� channel(5)>7 channel(5)=7 " �stereo(5,channel(5)) F �puticonsprite(stereo%,21,"stereo"+�channel(5)):�slabicon *3� 23: channel(6)-=1:� channel(6)<1 channel(6)=1 4" �stereo(6,channel(6)) >F �puticonsprite(stereo%,24,"stereo"+�channel(6)):�slabicon H3� 25: channel(6)+=1:� channel(6)>7 channel(6)=7 R" �stereo(6,channel(6)) \F �puticonsprite(stereo%,24,"stereo"+�channel(6)):�slabicon f3� 26: channel(7)-=1:� channel(7)<1 channel(7)=1 p" �stereo(7,channel(7)) zF �puticonsprite(stereo%,27,"stereo"+�channel(7)):�slabicon �3� 28: channel(7)+=1:� channel(7)>7 channel(7)=7 �" �stereo(7,channel(7)) �F �puticonsprite(stereo%,27,"stereo"+�channel(7)):�slabicon �3� 29: channel(8)-=1:� channel(8)<1 channel(8)=1 �" �stereo(8,channel(8)) �F �puticonsprite(stereo%,30,"stereo"+�channel(8)):�slabicon �3� 31: channel(8)+=1:� channel(8)>7 channel(8)=7 �" �stereo(8,channel(8)) �F �puticonsprite(stereo%,30,"stereo"+�channel(8)):�slabicon �� �� � � buffer% � Ȏ q%!8 � � 4 : Ȏ q%!16 � 7� 5 : �slabicon:�buffer(�(�geticondata(buffer%,3))) � $� .� register% 8 Ȏ q%!8 � B� 4 : Ȏ q%!16 � L"� 9 : �slabicon:�register_copy V� `� j� options% t Ȏ q%!8 � ~� 4 : Ȏ q%!16 � �1� 2 : lap%=�lap%:�toggleopts(lap%,options%,2) �1� 4 : scr%=�scr%:�toggleopts(scr%,options%,4) �1� 6 : dos%=�dos%:�toggleopts(dos%,options%,6) �1� 8 : afs%=�afs%:�toggleopts(afs%,options%,8) �2� 11: mak%=�mak%:�toggleopts(mak%,options%,11) �� 10: �slabicon:�save_opts �� �� �� waveform% � Ȏ q%!8 � �� 4 : Ȏ q%!16 � �� 2 : �slabicon:�playnote � � � cro%: Ȏ q%!8 � ('� 4 : track%+=1:� track%=9 track%=1 2> pointer%!0=cro%:ș "Wimp_GetWindowInfo",,pointer% <# $(pointer%!76)=�track% F/ ș "Wimp_GetWindowState",,pointer% P, ș "Wimp_CloseWindow",,pointer% Z+ ș "Wimp_OpenWindow",,pointer% d'� 1 : track%-=1:� track%=0 track%=8 n> pointer%!0=cro%:ș "Wimp_GetWindowInfo",,pointer% x# $(pointer%!76)=�track% �/ ș "Wimp_GetWindowState",,pointer% �, ș "Wimp_CloseWindow",,pointer% �+ ș "Wimp_OpenWindow",,pointer% �� �� �� � �� �menu � � Setup menus and menu block �P%=menu% �flags=&7000021 ��menu_header("PlayTrack",9) �*�menu_item(&00,infowind%,flags,"Info") \� registered% �menu_item(&00,open%,flags,"Open") � �menu_item(&00,open%,&2000021,"Open") h� registered% �menu_item(&00,saveas%,flags,"Save F3") � �menu_item(&00,saveas%,&2000021,"Save F3") '�menu_item(&00,-1,flags,"Stop F6") "#�menu_item(&80,-1,flags,"Quit") ,P%=open% 6�menu_header("Open",14) @+�menu_item(&00,-1,flags,"Control �F1") J+�menu_item(&00,-1,flags,"Info �F2") T+�menu_item(&00,-1,flags,"Stereo �F3") ^+�menu_item(&00,-1,flags,"Samples �F4") h+�menu_item(&00,-1,flags,"Buffer �F5") r+�menu_item(&00,-1,flags,"Options �F6") |+�menu_item(&00,-1,flags,"Vu-Meter �F7") �+�menu_item(&00,-1,flags,"Waveform �F8") �+�menu_item(&00,-1,flags,"CRO �F9") �,�menu_item(&80,-1,flags,"Monitor �F10") �� registered%=� � �& � I%=0 � 9:�greymenu(open%,I%):� �- �disable(saveas%,1):�disable(saveas%,3) �� �� � �� �menu_header(T$,w) � $P%=T$ �P%!12=&70207 �P%!16=w*16 P%!20=40 P%!24=0 P%+=28 &� 0 :� �menu_item(A%,B%,C%,T$) DP%!0=A% NP%!4=B% XP%!8=C% b� �(T$)<13 � l $(P%+12)=T$ v� � $(indtext%+indptr%)=T$ � P%!12=indtext%+indptr% � P%!16=-1 � P%!20=�(T$)+1 � P%!8=P%!8 � 1<<8 � indptr%+=�(T$)+1 �� � P%+=24 �� � �'� �error(e$,b%):!q%=0:$(q%+4)=e$+�0 �1ș "Wimp_ReportError",q%,b%,"PlayTrack" � ,b% �=b% � �dl � f$,T% f$=�250," "):f$="":T%=q%+44 *ȕ ?T%<>0:f$+=�?T%:T%+=1:� 4Ȏ q%!40 � >:� &CB6,&001,&CC5,&701 : � q%!20=-2 �tracker_loadit(f$) H% : �hold_it(odd%) R� \2q%!12=q%!8:q%!16=4:ș "Wimp_SendMessage",17,q% f� p z � �do �� f$,T% �&f$=�250," "):f$="":f$=�rtoz(q%+44) �Ȏ q%!40 � �/� &CB6,&001,&CC5,&701 : �tracker_loadit(f$) � : � �� �2q%!12=q%!8:q%!16=4:ș "Wimp_SendMessage",17,q% �� � � � �redraw �%ș "Wimp_RedrawWindow",,q% � flag � x%=q%!4-q%!20:y%=q%!16-q%!24 �ȕ flag<>0 � !q%=vumeter% � playing% � . ș "Tracker_SoundInfo",pointer%,,,,lock% !vu_x%=x%:!vu_y%=y%-280 $ � code% .� 8H� !q%=wavepane% � show% � �geticondata(waveform%,1)<>"" � playing% � B ș "Hourglass_On" LI samp%=�(�geticondata(waveform%,1)):� samp%=0 ș "Hourglass_Smash":� VS ș "Tracker_ReadSampleTable",samp%,,,,lock% � ,,len1%,len%,rpt%,rptlen%,addr% ` ș "Wimp_SetColour",7 j � len1%>0 � addr%>0 � tA scale%=len%/len1%:rpt%=rpt%/scale%:rptlen%=rptlen%/scale% ~) sx=0:sy%=0:dist=2112/len1%:mid%=0 � � x%,y%-256 � � I%=0 � len1% �' sx+=dist:sy%=addr%?I%:mid%+=sy% � � x%+sx,(y%-256)+sy% � � I% � mid%=mid%/len1% � ș "Wimp_SetColour",11 �2 � x%,(y%-256)+mid%:� x%+2112,(y%-256)+mid% � ș "Wimp_SetColour",10 �1 � x%+rpt%*dist,(y%-256):� x%+rpt%*dist,y% � ș "Wimp_SetColour",13 �E � x%+(rpt%+rptlen%)*dist,(y%-256):� x%+(rpt%+rptlen%)*dist,y% � ș "Hourglass_Off" � � !q%=cro% � ( ș "Wimp_SetColour",14 28 � I%=0 � 150 � 50:� x%+I%,(y%-200):� x%+I%,y%:� I% <: � I%=0 � 200 � 50:� x%,(y%-I%):� x%+150,(y%-I%):� I% F � playing% � P ș "Wimp_SetColour",0 ZV ș "Tracker_SoundInfo",pointer%,,,,lock%:boff%=(pointer%!((track%-1)*32)>>>16) d- samp%=(pointer%!(((track%-1)*32)+16)) n � samp%>0 � xe ș "Tracker_ReadSampleTable",samp%,,,,lock% � ,,,len%,,,addr%:� boff%>len%-15 boff%=len%-15 �& � boff%<len%+15 bof%=len%+15 �� � x%,(y%-200)+addr%?(boff%-1):sx%=0:sy=0:� I%=boff%-15 � boff%+15:sy=(addr%?I%)/1.28:� x%+sx%,(y%-200)+sy:sx%+=(150/30):� � � �) � x%,(y%-100):� x%+150,(y%-100) � � � � �� �5� !q%<>vumeter% ș "Interface_Render3dWindow",,q% �%ș "Wimp_GetRectangle",,q% � flag �� �� � �5� �assemble:� redraw code in assembler for speed: � pass%=8 � 11 � 2 P%=code%:L%=code%+700 [OPT pass% "LDR R0,vu_block% ,!LDR R1,[R0,#24]:STR R1,chan1% 6$LDR R1,[R0,#32+24]:STR R1,chan2% @$LDR R1,[R0,#64+24]:STR R1,chan3% J$LDR R1,[R0,#96+24]:STR R1,chan4% T%LDR R1,[R0,#128+24]:STR R1,chan5% ^%LDR R1,[R0,#160+24]:STR R1,chan6% h%LDR R1,[R0,#192+24]:STR R1,chan7% r%LDR R1,[R0,#224+24]:STR R1,chan8% |MOV R0,#11 �SWI "Wimp_SetColour" �LDR R2,vu_y% �LDR R1,vu_x%:MOV R0,#4 �SWI "OS_Plot" �:MOV R1,#30:LDR R3,chan1%:MOV R2,R3,LSL #3:SUB R2,R2,R3 �MOV R0,#97:SWI "OS_Plot" �LDR R2,vu_y% �(LDR R1,vu_x%:ADD R1,R1,#40:MOV R0,#4 �SWI "OS_Plot" �:MOV R1,#30:LDR R3,chan2%:MOV R2,R3,LSL #3:SUB R2,R2,R3 �MOV R0,#97:SWI "OS_Plot" �LDR R2,vu_y% �(LDR R1,vu_x%:ADD R1,R1,#80:MOV R0,#4 SWI "OS_Plot" :MOV R1,#30:LDR R3,chan3%:MOV R2,R3,LSL #3:SUB R2,R2,R3 MOV R0,#97:SWI "OS_Plot" &LDR R2,vu_y% 0)LDR R1,vu_x%:ADD R1,R1,#120:MOV R0,#4 :SWI "OS_Plot" D:MOV R1,#30:LDR R3,chan4%:MOV R2,R3,LSL #3:SUB R2,R2,R3 NMOV R0,#97:SWI "OS_Plot" XLDR R2,vu_y% b)LDR R1,vu_x%:ADD R1,R1,#160:MOV R0,#4 lSWI "OS_Plot" v:MOV R1,#30:LDR R3,chan5%:MOV R2,R3,LSL #3:SUB R2,R2,R3 �MOV R0,#97:SWI "OS_Plot" �LDR R2,vu_y% �)LDR R1,vu_x%:ADD R1,R1,#200:MOV R0,#4 �SWI "OS_Plot" �:MOV R1,#30:LDR R3,chan6%:MOV R2,R3,LSL #3:SUB R2,R2,R3 �MOV R0,#97:SWI "OS_Plot" �LDR R2,vu_y% �)LDR R1,vu_x%:ADD R1,R1,#240:MOV R0,#4 �SWI "OS_Plot" �:MOV R1,#30:LDR R3,chan7%:MOV R2,R3,LSL #3:SUB R2,R2,R3 �MOV R0,#97:SWI "OS_Plot" �LDR R2,vu_y% �)LDR R1,vu_x%:ADD R1,R1,#280:MOV R0,#4 SWI "OS_Plot" :MOV R1,#30:LDR R3,chan8%:MOV R2,R3,LSL #3:SUB R2,R2,R3 MOV R0,#97:SWI "OS_Plot" MOV PC,R14 *B.vu_block% EQUD 0:.chan1% EQUD 0:.chan2% EQUD 0:.chan3% EQUD 0 4?.chan4% EQUD 0:.chan5% EQUD 0:.chan6% EQUD 0:.chan7% EQUD 0 >..chan8% EQUD 0:.vu_x% EQUD 0:.vu_y% EQUD 0 H] R� pass% \� f p� �process_menu z8ș "Wimp_GetPointerInfo",,pointer%:j%=(pointer%!8=1) �Ȏ handle � �� -2 � Ȏ q%!0 � �� 1 : Ȏ q%!4 � �5 � 0 : copen%=�copen%:�tickmenu(open%,0) �@ � copen% �openup(control%,0,1024,625,325) �1 � � copen% �shut(control%) �5 � 1 : topen%=�topen%:�tickmenu(open%,1) �B � topen% �openup(tuneinfo%,580,530,700,430) �2 � � topen% �shut(tuneinfo%) �5 � 2 : sopen%=�sopen%:�tickmenu(open%,2) �@ � sopen% �window_centre(stereo%,1110,250) �0 � � sopen% �shut(stereo%) 5 � 3 : vopen%=�vopen%:�tickmenu(open%,3) B � vopen% �openback(samples%,0,1000,700,850) 1 � � vopen% �shut(samples%) $5 � 4 : bopen%=�bopen%:�tickmenu(open%,4) .? � bopen% �window_centre(buffer%,700,475) 80 � � bopen% �shut(buffer%) B5 � 5 : oopen%=�oopen%:�tickmenu(open%,5) L@ � oopen% �window_centre(options%,768,367) V1 � � oopen% �shut(options%) `7 � 6 : vuopen%=�vuopen%:�tickmenu(open%,6) jB � vuopen% �openup(vumeter%,970,900,310,280) t2 � � vuopen% �shut(vumeter%) ~5 � 7 : wopen%=�wopen%:�tickmenu(open%,7) �R � wopen% �openlinked(waveform%,wavepane%,1280,390,2112,256) �C � � wopen% �shut(waveform%):�shut(wavepane%) �8 � 8 : cropen%=� cropen%:�tickmenu(open%,8) �> � cropen% �openup(cro%,700,500,150,200) �. � � cropen% �shut(cro%) � � 9 : �monitor � � �� 3 : � dos% � �* ș "Tracker_Stop",,,,,lock% �1 �puticonsprite(control%,1,"pause") �1 �puticonsprite(control%,2,"stop1") �0 �puticonsprite(control%,3,"play") + �puticondata(control%,9,"0") , �puticondata(control%,10,"0") �clear:playing%=� � (+ ș "Tracker_Pause",,,,,lock% 2- ș "Tracker_SetPos",0,,,,lock% <1 �puticonsprite(control%,1,"pause") F1 �puticonsprite(control%,2,"stop1") P0 �puticonsprite(control%,3,"play") Z+ �puticondata(control%,9,"0") d � n� 4 : � edited%=� � xD � �ok("File(s) edited but not saved. Really quit ?") � � quit%=� � � � quit%=� � � � � � � edited%=� � � quit%=� � � � � �� �:� j% ș "Wimp_CreateMenu",,menu%,pointer%!0,pointer%!4 �� �� � �openup(handle,x,y,w,h) pointer%!0=handle "pointer%!4=x:pointer%!8=y-h ,!pointer%!12=x+w:pointer%!16=y 6pointer%!20=0:pointer%!24=0 @pointer%!28=-1 J"ș "Wimp_OpenWindow",,pointer% T� ^ h� �openback(handle,x,y,w,h) rpointer%!0=handle |pointer%!4=x:pointer%!8=y-h �!pointer%!12=x+w:pointer%!16=y �pointer%!20=0:pointer%!24=0 �pointer%!28=-2 �"ș "Wimp_OpenWindow",,pointer% �� � �� �slabicon �.ș "Interface_SlabButton",,q%:� Slab in... � q%!8=0 �.ș "Interface_SlabButton",,q%:� ...and out �� � �� �shut(h%) 1pointer%!0=h%:ș "Wimp_CloseWindow",,pointer% � &� �sendhelp 0%q%!12=q%!8:q%!16=&503:help%=q%+20 ::help%=�help(q%!32,q%!36,q%!20,q%!24,help%):� help%=0 � D+?help%=0:� No, so send application help N*!q%=(help%+4-q%)��3:� Setup help block X2ș "Wimp_SendMessage",17,q%,q%!4:� and send it b� l v$� �help(window%,icon%,x%,y%,to%) �$to%="" �Ȏ window% � � � -2 : � iconbar ? � Ȏ icon% � � � icon% : � my icon ? �P $to%="This is the PlayTrack icon.|MDrag Tracker tunes to it to play them." � � �" � infowind% : � info window ? � Ȏ icon% � �@ � -1,0,1,2,3,4,5,6,7,8 : � not over 'Click here...' icon ? �L $to%="This is the Info window.|MIt provides information on PlayTrack." �> : ș "Interface_SendHelp",,q%:=0:� Send Interface help � � & � saveas% : � 'Save as:' window ? Ȏ icon% � � -1 : � over work area ? C $to%="This is the 'Save' window.|MIt is used to save a file." *> : ș "Interface_SendHelp",,q%:=0:� Send Interface help 4 � >� H=to%+�($to%) R \!� �geticondata(window%,icon%) fpointer%!0=window% ppointer%!4=icon% z$ș "Wimp_GetIconState",,pointer% �=$(pointer%!28) � �$� �puticondata(window%,icon%,t$) �'pointer%!0=window%:pointer%!4=icon% �$ș "Wimp_GetIconState",,pointer% �$(pointer%!28)=t$ �pointer%!12=0:pointer%!8=0 �$ș "Wimp_SetIconState",,pointer% �� � �&� �puticonsprite(window%,icon%,t$) �'pointer%!0=window%:pointer%!4=icon% �$ș "Wimp_GetIconState",,pointer% "ș "Wimp_DeleteIcon",,pointer% (pointer%!4=window%:$(pointer%+28)=t$ .pointer%+=4:ș "Wimp_CreateIcon",,pointer% $Rș "Wimp_ForceRedraw",pointer%!0,pointer%!4,pointer%!8,pointer%!12,pointer%!16 .pointer%-=4 8� B L� �tellemoff(e$) Ver%=pointer% ` !er%=0 j$(er%+4)=e$+�0 t+ș "Wimp_ReportError",er%,1,"PlayTrack" ~� � �3� �rtoz(T%):� q$:ȕ ?T%<>0:q$+=�?T%:T%+=1:�:=q$ � � � �pq �� edited% � �C� � �ok("File(s) edited but not saved. Really quit ?"):�no_quit �� �� � � � �ok(e$) �er%=pointer% � !er%=0 $(er%+4)=e$+�0 Aș "Wimp_ReportError",er%,&17,"Message from !PlayTrack" � ,b% =(b%=1) (� �no_quit 29q%!12=q%!8:q%!16=8:ș "Wimp_SendMessage",17,q%,q%!4:� < F� �dragend Pd%=pointer% Z ș "Wimp_GetPointerInfo",,d% d+d%!32=d%!4 :tt%=d%!32 n+d%!28=!d% :te%=d%!28 x+d%!24=d%!16 :tf%=d%!24 �+d%!20=d%!12 :tw%=d%!20 �%d%!16=1 :d%!12=0 :d%!36=0 �)d%!40=0 :!d%=64 :$(d%+44)=f$ �+ș "Wimp_SendMessage",17,d%,d%!20,d%!24 �mr%=d%!8 �� � �� �lastbit(s$) �ȕ �s$,":")>0 �s$=�s$,�s$,":")+1) �� �ȕ �s$,".")>0 �s$=�s$,�s$,".")+1) � =s$ " � �ds ,(�puticondata(saveas%,0,�rtoz(q%+44)) 6f$=�rtoz(q%+44) @ �sd(&FFA) J� T ^� �dragbox(w%,i%) hd%=pointer% r !d%=w% | ș "Wimp_GetWindowState",,d% �"ys%=d%!16-d%!8:x%=d%!4:y%=d%!8 �d%!4=i% �ș "Wimp_GetIconState",,d% �f$=�lastbit(f$) �d%!8+=x% �d%!12+=y%+ys% � d%!16+=x% �d%!20+=y%+ys% �d%!24=0 �d%!28=0 �8ș "OS_ReadModeVariable",�,4 � ,,h%:h%=�extracth(h%) �8ș "OS_ReadModeVariable",�,5 � ,,v%:v%=�extractv(v%) �d%!32=(h%*2) d%!36=(v%*4) !d%=0 d%!4=5 &ș "Wimp_DragBox",,d% 0� : D� �quicksave N� �f$,":")<1 � �f$,".")<1 � X:�tellemoff("To save, drag icon to a directory viewer") b� l �sd(&FFA) v� �� � � � �sd(t%) ��save_rm(f$) �d%=pointer% � !d%=64 � d%!20=tw% � d%!24=tf% � d%!28=te% � d%!32=tt% � d%!12=yr% �d%!16=3 �d%!36=0 !d%!40=t% !$(d%+44)=f$ !%ș "Wimp_SendMessage",17,d%,d%!20 ! ș "OS_File",18,f$,t% !*ș "Wimp_CreateMenu",,-1 !4� !> !H� �extracth(a%) !RȎ a% � !\ � 0 : =1280 !f � 1 : =640 !p � 2 : =320 !z � 3 : =160 !�� !� !�� �extractv(a%) !�Ȏ a% � !� � 1 : =512 !� � 2 : =256 !�� !� !�-� �toggleopts(flag,w%,i%):win%=w%:icn%=i% !�$�puticonsprite(w%,i%,"selclick") !� Ȏ flag � !� � � : newicn%=�:type=flag !� � � : newicn%=�:type=flag "� "� " "$"� �toggleradio(flag,w%,i%,i2%) ". Ȏ flag � "8) � � : �puticonsprite(w%,i%,"radon") "B1 �puticonsprite(w%,i2%,"radoff") "L) � � : �puticonsprite(w%,i%,"radoff") "V0 �puticonsprite(w%,i2%,"radon") "`� "j� "t "~ � �hackflags(w%,i%,eor%,or%) "�pointer%!0=w%:pointer%!4=i% "�#pointer%!8=eor%:pointer%!12=or% "�$ș "Wimp_SetIconState",,pointer% "�� "� "�� �enable(w%,i%) "��hackflags(w%,i%,0,&400000) "�� "� "�� �disable(w%,i%) "�%�hackflags(w%,i%,&400000,&400000) "�� # # � �select(w%,i%) #%�hackflags(w%,i%,&200000,&200000) #� #( #2� �deselect(w%,i%) #<�hackflags(w%,i%,0,&200000) #F� #P #Z� �toedit(file$) #d!pointer%=(48+�file$)��3 #npointer%!12=0 #xpointer%!16=5 #�pointer%!36=-2 #�pointer%!40=&FFF #�$(pointer%+44)=file$+�0 #�'ș "Wimp_SendMessage",18,pointer%,0 #�� #� #�� �tocursor(text$) #�� key%=1 � �(text$) #�*ș "Wimp_ProcessKey",�(�text$,key%,1)) #� ș "Wimp_Poll",,q% � reason% #�2ș "Interface_PreProcessKey",reason%,q%,taskh% #�'ș "Interface_Poll",reason%,,taskh% #�Ȏ reason% � $ � 1 : �redraw $# � 2 : ș "Wimp_OpenWindow",,q% $$ � 3 : ș "Wimp_CloseWindow",,q% $" � 6 : �checkmouse $,# � 7 : f$=�lastbit(f$):�dragend $6 � 9 : �process_menu $@ � 17,18 : �message $J� $T� $^� $h $r� �tickmenu(b%,n%) $|%b%!(28+24*n%)=b%!(28+24*n%) � &01 $�� $� $�� �greymenu(b%,n%) $�1b%!((28+24*n%)+8)=b%!((28+24*n%)+8) � &400000 $�� $� $�#� �window_centre(handle%,w%,h%) $�x%=((1280-w%)/2) $�y%=(((1024-h%)/2)+h%) $� �openup(handle%,x%,y%,w%,h%) $�� $� $�� �force_redraw %3ș "Wimp_ForceRedraw",fontselect%,0,0-400,700,0 %� % %&"� �tracker_loadit(f$):tune$=f$ %0Dș "Tracker_Stop",,,,,lock%:� Release so next call won't corrupt %:.� workspc%>0 ș "OS_Heap",3,buff%,workspc% %Dh%=�(f$):len%=�#h%:�#h% %N2ș "OS_Heap",2,buff%,,len% � ,,workspc%;flags% %XM� (flags% � 1)=1 �tellemoff("Buffer size is inadequate: Please extend"):� %b ș "OS_File",&FF,f$,workspc% %l1ș "Tracker_MemoryLoad",workspc%,len%,,,lock% %v"ș "Sound_Speaker",1:speaker=� %�&� lap% ș "Tracker_Play",,,,,lock% %�2� registered% �openup(control%,0,1024,625,325) %�$�puticonsprite(control%,0,"rev") %�&�puticonsprite(control%,1,"pause") %�Q� lap% �puticonsprite(control%,2,"stop") � �puticonsprite(control%,2,"stop1") %�Q� lap% �puticonsprite(control%,3,"play1") � �puticonsprite(control%,3,"play") %�$�puticonsprite(control%,4,"fwd") %�1ș "Tracker_ReadPos",,,,,lock% � current,,max %�"�puticondata(control%,10,�max) %�4� registered% �openup(tuneinfo%,580,530,700,430) %� �puticondata(tuneinfo%,1,f$) %�h%=�(f$):len%=�#h%:�#h% %�\�puticondata(tuneinfo%,3,�len%+" bytes -- "+�(�int((len%/1024)+0.4))+"K"):lenbytes%=len% &Cș "Tracker_TuneInfo",,,,,lock% � len1%,voices%,speed%,name$,a% &)� a%>0 author$=�rtoz(a%) � author$="" &name$=�strip(name$) & &�puticondata(tuneinfo%,5,�voices%) &*%�puticondata(tuneinfo%,7,�speed%) &4$�puticondata(tuneinfo%,9,�len1%) &>$�puticondata(tuneinfo%,11,name$) &H&�puticondata(tuneinfo%,13,author$) &R(�puticondata(tuneinfo%,15,�fmat(f$)) &\#�puticondata(control%,14,name$) &fAș "OS_File",5,f$ � ,,load%:type%=(load%>>>8)�&FFF:Ȏ type% � &p2� &001 : �puticondata(tuneinfo%,17,"STracker") &z2� &CB6 : �puticondata(tuneinfo%,17,"STModule") &�2� &CC5 : �puticondata(tuneinfo%,17,"TeqMusic") &�2� &701 : �puticondata(tuneinfo%,17,"ProTrack") &�� &�"� afs% ș "OS_File",18,f$,&CB6 &��samples_draw &��redo_buff(lenbytes%) &�*� copen%=� copen%=�:�tickmenu(open%,0) &�*� topen%=� topen%=�:�tickmenu(open%,1) &�playing%=� &�� &� &�� �redo_buff(len%) &�� buffersize%>0 � 'G �puticondata(buffer%,10,�len%+" bytes -- "+�(�int(len%/1024))+"K") '$ ș "OS_Heap",1,buff% � ,,,free% 'K �puticondata(buffer%,11,�(free%)+" bytes -- "+�(�int(free%/1024))+"K") '$� '.1 �puticondata(buffer%,10,"No buffer defined") '81 �puticondata(buffer%,11,"No buffer defined") 'B� 'L� 'V '`� �clear 'j.�puticondata(tuneinfo%,1,"No Tune Loaded") 't.�puticondata(tuneinfo%,3,"No Tune Loaded") '~!�puticondata(tuneinfo%,5,"0") '�!�puticondata(tuneinfo%,7,"0") '�!�puticondata(tuneinfo%,9,"0") '�/�puticondata(tuneinfo%,11,"No Tune Loaded") '�/�puticondata(tuneinfo%,13,"No Tune Loaded") '�"�puticondata(tuneinfo%,15,"0") '�/�puticondata(tuneinfo%,17,"No Tune Loaded") '� �puticondata(control%,14,"") '�� '� '�� �strip(text$) '�1ȕ �(�text$,1))<33:text$=�text$,(�text$)-1):� '�1ȕ �(�text$,1))<33:text$=�text$,(�text$)-1):� ( =text$ ( (� �fmat(f$) ( Ȏ mak% � ((� � : =�mandk(f$) (2� �: =�xbyte(f$) (<� (F (P� �xbyte(f$) (Zh%=�(f$) (d�#h%=471 (n a=�#h% (x�#h% (�� a=&78 ="15" � ="31" (� (�� �mandk(f$) (�h%=�(f$) (� �#h%=1080 (�"q$="":� I%=1 � 4:q$+=�(�#h%):� (��#h% (�5� q$="M.K." � q$="FLT4" � q$="FLT8" ="31" � ="15" (�4� Check for Startrekker as well as ProTracker ID (� (�� �stereo(ch,pos) (�"ș "Sound_Stereo",ch,�pos(pos) (�� ) )� �pos(pos) )Ȏ pos � )" � 1 : =-127 ), � 2 : =-79 )6 � 3 : =-47 )@ � 4 : =0 )J � 5 : =47 )T � 6 : =79 )^ � 7 : =127 )h� )r )|,� �create(ww,wh,tf,tb,sc,T$,wf,wb,flags) )�$pointer%!24=-1:pointer%!28=flags )�!pointer%?32=tf:pointer%?33=tb )�!pointer%?34=wf:pointer%?35=wb )�pointer%?36=3:pointer%?37=1 )� pointer%?38=sc:pointer%?39=0 )� pointer%!40=0:pointer%!44=wh )� pointer%!48=ww:pointer%!52=0 )�!pointer%!56=&3D:pointer%!60=0 )�pointer%!64=0:pointer%!68=0 )�$(pointer%+72)=T$ )�pointer%!84=0 )�)ș "Wimp_CreateWindow",,pointer% � h% )�=h% * *>� �create_icon(handle,addr,minx,maxx,miny,ht,t$,flags,len) *%pointer%!0=handle:pointer%!4=minx *&$pointer%!8=miny:pointer%!12=maxx *0)pointer%!16=miny+ht:pointer%!20=flags *:� addr=0 � *D$(pointer%+24)=t$ *N� *Xpointer%!24=addr *b0� t$="�" pointer%!28=valid% � pointer%!28=-1 *lpointer%!32=len *v� *�"ș "Wimp_CreateIcon",,pointer% *�� *� *�� �samps_wind *�start%=samps% *�volstart%=volume% *�sampstart%=samplen% *�9samples%=�create(700,-1200,7,2,12,"Samples",7,1,%111) *�miny=-60 *�>�create_icon(samples%,text%,10,80,miny,52,"�",&17000121,0) *�A�create_icon(samples%,text%+8,90,200,miny,52,"�",&17000121,0) *�C�create_icon(samples%,text%+16,500,590,miny,52,"�",&17000121,0) *�C�create_icon(samples%,text%+24,600,690,miny,52,"�",&17000121,0) +miny-=60 +count%=1 +� I=1 � 31 + $samps%="" +*$volume%="" +4$samplen%="" +>8�create_icon(samples%,0,10,80,miny,36,�I,&7000021,0) +H?�create_icon(samples%,samps%,90,490,miny,36,"",&7016121,32) +RA�create_icon(samples%,volume%,500,590,miny,36,"",&7000121,32) +\B�create_icon(samples%,samplen%,600,690,miny,36,"",&7000121,32) +f8miny-=36:samps%+=32:volume%+=4:samplen%+=6:count%+=1 +p� +zsamps%=start% +�volume%=volstart% +�samplen%=sampstart% +�� +�: +�� �samples_draw +�sampsnum=0 +�start%=samps% +�volstart%=volume% +�sampstart%=samplen% +�� I=1 � 31 +�>ș "Tracker_ReadSampleTable",I,,,,lock% � no%,a$,vol%,len% +�,�puticontext(samples%,(2*I)+3,samps%,a$) +�f� vol%<>0 �puticontext(samples%,(2*I)+4,volume%,�vol%) � �puticontext(samples%,(2*I)+4,volume%,"") ,t� len%<>0 �puticontext(samples%,(2*I)+5,samplen%,�len%) � �puticontext(samples%,(2*I)+5,samplen%,""):sampsnum+=1 ,%samps%+=32:volume%+=4:samplen%+=6 ,� ,$samps%=start% ,.volume%=volstart% ,8samplen%=sampstart% ,B� ,L ,V/� �puticontext(window%,icon%,buffer%,text$) ,`$buffer%=text$ ,j'pointer%!0=window%:pointer%!4=icon% ,tpointer%!8=0:pointer%!12=0 ,~$ș "Wimp_SetIconState",,pointer% ,�� ,� ,� � �kp ,�ș "Wimp_ProcessKey",q%!24 ,� Ȏ q%!0 � ,� � buffer% ,� Ȏ q%!4 � ,� � 3 ,� Ȏ q%!24 � ,�4 � 13 : q%!8=4:q%!12=buffer%:q%!16=5:�slabicon ,�4 �buffer(�(�geticondata(buffer%,3))) ,� � - � - � waveform% - Ȏ q%!4 � - � 1 -( Ȏ q%!24 � -2C � 13 : show%=�:ș "Wimp_ForceRedraw",wavepane%,0,-256,2112,0 -< � -F � -P� -ZȎ q%!24 � -d> � 385 : speaker=�speaker:�toggleopts(speaker,control%,12) -nE � speaker ș "Sound_Speaker",2 � ș "Sound_Speaker",1 -x8 � 386 : mute%=�mute%:�toggleopts(mute%,control%,15) -�A � mute% ș "Sound_Enable",1 � ș "Sound_Enable",2 -� � 387 : � register% � -�4 ș "Wimp_GetPointerInfo",,pointer% -�K ș "Wimp_CreateMenu",,saveas%,pointer%!0-64,pointer%!4+64 -� � -�> � 388 : �puticonsprite(control%,0,"rev1"):sicn%=0:nscn%=� -�D ș "Tracker_ReadPos",,,,,lock% � c,,m:c-=1:� c<0 c=m -�. ș "Tracker_SetPos",c,,,,lock% -�) � 389 : ș "Tracker_Pause",,,,,lock% -�3 �puticonsprite(control%,1,"pause1") -�1 �puticonsprite(control%,2,"stop") -�1 �puticonsprite(control%,3,"play") -� � 390 : � dos% � .- ș "Tracker_Stop",,,,,lock% .4 �puticonsprite(control%,1,"pause") .4 �puticonsprite(control%,2,"stop1") ."3 �puticonsprite(control%,3,"play") .,. �puticondata(control%,9,"0") .6/ �puticondata(control%,10,"0") .@# �clear:playing%=� .J � .T. ș "Tracker_Pause",,,,,lock% .^0 ș "Tracker_SetPos",0,,,,lock% .h4 �puticonsprite(control%,1,"pause") .r4 �puticonsprite(control%,2,"stop1") .|3 �puticonsprite(control%,3,"play") .� � .�( � 391 : ș "Tracker_Play",,,,,lock% .�2 �puticonsprite(control%,1,"pause") .�1 �puticonsprite(control%,2,"stop") .�2 �puticonsprite(control%,3,"play1") .�> � 392 : �puticonsprite(control%,4,"fwd1"):sicn%=4:nscn%=� .�D ș "Tracker_ReadPos",,,,,lock% � c,,m:c+=1:� c>m c=0 .�. ș "Tracker_SetPos",c,,,,lock% .� � 401 : � registered% � .�3 copen%=�copen%:�tickmenu(open%,0) .�; � copen% �openup(control%,0,1024,625,325) .�, � � copen% �shut(control%) .� � / � 402 : � registered% � /3 topen%=�topen%:�tickmenu(open%,1) /= � topen% �openup(tuneinfo%,580,530,700,430) /&- � � topen% �shut(tuneinfo%) /0 � /: � 403 : � registered% � /D3 sopen%=�sopen%:�tickmenu(open%,2) /N; � sopen% �window_centre(stereo%,1110,250) /X+ � � sopen% �shut(stereo%) /b � /l � 404 : � registered% � /v3 vopen%=�vopen%:�tickmenu(open%,3) /�= � vopen% �openback(samples%,0,1000,700,850) /�, � � vopen% �shut(samples%) /� � /� � 405 : � registered% � /�3 bopen%=�bopen%:�tickmenu(open%,4) /�: � bopen% �window_centre(buffer%,700,475) /�+ � � bopen% �shut(buffer%) /� � /� � 406 : � registered% � /�3 oopen%=�oopen%:�tickmenu(open%,5) /�; � oopen% �window_centre(options%,768,367) /�, � � oopen% �shut(options%) /� � 0 � 407 : � registered% � 05 vuopen%=�vuopen%:�tickmenu(open%,6) 0= � vuopen% �openup(vumeter%,970,900,310,280) 0 - � � vuopen% �shut(vumeter%) 0* � 04 � 408 : � registered% � 0>3 wopen%=�wopen%:�tickmenu(open%,7) 0HM � wopen% �openlinked(waveform%,wavepane%,1280,390,2112,256) 0R> � � wopen% �shut(waveform%):�shut(wavepane%) 0\ � 0f � 409 : � registered% � 0p5 cropen%=�cropen%:�tickmenu(open%,8) 0z9 � cropen% �openup(cro%,700,500,150,200) 0�) � � cropen% �shut(cro%) 0� � 0� � 474 : � registered% � 0� �monitor 0� � 0�' � 393 : cvol%-=5:� cvol%<0 cvol%=0 0�& x%=�int(cvol%/volunit) 0�1 pointer%!0=control%:pointer%!4=18 0�0 ș "Wimp_GetIconState",,pointer% 0�. ș "Wimp_DeleteIcon",,pointer% 0�) pointer%!16=pointer%!8+x% 0�D pointer%!4=control%:ș "Wimp_CreateIcon",,pointer%+4 0�> pointer%!4=19:ș "Wimp_GetIconState",,pointer% 1_ ș "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 1+ � 458 : cvol%+=5:� cvol%>255 cvol%=255 1& x%=�int(cvol%/volunit) 1$1 pointer%!0=control%:pointer%!4=18 1.0 ș "Wimp_GetIconState",,pointer% 18. ș "Wimp_DeleteIcon",,pointer% 1B) pointer%!16=pointer%!8+x% 1LD pointer%!4=control%:ș "Wimp_CreateIcon",,pointer%+4 1V> pointer%!4=19:ș "Wimp_GetIconState",,pointer% 1`_ ș "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 1j � 459 : cvol%=255 1t& x%=�int(cvol%/volunit) 1~1 pointer%!0=control%:pointer%!4=18 1�0 ș "Wimp_GetIconState",,pointer% 1�. ș "Wimp_DeleteIcon",,pointer% 1�) pointer%!16=pointer%!8+x% 1�D pointer%!4=control%:ș "Wimp_CreateIcon",,pointer%+4 1�> pointer%!4=19:ș "Wimp_GetIconState",,pointer% 1�_ ș "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 1�. ș "Tracker_SetPos",0,,,,lock% 1�+ ș "Tracker_Play",,,,,lock% 1�2 �puticonsprite(control%,1,"pause") 1�1 �puticonsprite(control%,2,"stop") 1�2 �puticonsprite(control%,3,"play1") 1�8 ș "Sound_Speaker",1:ș "Sound_Enable",2 2! speaker=�:mute%=� 2 4 �puticonsprite(control%,12,"seloff") 24 �puticonsprite(control%,15,"seloff") 2 � 474 : � registered% � 2(+ pointer%!0=1:pointer%!4=9 229 ș "Wimp_SendMessage",9,pointer%,taskh% 2< � 2F� 2P� 2Z 2d� �buffer(size%) 2n?� playing% �tellemoff("Can't alter buffer while playing"):� 2x#� buff%>0 � �release_rma(buff%) 2�5�("RMAFree "+�(size%)+" Error 0 Insufficent RMA") 2�"buffersize%=(size%*1024) � � 3 2�!buff%=�claim_rma(buffersize%) 2�%ș "OS_Heap",0,buff%,,buffersize% 2��redo_buff(lenbytes%) 2�� 2� 2�� �hold_it(window%) 2� � finish% 2�Ȏ window% � 2�)� odd% : �window_centre(odd%,750,300) 2�*� help%: �window_centre(help%,800,400) 2�� 3;pointer%!0=window%:ș "Wimp_GetWindowOutline",,pointer% 3Cxmin%=pointer%!4:ymin%=pointer%!8:xsize%=pointer%!12-pointer%!4 3Aysize%=pointer%!16-pointer%!8:ȗ ȓ xmin%,ymin%,xsize%,ysize% 3" finish%=� 3,� 36!ș "Wimp_Poll",,pointer% � r% 3@Ȏ r% � 3J� 1 : �redraw2 3T(� 2 : ș "Wimp_OpenWindow",,pointer% 3^)� 3 : ș "Wimp_CloseWindow",,pointer% 3h� 6 : �checkmouse2 3r�� 17,18 : � pointer%!16=0 ș "Interface_CloseDown",taskh%:ș "Sound_Speaker",oldspeak%:ș "Sound_Enable",oldmute%:ș "Tracker_Unlock",lock%:�tidy:ș "Wimp_CloseDown":� 3|E � pointer%!16=&400C1 ȗ ȓ xmin%,ymin%,xsize%,ysize% 3�� 3� � finish% 3��shut(window%) 3�*ș "OS_ReadModeVariable",-1,4 � ,,Eig% 3�.ș "OS_ReadModeVariable",-1,11 � ,,Extent% 3�xsize%=(Extent%+1)<<Eig% 3�*ș "OS_ReadModeVariable",-1,5 � ,,Eig% 3�.ș "OS_ReadModeVariable",-1,12 � ,,Extent% 3�ysize%=(Extent%+1)<<Eig% 3�ȗ ȓ 0,0,xsize%,ysize% 3�� 3� 3�� �checkmouse2 4Ȏ pointer%!12 � 4 � odd% 4Ȏ pointer%!8 � 4&� 4 : Ȏ pointer%!16 � 402� 6 : �slabicon2:�tracker_loadit(f$):finish%=� 4:� 7 : �slabicon2:finish%=� 4D:� 8 : �slabicon2:�setup_help:�hold_it(help%):finish%=� 4N� 4X� 4b� help% 4lȎ pointer%!8 � 4v� 4 : Ȏ pointer%!16 � 4�� 9 : �slabicon2:finish%=� 4�� 4�� 4�� 4�� 4� 4�� �setup_help 4��clear_help 4�5�puticondata(help%,3,"PlayTrack can only handle") 4�2�puticondata(help%,4,"certain types of file.") 4�6�puticondata(help%,5,"However, it may be able to") 4�7�puticondata(help%,6,"load music files in formats") 4�4�puticondata(help%,7,"it doesn't 'know' about,") 57�puticondata(help%,8,"so you can still hear them.") 5� 5 5 � �setup_mess1 5*�clear_help 543�puticondata(help%,3,"This is an unregistered") 5>7�puticondata(help%,4,"copy of !PlayTrack, that is") 5H9�puticondata(help%,5,"restricted in what it can do.") 5R7�puticondata(help%,6,"If you want to use the more") 5\5�puticondata(help%,7,"advanced facilities, then") 5f-�puticondata(help%,8,"you can register.") 5p� 5z 5�� �setup_mess2 5��clear_help 5�6�puticondata(help%,3,"This copy of !PlayTrack is") 5�2�puticondata(help%,4,"now registered to this") 5�1�puticondata(help%,5,"machine. Please quit") 5�4�puticondata(help%,6,"!PlayTrack and reload to") 5�1�puticondata(help%,7,"use the more advanced") 5�'�puticondata(help%,8,"facilities.") 5�� 5� 5�� �setup_mess3 5��clear_help 5�2�puticondata(help%,3,"Only PIN numbers up to") 6/�puticondata(help%,4,"#65280 are allowed.") 60�puticondata(help%,6,"Please re-enter your") 6'�puticondata(help%,7,"PIN number.") 6$� 6. 68� �setup_mess4 6B�clear_help 6L6�puticondata(help%,3,"This copy of !PlayTrack is") 6V2�puticondata(help%,4,"not registered to this") 6`$�puticondata(help%,5,"machine.") 6j8�puticondata(help%,7,"!PlayTrack will now run, but") 6t0�puticondata(help%,8,"will not work fully.") 6~� 6� 6�:� �clear_help:� I%=3 � 8:�puticondata(help%,I%,""):�:� 6� 6�� �redraw2 6�,ș "Wimp_RedrawWindow",,pointer% � more% 6�ȕ more%<>0 6�+ș "Interface_Render3dWindow",,pointer% 6�,ș "Wimp_GetRectangle",,pointer% � more% 6�� 6� 6�� �slabicon2 6�'ș "Interface_SlabButton",,pointer% 7pointer%!8=0 7 'ș "Interface_SlabButton",,pointer% 7� 7 7(� �register(string$) 728�puticondata(infowind%,15,"Registered to: "+string$) 7<� 7F 7P� �get_register 7Z$h%=�("<PlayTrack$Dir>.Register") 7dl%=�#h%:�#h% 7nblock%=�claim_rma(l%) 7x6ș "OS_File",255,"<PlayTrack$Dir>.Register",block% 7�4� I%=0 � l%:block%?I%=block%?I% � �(��(I%),1)):� 7�0pirate%=�:pin%=!block%:name$=�rtoz(block%+4) 7�� pin%=65281 � pin%=65282 � 7� � pin%=65281 � 7�, �register(name$):registered%=�:�beep 7� � 7�& �register(name$):registered%=� 7� � 7�� 7�G ș "OS_Byte",161,cmos% � ,,reg%:ș "OS_Byte",161,cmos2% � ,,reg2% 7� reg%=(256*reg%)+reg2% 7�y � reg%<>pin% � �setup_mess4:�hold_it(help%):registered%=�:pirate%=�:�register("PIRATE COPY"):�release_rma(block%):� 7�$ �register(name$):registered%=� 8� 8�release_rma(block%) 8� 8" 8,� �beep 86!� I=1 � 7:�7:�=0:� � �=50:�:� 8@ 8J� �claim_rma(size%) 8T.ș "XOS_Module",6,,,size% � ,,addr%;flags% 8^� (flags% � 1)=1 � 8h* �tellemoff("Error during RMA claim") 8r =0 8|� 8� =addr% 8� 8�� �release_rma(addr%) 8�ș "OS_Module",7,,addr% 8�� 8� 8�� �register_copy 8�#name$=�geticondata(register%,4) 8�&pin%=�(�geticondata(register%,10)) 8�O� pin%>65280 � �setup_mess3:�hold_it(help%):�puticondata(register%,10,""):� 8�len%=4+�name$+1 8�addr%=�claim_rma(len%) 8�\!addr%=pin%:block%=addr%+4:name$+=�0:� I%=1 � �name$:?block%=�(�name$,I%,1)):block%+=1:� 92� I%=0 � len%:addr%?I%=addr%?I% � �(��I%,1)):� 9Eș "OS_File",10,"<PlayTrack$Dir>.Register",&FFD,,addr%,addr%+len% 9%ș "OS_Byte",162,cmos%,pin% � 256 9&&ș "OS_Byte",162,cmos2%,pin% � 256 90 �setup_mess2:�hold_it(help%) 9:� 9D 9N� �save_opts 9X#h%=�("<PlayTrack$Dir>.Options") 9b$clock$=�geticondata(options%,13) 9l#buffer$=�geticondata(buffer%,3) 9v0�#h%,lap%,scr%,dos%,afs%,mak%,clock$,buffer$ 9��#h% 9�� 9� 9�� �load_opts 9�#h%=�("<PlayTrack$Dir>.Options") 9�0�#h%,lap%,scr%,dos%,afs%,mak%,clock$,buffer$ 9��#h% 9�/lap$="":� lap% lap$="selon" � lap$="seloff" 9�/scr$="":� scr% scr$="selon" � scr$="seloff" 9�/dos$="":� dos% dos$="selon" � dos$="seloff" 9�/afs$="":� afs% afs$="selon" � afs$="seloff" 9�/mak$="":� mak% mak$="selon" � mak$="seloff" 9�#�puticonsprite(options%,2,lap$) :#�puticonsprite(options%,4,scr$) :#�puticonsprite(options%,6,dos$) :#�puticonsprite(options%,8,afs$) : $�puticonsprite(options%,11,mak$) :*$�puticondata(options%,13,clock$) :4#�puticondata(buffer%,3,buffer$) :>� :H :R,� �openlinked(wh1%,wh2%,w1%,h1%,w2%,h2%) :\x%=(1280-w1%)/2 :fy%=((1024-h1%)/2)+h1% :p�openup(wh1%,x%,y%,w1%,h1%) :z(�openup(wh2%,x%+20,y%-80,w1%-40,h2%) :�� :� :� � �volume :�4ș "Wimp_GetPointerInfo",,pointer%:x%=pointer%!0 :�:pointer%!0=control%:ș "Wimp_GetWindowState",,pointer% :�Ax%-=pointer%!4:pointer%!4=19:ș "Wimp_GetIconState",,pointer% :�6x%-=pointer%!8:� x% now is distance along icon #19 :�%pointer%!0=control%:pointer%!4=18 :�$ș "Wimp_GetIconState",,pointer% :�"ș "Wimp_DeleteIcon",,pointer% :�1pointer%!4=control%:pointer%!16=pointer%!8+x% :�$ș "Wimp_CreateIcon",,pointer%+4 :�Fpointer%!0=control%:pointer%!4=19:ș "Wimp_GetIconState",,pointer% ;Sș "Wimp_ForceRedraw",pointer%!0,pointer%!8,pointer%!12,pointer%!16,pointer%!20 ;0cvol%=�int(x%*volunit):� cvol%>255 cvol%=255 ;� ;$ ;.� �int(int) ;8int+=0.5 ;B=�(int) ;L ;V� �volfill ;`� cvol%>10 � ;j sc=cvol%/255 ;tE sccb%!20=�vol(sccb%!20,sc):sccb%!(32+20)=�vol(sccb%!(32+20),sc) ;~* sccb%!(64+20)=�vol(sccb%!(64+20),sc) ;�* sccb%!(96+20)=�vol(sccb%!(96+20),sc) ;�, sccb%!(128+20)=�vol(sccb%!(128+20),sc) ;�, sccb%!(160+20)=�vol(sccb%!(160+20),sc) ;�, sccb%!(192+20)=�vol(sccb%!(192+20),sc) ;�, sccb%!(224+20)=�vol(sccb%!(224+20),sc) ;�� ;�+ � I%=0 � 224 � 32:sccb%!(I%+20)=255:� ;�� ;�� ;� ;�� �vol(vol%,scl) ;�/vol1=255-vol%:vol1=vol1*scl:=�int(255-vol1) < < � �playnote <2samp%=�(�geticondata(waveform%,1)):� samp%=0 � <Cș "Tracker_ReadSampleTable",samp%,,,,lock% � ,,len%:� len%=0 � <(.ș "Tracker_PlayNote",1,15,samp%,200,lock% <2� << <F� �save_rm(f$) <PN� workspc%=0 �tellemoff("You have to have a Tracker tune loaded first!"):� <Z$base%=�claim_rma(lenbytes%+1000) <dL� base%=0 �tellemoff("Cannot save Tracker tune as Relocatable Module"):� <n� pass%=12 � 15 � 2 <x)P%=0:O%=base%:L%=base%+lenbytes%+1500 <�[OPT pass% <� EQUD 0 <�EQUD mod_initialise% <�EQUD mod_finalise% <� EQUD 0 <�EQUD mod_title% <�EQUD mod_help% <�] <�� com% � <� [OPT pass% <� EQUD mod_command% <� ] <�� = [OPT pass% = EQUD 0 = ] ="� =,[OPT pass% =6 EQUD 0 =@ =J.mod_initialise% =TSTMFD R13!,{R0-R8,R14} =^SWI "OS_ReadMonotonicTime" =h� R0,R0,#256 =rSTR R0,mod_lock% =|SWI "Tracker_Lock" =�ADR R0,mod_tunestart% =�LDR R1,mod_tunelength% =�LDR R4,mod_lock% =�SWI "Tracker_MemoryLoad" =�LDR R0,mod_autoplay% =� CMP R0,#1 =�SWIEQ "Tracker_Play" =�LDMFD R13!,{R0-R8,PC} =� =�.mod_finalise% =�STMFD R13!,{R0-R8,R14} =�LDR R4,mod_lock% =�SWI "Tracker_Stop" > MOV R0,R4 >SWI "Tracker_Unlock" >LDMFD R13!,{R0-R8,PC} >& >0.mod_title% >:EQUS "MusicModule" >D EQUB 0 >N ALIGN >X >b.mod_help% >l0EQUS "MusicModule"+�9+"0.10 ("+��$,5,11)+")" >vEQUB 0:ALIGN >� >�.mod_command% >�EQUS "MusicOn" >� EQUB 0 >� ALIGN >�EQUD mod_musicon% >� EQUD 0 >�EQUD mod_musicon_syntax% >�EQUD mod_musicon_help% >�EQUS "MusicOff" >� EQUB 0 >� ALIGN >�EQUD mod_musicoff% ? EQUD 0 ?EQUD mod_musicoff_syntax% ?EQUD mod_musicoff_help% ? EQUS "MusicPause" ?* EQUB 0 ?4 ALIGN ?>EQUD mod_musicpause% ?H EQUD 0 ?REQUD mod_musicpause_syntax% ?\EQUD mod_musicpause_help% ?f EQUD 0 ?p ?z.mod_musicon% ?�STMFD R13!,{R0-R8,R14} ?�LDR R4,mod_lock% ?�SWI "Tracker_Play" ?�LDMFD R13!,{R0-R8,PC} ?� ?�.mod_musicon_syntax% ?�EQUS "Syntax: *MusicOn" ?� EQUB 0 ?� ALIGN ?� ?�.mod_musicon_help% ?�=EQUS "*MusicOn switches the background Tracker music on." ?� EQUB 0 @ ALIGN @ @.mod_musicoff% @$STMFD R13!,{R0-R8,R14} @.LDR R4,mod_lock% @8SWI "Tracker_Pause" @B MOV R0,#0 @LSWI "Tracker_SetPos" @VLDMFD R13!,{R0-R8,PC} @` @j.mod_musicoff_syntax% @tEQUS "Syntax: *MusicOff" @~ EQUB 0 @� ALIGN @� @�.mod_musicoff_help% @�?EQUS "*MusicOff switches the background Tracker music off." @� EQUB 0 @� ALIGN @� @�.mod_musicpause% @�STMFD R13!,{R0-R8,R14} @�LDR R4,mod_lock% @�SWI "Tracker_Pause" @�LDMFD R13!,{R0-R8,PC} A A .mod_musicpause_syntax% AEQUS "Syntax: *MusicPause" A EQUB 0 A( ALIGN A2 A<.mod_musicpause_help% AF;EQUS "*MusicPause pauses the background Tracker music." AP EQUB 0 AZ ALIGN Ad An.mod_autoplay% Ax EQUD 1 A� A�.mod_lock% A� EQUD 0 A� A�.mod_tunelength% A� EQUD 0 A� A�.mod_tunestart% A�] A�/ș "OS_File",&FF,tune$,mod_tunestart%+base% A�P%+=lenbytes%:O%+=lenbytes% A�� pass% A�&!(mod_tunelength%+base%)=lenbytes% B?� ap% � !(mod_autoplay%+base%)=1 � !(mod_autoplay%+base%)=0 B+ș "OS_File",&A,f$,&FFA,,base%,base%+P% B�release_rma(base%) B"� B, B6� �monitor:oldmode%=� B@� track% BJ�12:�:ȗ � BT$� I%=0 � fontlen%-1:� font%?I%:� B^Bș "Tracker_TuneInfo",,,,,lock% � len%,voices%,speed%,name$,a% Bh�0,0);"Track: "+name$ Br6�48,1);"Voices: "+�voices%+" Speed: "+�speed% B|C�48,2);"Patterns: "+�len%+�3-�(�len%)," ")+" Volume: "+�~cvol% B�K�48,3);"Position: 0 of: "+�(len%-1)+�3-�(�(len%-1))," ")+" Event: 0" B�P�12,5);"Pitch Acc Pitch Inc Byte Off Samp Len Samp No Volume Period" B�#ș "OS_Heap",1,buff% � ,,,size% B�7�0,20);"Buffer size currently &"+�~size%+" bytes." B�D�0,21);"Module loaded at &"+�~workspc%+", length &"+�~lenbytes% B�0�0,29);"System PlayTrack by David J. Seery" B�'�0,31);�geticondata(infowind%,15); B�$�:ș "Tracker_ReadPos" � cp%,ev% B�d�48,3);"Position: "+�cp%+�3-�(�cp%)," ")+" of: "+�(len%-1)+�3-�(�(len%-1))," ")+" Event: "+�ev% B�#ș "Tracker_SoundInfo",pointer% B�"� I%=0 � 224 � 32:track%=I%/32 B�$�0,6+track%);"Channel "+�track% B��acc%=pointer%!I%:inc%=pointer%!(I%+4):slen%=pointer%!(I%+12):sno%=pointer%!(I%+16):vol%=pointer%!(I%+20):note%=pointer%!(I%+24):per%=pointer%!(I%+28) CEș"OS_ConvertHex8",acc%,pointer%+300,100:acc$=�rtoz(pointer%+300) CEș"OS_ConvertHex8",inc%,pointer%+300,100:inc$=�rtoz(pointer%+300) CKș"OS_ConvertHex8",acc%>>>16,pointer%+300,100:loop$=�rtoz(pointer%+300) C&Gș"OS_ConvertHex8",slen%,pointer%+300,100:slen$=�rtoz(pointer%+300) C0Eș"OS_ConvertHex8",sno%,pointer%+300,100:sno$=�rtoz(pointer%+300) C:Iș"OS_ConvertHex8",255-vol%,pointer%+300,100:vol$=�rtoz(pointer%+300) CDEș"OS_ConvertHex8",per%,pointer%+300,100:per$=�rtoz(pointer%+300) CNU�12,6+track%);acc$+" "+inc$+" "+loop$+" "+slen$+" "+sno$+" "+vol$+" "+per$ CX$�(10*track%)+3,15);�note(note%) Cb� Clȗ x%,y%,z%:� z%<>0 Cv�("Alphabet Latin1") C�ș "Wimp_SetMode",oldmode% C�� C� C�� �note(val%) C� Ȏ val% � C� � 1 : ="C-1" C� � 2 : ="C#1" C� � 3 : ="D-1" C� � 4 : ="D#1" C� � 5 : ="E-1" C� � 6 : ="F-1" C� � 7 : ="F#1" C� � 8 : ="G-1" D � 9 : ="G#1" D � 10: ="A-1" D � 11: ="A#1" D � 12: ="B-1" D* � 13: ="B#1" D4 � 14: ="C-2" D> � 15: ="C#2" DH � 16: ="D-2" DR � 17: ="D#2" D\ � 18: ="E-2" Df � 19: ="F-2" Dp � 20: ="F#2" Dz � 21: ="G-2" D� � 22: ="G#2" D� � 23: ="A-2" D� � 24: ="A#2" D� � 25: ="B-2" D� � 26: ="B#2" D� � 27: ="C-3" D� � 28: ="C#3" D� � 29: ="D-3" D� � 30: ="D#3" D� � 31: ="E-3" D� � 32: ="F-3" D� � 33: ="F#3" D� � 34: ="G-3" E � 35: ="G#3" E � 36: ="A-3" E� E$ ="0-0" E. E8� �tidy EB!� buff%>0 �release_rma(buff%) EL� �
00000000 0d 00 0a 1d f4 20 3e 24 2e 21 50 6c 61 79 54 72 |..... >$.!PlayTr| 00000010 61 63 6b 2e 21 52 75 6e 49 6d 61 67 65 0d 00 14 |ack.!RunImage...| 00000020 08 f4 20 50 44 0d 00 1e 0a f4 20 31 39 39 32 0d |.. PD..... 1992.| 00000030 00 28 04 0d 00 32 61 ee 20 85 20 f2 74 65 6c 6c |.(...2a. . .tell| 00000040 65 6d 6f 66 66 28 22 46 61 74 61 6c 20 65 72 72 |emoff("Fatal err| 00000050 6f 72 3a 20 28 74 79 70 65 3d 22 2b c3 9e 2b 22 |or: (type="+..+"| 00000060 29 20 22 2b f6 24 2b 22 20 52 65 2d 72 75 6e 20 |) "+.$+" Re-run | 00000070 26 20 74 72 79 20 61 67 61 69 6e 2e 22 29 3a c8 |& try again."):.| 00000080 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 |. "Wimp_CloseDow| 00000090 6e 22 3a e0 0d 00 3c 48 f4 20 65 72 72 6f 72 73 |n":...<H. errors| 000000a0 20 69 6e 20 74 68 69 73 20 62 69 74 20 6f 66 20 | in this bit of | 000000b0 63 6f 64 65 20 63 61 6e 6e 6f 74 20 62 65 20 64 |code cannot be d| 000000c0 65 61 6c 74 20 77 69 74 68 20 2d 20 71 75 69 74 |ealt with - quit| 000000d0 20 69 6d 6d 65 64 69 61 74 65 6c 79 0d 00 46 47 | immediately..FG| 000000e0 f4 20 49 66 20 79 6f 75 20 74 72 79 2c 20 74 65 |. If you try, te| 000000f0 6d 70 6c 61 74 65 73 20 6d 69 67 68 74 20 6e 6f |mplates might no| 00000100 74 20 62 65 20 6c 6f 61 64 65 64 2c 20 6d 65 6e |t be loaded, men| 00000110 75 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 65 |us not defined e| 00000120 74 63 2e 0d 00 50 44 de 20 71 25 20 38 30 30 2c |tc...PD. q% 800,| 00000130 75 73 65 66 75 6c 25 20 37 30 30 2c 69 6e 64 25 |useful% 700,ind%| 00000140 20 26 32 30 30 2c 69 6e 64 32 25 20 26 33 30 30 | &200,ind2% &300| 00000150 2c 6d 65 6e 75 25 20 33 30 30 2c 70 6f 69 6e 74 |,menu% 300,point| 00000160 65 72 25 20 34 30 30 0d 00 5a 40 de 20 69 63 6f |er% 400..Z@. ico| 00000170 6e 74 65 78 74 25 20 33 36 2c 69 63 6f 6e 76 61 |ntext% 36,iconva| 00000180 6c 69 64 25 20 33 36 2c 69 6e 64 33 25 20 26 32 |lid% 36,ind3% &2| 00000190 30 30 2c 69 6e 64 34 25 20 26 33 30 30 2c 6f 70 |00,ind4% &300,op| 000001a0 65 6e 25 20 36 35 30 0d 00 64 1c de 20 69 6e 64 |en% 650..d.. ind| 000001b0 74 65 78 74 25 20 32 35 36 3a 69 6e 64 70 74 72 |text% 256:indptr| 000001c0 25 3d 30 0d 00 6e 47 de 20 69 6e 64 35 25 20 26 |%=0..nG. ind5% &| 000001d0 32 30 30 2c 63 68 61 6e 6e 65 6c 28 38 29 2c 69 |200,channel(8),i| 000001e0 6e 64 36 25 20 26 31 35 30 2c 69 6e 64 37 25 20 |nd6% &150,ind7% | 000001f0 26 31 30 30 2c 69 6e 64 38 25 20 26 32 30 30 2c |&100,ind8% &200,| 00000200 69 6e 64 39 25 20 26 32 30 30 0d 00 78 48 de 20 |ind9% &200..xH. | 00000210 69 6e 64 31 30 25 20 26 31 30 30 2c 69 6e 64 31 |ind10% &100,ind1| 00000220 31 25 20 26 32 30 2c 63 6f 64 65 25 20 37 30 30 |1% &20,code% 700| 00000230 2c 69 6e 64 31 32 25 20 26 31 30 30 2c 69 6e 64 |,ind12% &100,ind| 00000240 31 33 25 20 26 32 30 2c 69 6e 64 31 34 25 20 26 |13% &20,ind14% &| 00000250 32 30 0d 00 82 4c de 20 73 61 6d 70 73 25 20 33 |20...L. samps% 3| 00000260 32 2a 33 31 2c 76 6f 6c 75 6d 65 25 20 34 2a 33 |2*31,volume% 4*3| 00000270 31 2c 73 61 6d 70 6c 65 6e 25 20 36 2a 33 31 2c |1,samplen% 6*31,| 00000280 76 61 6c 69 64 25 20 33 2c 74 65 78 74 25 20 33 |valid% 3,text% 3| 00000290 30 3a 24 76 61 6c 69 64 25 3d 22 7a 34 22 0d 00 |0:$valid%="z4"..| 000002a0 8c 49 24 74 65 78 74 25 3d 22 4e 6f 3a 22 3a 24 |.I$text%="No:":$| 000002b0 28 74 65 78 74 25 2b 38 29 3d 22 4e 61 6d 65 3a |(text%+8)="Name:| 000002c0 22 3a 24 28 74 65 78 74 25 2b 31 36 29 3d 22 56 |":$(text%+16)="V| 000002d0 6f 6c 3a 22 3a 24 28 74 65 78 74 25 2b 32 34 29 |ol:":$(text%+24)| 000002e0 3d 22 4c 65 6e 3a 22 0d 00 96 3c 65 64 69 74 65 |="Len:"...<edite| 000002f0 64 25 3d a3 3a 70 6c 61 79 69 6e 67 25 3d a3 3a |d%=.:playing%=.:| 00000300 73 70 65 61 6b 65 72 3d a3 3a 62 75 66 66 65 72 |speaker=.:buffer| 00000310 73 69 7a 65 25 3d 30 3a 6c 65 6e 62 79 74 65 73 |size%=0:lenbytes| 00000320 25 3d 30 0d 00 a0 38 63 6f 70 65 6e 25 3d a3 3a |%=0...8copen%=.:| 00000330 74 6f 70 65 6e 25 3d a3 3a 73 6f 70 65 6e 25 3d |topen%=.:sopen%=| 00000340 a3 3a 76 6f 70 65 6e 25 3d a3 3a 74 79 70 65 3d |.:vopen%=.:type=| 00000350 30 3a 6e 65 77 69 63 6e 25 3d a3 0d 00 aa 3d 73 |0:newicn%=....=s| 00000360 69 63 6e 25 3d 30 3a 6e 73 63 6e 25 3d a3 3a 63 |icn%=0:nscn%=.:c| 00000370 6d 6f 73 25 3d 34 32 3a 63 6d 6f 73 32 25 3d 34 |mos%=42:cmos2%=4| 00000380 33 3a 6f 6f 70 65 6e 25 3d a3 3a 6c 61 70 25 3d |3:oopen%=.:lap%=| 00000390 b9 3a 73 63 72 25 3d a3 0d 00 b4 33 64 6f 73 25 |.:scr%=....3dos%| 000003a0 3d b9 3a 61 66 73 25 3d a3 3a 76 75 6f 70 65 6e |=.:afs%=.:vuopen| 000003b0 25 3d a3 3a 6d 75 74 65 25 3d a3 3a 6d 61 6b 25 |%=.:mute%=.:mak%| 000003c0 3d a3 3a 77 6f 70 65 6e 25 3d a3 0d 00 be 3f 73 |=.:wopen%=....?s| 000003d0 68 6f 77 25 3d a3 3a 63 72 6f 70 65 6e 25 3d a3 |how%=.:cropen%=.| 000003e0 3a 74 72 61 63 6b 25 3d 31 3a 63 6f 6d 25 3d b9 |:track%=1:com%=.| 000003f0 3a 61 70 25 3d b9 3a 63 6c 6f 63 6b 24 3d 22 34 |:ap%=.:clock$="4| 00000400 38 22 3a 62 75 66 66 25 3d 30 0d 00 c8 0e 77 6f |8":buff%=0....wo| 00000410 72 6b 73 70 63 25 3d 30 0d 00 d2 0e 24 71 25 3d |rkspc%=0....$q%=| 00000420 22 54 41 53 4b 22 0d 00 dc 36 c8 99 20 22 57 69 |"TASK"...6.. "Wi| 00000430 6d 70 5f 49 6e 69 74 69 61 6c 69 73 65 22 2c 32 |mp_Initialise",2| 00000440 30 30 2c 21 71 25 2c 22 50 6c 61 79 54 72 61 63 |00,!q%,"PlayTrac| 00000450 6b 22 20 b8 20 2c 74 61 73 6b 68 25 0d 00 e6 40 |k" . ,taskh%...@| 00000460 c8 99 20 22 49 6e 74 65 72 66 61 63 65 5f 49 6e |.. "Interface_In| 00000470 69 74 69 61 6c 69 73 65 22 2c 2c 74 61 73 6b 68 |itialise",,taskh| 00000480 25 3a f4 20 63 6c 61 69 6d 20 49 6e 74 65 72 66 |%:. claim Interf| 00000490 61 63 65 20 70 6f 69 6e 74 65 72 73 0d 00 f0 29 |ace pointers...)| 000004a0 6c 6f 63 6b 25 3d b3 28 32 30 30 30 29 3a c8 99 |lock%=.(2000):..| 000004b0 20 22 54 72 61 63 6b 65 72 5f 4c 6f 63 6b 22 2c | "Tracker_Lock",| 000004c0 6c 6f 63 6b 25 0d 00 fa 37 c8 99 20 22 57 69 6d |lock%...7.. "Wim| 000004d0 70 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 65 22 2c |p_OpenTemplate",| 000004e0 2c 22 3c 50 6c 61 79 54 72 61 63 6b 24 44 69 72 |,"<PlayTrack$Dir| 000004f0 3e 2e 54 65 6d 70 6c 61 74 65 73 22 0d 01 04 39 |>.Templates"...9| 00000500 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d |.. "Wimp_LoadTem| 00000510 70 6c 61 74 65 22 2c 2c 71 25 2c 69 6e 64 25 2c |plate",,q%,ind%,| 00000520 69 6e 64 25 2b 26 32 30 30 2c 2d 31 2c 22 69 6e |ind%+&200,-1,"in| 00000530 66 6f 22 2c 30 0d 01 0e 2a c8 99 20 22 57 69 6d |fo",0...*.. "Wim| 00000540 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c |p_CreateWindow",| 00000550 2c 71 25 20 b8 20 69 6e 66 6f 77 69 6e 64 25 0d |,q% . infowind%.| 00000560 01 18 3d c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 |..=.. "Wimp_Load| 00000570 54 65 6d 70 6c 61 74 65 22 2c 2c 71 25 2c 69 6e |Template",,q%,in| 00000580 64 32 25 2c 69 6e 64 32 25 2b 26 33 30 30 2c 2d |d2%,ind2%+&300,-| 00000590 31 2c 22 73 61 76 65 61 73 22 2c 30 0d 01 22 28 |1,"saveas",0.."(| 000005a0 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 57 |.. "Wimp_CreateW| 000005b0 69 6e 64 6f 77 22 2c 2c 71 25 20 b8 20 73 61 76 |indow",,q% . sav| 000005c0 65 61 73 25 0d 01 2c 3e c8 99 20 22 57 69 6d 70 |eas%..,>.. "Wimp| 000005d0 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c |_LoadTemplate",,| 000005e0 71 25 2c 69 6e 64 33 25 2c 69 6e 64 33 25 2b 26 |q%,ind3%,ind3%+&| 000005f0 32 30 30 2c 2d 31 2c 22 63 6f 6e 74 72 6f 6c 22 |200,-1,"control"| 00000600 2c 30 0d 01 36 29 c8 99 20 22 57 69 6d 70 5f 43 |,0..6).. "Wimp_C| 00000610 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 71 25 |reateWindow",,q%| 00000620 20 b8 20 63 6f 6e 74 72 6f 6c 25 0d 01 40 3f c8 | . control%..@?.| 00000630 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 |. "Wimp_LoadTemp| 00000640 6c 61 74 65 22 2c 2c 71 25 2c 69 6e 64 34 25 2c |late",,q%,ind4%,| 00000650 69 6e 64 34 25 2b 26 33 30 30 2c 2d 31 2c 22 74 |ind4%+&300,-1,"t| 00000660 75 6e 65 69 6e 66 6f 22 2c 30 0d 01 4a 2a c8 99 |uneinfo",0..J*..| 00000670 20 22 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e | "Wimp_CreateWin| 00000680 64 6f 77 22 2c 2c 71 25 20 b8 20 74 75 6e 65 69 |dow",,q% . tunei| 00000690 6e 66 6f 25 0d 01 54 3d c8 99 20 22 57 69 6d 70 |nfo%..T=.. "Wimp| 000006a0 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c |_LoadTemplate",,| 000006b0 71 25 2c 69 6e 64 35 25 2c 69 6e 64 35 25 2b 26 |q%,ind5%,ind5%+&| 000006c0 32 30 30 2c 2d 31 2c 22 73 74 65 72 65 6f 22 2c |200,-1,"stereo",| 000006d0 30 0d 01 5e 28 c8 99 20 22 57 69 6d 70 5f 43 72 |0..^(.. "Wimp_Cr| 000006e0 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 71 25 20 |eateWindow",,q% | 000006f0 b8 20 73 74 65 72 65 6f 25 0d 01 68 3d c8 99 20 |. stereo%..h=.. | 00000700 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 |"Wimp_LoadTempla| 00000710 74 65 22 2c 2c 71 25 2c 69 6e 64 36 25 2c 69 6e |te",,q%,ind6%,in| 00000720 64 36 25 2b 26 31 35 30 2c 2d 31 2c 22 62 75 66 |d6%+&150,-1,"buf| 00000730 66 65 72 22 2c 30 0d 01 72 28 c8 99 20 22 57 69 |fer",0..r(.. "Wi| 00000740 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 |mp_CreateWindow"| 00000750 2c 2c 71 25 20 b8 20 62 75 66 66 65 72 25 0d 01 |,,q% . buffer%..| 00000760 7c 40 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 ||@.. "Wimp_LoadT| 00000770 65 6d 70 6c 61 74 65 22 2c 2c 71 25 2c 69 6e 64 |emplate",,q%,ind| 00000780 37 25 2c 69 6e 64 37 25 2b 26 31 30 30 2c 2d 31 |7%,ind7%+&100,-1| 00000790 2c 22 6f 64 64 66 6f 72 6d 61 74 22 2c 30 0d 01 |,"oddformat",0..| 000007a0 86 25 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 |.%.. "Wimp_Creat| 000007b0 65 57 69 6e 64 6f 77 22 2c 2c 71 25 20 b8 20 6f |eWindow",,q% . o| 000007c0 64 64 25 0d 01 90 3f c8 99 20 22 57 69 6d 70 5f |dd%...?.. "Wimp_| 000007d0 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 71 |LoadTemplate",,q| 000007e0 25 2c 69 6e 64 38 25 2c 69 6e 64 38 25 2b 26 32 |%,ind8%,ind8%+&2| 000007f0 30 30 2c 2d 31 2c 22 68 65 6c 70 74 65 78 74 22 |00,-1,"helptext"| 00000800 2c 30 0d 01 9a 26 c8 99 20 22 57 69 6d 70 5f 43 |,0...&.. "Wimp_C| 00000810 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 71 25 |reateWindow",,q%| 00000820 20 b8 20 68 65 6c 70 25 0d 01 a4 3f c8 99 20 22 | . help%...?.. "| 00000830 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 |Wimp_LoadTemplat| 00000840 65 22 2c 2c 71 25 2c 69 6e 64 39 25 2c 69 6e 64 |e",,q%,ind9%,ind| 00000850 39 25 2b 26 32 30 30 2c 2d 31 2c 22 72 65 67 69 |9%+&200,-1,"regi| 00000860 73 74 65 72 22 2c 30 0d 01 ae 2a c8 99 20 22 57 |ster",0...*.. "W| 00000870 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 00000880 22 2c 2c 71 25 20 b8 20 72 65 67 69 73 74 65 72 |",,q% . register| 00000890 25 0d 01 b8 40 c8 99 20 22 57 69 6d 70 5f 4c 6f |%...@.. "Wimp_Lo| 000008a0 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 71 25 2c |adTemplate",,q%,| 000008b0 69 6e 64 31 30 25 2c 69 6e 64 31 30 25 2b 26 31 |ind10%,ind10%+&1| 000008c0 30 30 2c 2d 31 2c 22 6f 70 74 69 6f 6e 73 22 2c |00,-1,"options",| 000008d0 30 0d 01 c2 29 c8 99 20 22 57 69 6d 70 5f 43 72 |0...).. "Wimp_Cr| 000008e0 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 71 25 20 |eateWindow",,q% | 000008f0 b8 20 6f 70 74 69 6f 6e 73 25 0d 01 cc 3f c8 99 |. options%...?..| 00000900 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c | "Wimp_LoadTempl| 00000910 61 74 65 22 2c 2c 71 25 2c 69 6e 64 31 31 25 2c |ate",,q%,ind11%,| 00000920 69 6e 64 31 31 25 2b 26 32 30 2c 2d 31 2c 22 76 |ind11%+&20,-1,"v| 00000930 75 6d 65 74 65 72 22 2c 30 0d 01 d6 29 c8 99 20 |umeter",0...).. | 00000940 22 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 |"Wimp_CreateWind| 00000950 6f 77 22 2c 2c 71 25 20 b8 20 76 75 6d 65 74 65 |ow",,q% . vumete| 00000960 72 25 0d 01 e0 41 c8 99 20 22 57 69 6d 70 5f 4c |r%...A.. "Wimp_L| 00000970 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 71 25 |oadTemplate",,q%| 00000980 2c 69 6e 64 31 32 25 2c 69 6e 64 31 32 25 2b 26 |,ind12%,ind12%+&| 00000990 31 30 30 2c 2d 31 2c 22 77 61 76 65 66 6f 72 6d |100,-1,"waveform| 000009a0 22 2c 30 0d 01 ea 2a c8 99 20 22 57 69 6d 70 5f |",0...*.. "Wimp_| 000009b0 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 71 |CreateWindow",,q| 000009c0 25 20 b8 20 77 61 76 65 66 6f 72 6d 25 0d 01 f4 |% . waveform%...| 000009d0 40 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 |@.. "Wimp_LoadTe| 000009e0 6d 70 6c 61 74 65 22 2c 2c 71 25 2c 69 6e 64 31 |mplate",,q%,ind1| 000009f0 33 25 2c 69 6e 64 31 33 25 2b 26 32 30 2c 2d 31 |3%,ind13%+&20,-1| 00000a00 2c 22 77 61 76 65 70 61 6e 65 22 2c 30 0d 01 fe |,"wavepane",0...| 00000a10 2a c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 |*.. "Wimp_Create| 00000a20 57 69 6e 64 6f 77 22 2c 2c 71 25 20 b8 20 77 61 |Window",,q% . wa| 00000a30 76 65 70 61 6e 65 25 0d 02 08 3b c8 99 20 22 57 |vepane%...;.. "W| 00000a40 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 |imp_LoadTemplate| 00000a50 22 2c 2c 71 25 2c 69 6e 64 31 34 25 2c 69 6e 64 |",,q%,ind14%,ind| 00000a60 31 34 25 2b 26 32 30 2c 2d 31 2c 22 63 72 6f 22 |14%+&20,-1,"cro"| 00000a70 2c 30 0d 02 12 25 c8 99 20 22 57 69 6d 70 5f 43 |,0...%.. "Wimp_C| 00000a80 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 71 25 |reateWindow",,q%| 00000a90 20 b8 20 63 72 6f 25 0d 02 1c 1b c8 99 20 22 57 | . cro%...... "W| 00000aa0 69 6d 70 5f 43 6c 6f 73 65 54 65 6d 70 6c 61 74 |imp_CloseTemplat| 00000ab0 65 22 0d 02 26 0f f2 73 61 6d 70 73 5f 77 69 6e |e"..&..samps_win| 00000ac0 64 0d 02 30 11 f2 67 65 74 5f 72 65 67 69 73 74 |d..0..get_regist| 00000ad0 65 72 0d 02 3a 0e f2 6c 6f 61 64 5f 6f 70 74 73 |er..:..load_opts| 00000ae0 0d 02 44 29 e7 20 73 63 72 25 20 c8 99 20 22 53 |..D). scr% .. "S| 00000af0 6f 75 6e 64 5f 43 6f 6e 66 69 67 75 72 65 22 2c |ound_Configure",| 00000b00 2c 2c bb 63 6c 6f 63 6b 24 0d 02 4e 15 f2 62 75 |,,.clock$..N..bu| 00000b10 66 66 65 72 28 bb 62 75 66 66 65 72 24 29 0d 02 |ffer(.buffer$)..| 00000b20 58 09 f2 6d 65 6e 75 0d 02 62 21 f2 61 73 73 65 |X..menu..b!.asse| 00000b30 6d 62 6c 65 3a 21 76 75 5f 62 6c 6f 63 6b 25 3d |mble:!vu_block%=| 00000b40 70 6f 69 6e 74 65 72 25 0d 02 6c 43 c8 99 20 22 |pointer%..lC.. "| 00000b50 53 6f 75 6e 64 5f 53 70 65 61 6b 65 72 22 2c 30 |Sound_Speaker",0| 00000b60 20 b8 20 6f 6c 64 73 70 65 61 6b 25 3a c8 99 20 | . oldspeak%:.. | 00000b70 22 53 6f 75 6e 64 5f 45 6e 61 62 6c 65 22 2c 30 |"Sound_Enable",0| 00000b80 20 b8 20 6f 6c 64 6d 75 74 65 25 0d 02 76 30 76 | . oldmute%..v0v| 00000b90 6f 6c 75 6e 69 74 3d 30 2e 34 34 32 37 30 38 33 |olunit=0.4427083| 00000ba0 33 33 3a f4 20 31 20 64 69 73 63 72 65 74 65 20 |33:. 1 discrete | 00000bb0 76 6f 6c 75 6d 65 20 75 6e 69 74 0d 02 80 1e 63 |volume unit....c| 00000bc0 76 6f 6c 25 3d 32 35 35 3a f4 20 56 6f 6c 75 6d |vol%=255:. Volum| 00000bd0 65 20 61 74 20 31 30 30 25 0d 02 8a 39 c8 99 20 |e at 100%...9.. | 00000be0 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 2c 31 38 2c |"XOS_Module",18,| 00000bf0 22 54 72 61 63 6b 65 72 4d 6f 64 75 6c 65 22 20 |"TrackerModule" | 00000c00 b8 20 2c 2c 2c 73 74 61 72 74 25 3b 66 6c 61 67 |. ,,,start%;flag| 00000c10 73 25 0d 02 94 16 e7 20 28 66 6c 61 67 73 25 20 |s%..... (flags% | 00000c20 80 20 31 29 3d 31 20 8c 0d 02 9e 82 20 20 f2 74 |. 1)=1 ..... .t| 00000c30 65 6c 6c 65 6d 6f 66 66 28 22 43 61 6e 6e 6f 74 |ellemoff("Cannot| 00000c40 20 69 6e 69 74 69 61 6c 69 73 65 20 54 72 61 63 | initialise Trac| 00000c50 6b 65 72 4d 6f 64 75 6c 65 20 61 64 64 72 65 73 |kerModule addres| 00000c60 73 20 6f 66 66 73 65 74 73 21 20 49 20 6d 75 73 |s offsets! I mus| 00000c70 74 20 65 78 69 74 20 69 6d 6d 65 64 69 61 74 65 |t exit immediate| 00000c80 6c 79 20 28 63 68 65 63 6b 20 74 68 61 74 20 54 |ly (check that T| 00000c90 72 61 63 6b 65 72 4d 6f 64 75 6c 65 20 69 73 20 |rackerModule is | 00000ca0 6c 6f 61 64 65 64 29 2e 22 29 0d 02 a8 0b 20 20 |loaded).").... | 00000cb0 f2 74 69 64 79 0d 02 b2 39 20 20 c8 99 20 22 57 |.tidy...9 .. "W| 00000cc0 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 3a c8 |imp_CloseDown":.| 00000cd0 99 20 22 49 6e 74 65 72 66 61 63 65 5f 43 6c 6f |. "Interface_Clo| 00000ce0 73 65 44 6f 77 6e 22 2c 74 61 73 6b 68 25 0d 02 |seDown",taskh%..| 00000cf0 bc 1f 20 20 c8 99 20 22 54 72 61 63 6b 65 72 5f |.. .. "Tracker_| 00000d00 55 6e 6c 6f 63 6b 22 2c 6c 6f 63 6b 25 0d 02 c6 |Unlock",lock%...| 00000d10 07 20 20 e0 0d 02 d0 05 cd 0d 02 da 37 73 63 63 |. .........7scc| 00000d20 62 25 3d 73 74 61 72 74 25 2b 26 31 38 35 30 3a |b%=start%+&1850:| 00000d30 f4 20 53 74 61 72 74 20 6f 66 20 53 43 43 42 20 |. Start of SCCB | 00000d40 69 6e 20 54 72 61 63 6b 65 72 4d 6f 64 75 6c 65 |in TrackerModule| 00000d50 0d 02 e4 3f 68 25 3d ad 28 22 3c 50 6c 61 79 54 |...?h%=.("<PlayT| 00000d60 72 61 63 6b 24 44 69 72 3e 2e 46 6f 6e 74 22 29 |rack$Dir>.Font")| 00000d70 3a 6c 65 6e 25 3d a2 23 68 25 3a d9 23 68 25 3a |:len%=.#h%:.#h%:| 00000d80 66 6f 6e 74 6c 65 6e 25 3d 6c 65 6e 25 2d 31 0d |fontlen%=len%-1.| 00000d90 02 ee 3e de 20 66 6f 6e 74 25 20 6c 65 6e 25 3a |..>. font% len%:| 00000da0 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 26 46 46 |.. "OS_File",&FF| 00000db0 2c 22 3c 50 6c 61 79 54 72 61 63 6b 24 44 69 72 |,"<PlayTrack$Dir| 00000dc0 3e 2e 46 6f 6e 74 22 2c 66 6f 6e 74 25 0d 02 f8 |>.Font",font%...| 00000dd0 38 69 63 6f 6e 25 3d a4 69 63 6f 6e 62 61 72 28 |8icon%=.iconbar(| 00000de0 22 21 50 6c 61 79 54 72 61 63 6b 22 2c 22 22 2c |"!PlayTrack","",| 00000df0 2d 31 29 3a f4 20 69 63 6f 6e 20 6f 6e 20 69 63 |-1):. icon on ic| 00000e00 6f 6e 62 61 72 0d 03 02 3c 20 20 20 20 20 20 20 |onbar...< | 00000e10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000e20 20 20 20 20 20 20 20 20 20 20 20 20 20 f4 20 2d | . -| 00000e30 31 20 3d 20 55 74 69 6c 69 74 79 20 28 52 48 53 |1 = Utility (RHS| 00000e40 29 0d 03 0c 3c 20 20 20 20 20 20 20 20 20 20 20 |)...< | 00000e50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000e60 20 20 20 20 20 20 20 20 20 f4 20 2d 32 20 3d 20 | . -2 = | 00000e70 53 65 72 76 69 63 65 20 28 4c 48 53 29 0d 03 16 |Service (LHS)...| 00000e80 04 0d 03 20 23 71 75 69 74 25 3d a3 3a f4 20 4e |... #quit%=.:. N| 00000e90 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 65 64 20 |othing happened | 00000ea0 79 65 74 21 0d 03 2a 48 c8 99 20 22 54 72 61 63 |yet!..*H.. "Trac| 00000eb0 6b 65 72 5f 53 74 65 72 65 6f 22 2c 34 2c 2c 2c |ker_Stereo",4,,,| 00000ec0 2c 6c 6f 63 6b 25 3a e3 20 49 3d 31 20 b8 20 38 |,lock%:. I=1 . 8| 00000ed0 3a f2 73 74 65 72 65 6f 28 49 2c 34 29 3a 63 68 |:.stereo(I,4):ch| 00000ee0 61 6e 6e 65 6c 28 49 29 3d 34 3a ed 0d 03 34 21 |annel(I)=4:...4!| 00000ef0 e7 20 72 65 67 69 73 74 65 72 65 64 25 3d a3 20 |. registered%=. | 00000f00 80 20 70 69 72 61 74 65 25 3d a3 20 8c 0d 03 3e |. pirate%=. ...>| 00000f10 22 20 20 f2 73 65 74 75 70 5f 6d 65 73 73 31 3a |" .setup_mess1:| 00000f20 f2 68 6f 6c 64 5f 69 74 28 68 65 6c 70 25 29 0d |.hold_it(help%).| 00000f30 03 48 2d 20 20 c8 99 20 22 57 69 6d 70 5f 43 72 |.H- .. "Wimp_Cr| 00000f40 65 61 74 65 4d 65 6e 75 22 2c 2c 72 65 67 69 73 |eateMenu",,regis| 00000f50 74 65 72 25 2c 36 34 30 2c 39 30 30 0d 03 52 05 |ter%,640,900..R.| 00000f60 cd 0d 03 5c 04 0d 03 66 fb ee 85 20 e7 a4 65 72 |...\...f... ..er| 00000f70 72 6f 72 28 22 45 72 72 6f 72 3a 20 22 2b f6 24 |ror("Error: "+.$| 00000f80 2b 22 20 28 63 6f 64 65 20 22 2b c3 9e 2b 22 29 |+" (code "+..+")| 00000f90 20 51 75 69 74 20 3f 20 28 42 75 66 66 65 72 3d | Quit ? (Buffer=| 00000fa0 22 2b c3 7e 77 6f 72 6b 73 70 63 25 2b 22 29 22 |"+.~workspc%+")"| 00000fb0 2c 33 29 3d 31 3a c8 99 20 22 49 6e 74 65 72 66 |,3)=1:.. "Interf| 00000fc0 61 63 65 5f 43 6c 6f 73 65 44 6f 77 6e 22 2c 2c |ace_CloseDown",,| 00000fd0 74 61 73 6b 68 25 3a c8 99 20 22 54 72 61 63 6b |taskh%:.. "Track| 00000fe0 65 72 5f 53 74 6f 70 22 2c 2c 2c 2c 2c 6c 6f 63 |er_Stop",,,,,loc| 00000ff0 6b 25 3a c8 99 20 22 53 6f 75 6e 64 5f 53 70 65 |k%:.. "Sound_Spe| 00001000 61 6b 65 72 22 2c 6f 6c 64 73 70 65 61 6b 25 3a |aker",oldspeak%:| 00001010 c8 99 20 22 53 6f 75 6e 64 5f 45 6e 61 62 6c 65 |.. "Sound_Enable| 00001020 22 2c 6f 6c 64 6d 75 74 65 25 3a c8 99 20 22 54 |",oldmute%:.. "T| 00001030 72 61 63 6b 65 72 5f 55 6e 6c 6f 63 6b 22 2c 6c |racker_Unlock",l| 00001040 6f 63 6b 25 3a f2 74 69 64 79 3a c8 99 20 22 57 |ock%:.tidy:.. "W| 00001050 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 3a e0 |imp_CloseDown":.| 00001060 0d 03 70 4a f4 20 45 72 72 6f 72 20 68 61 6e 64 |..pJ. Error hand| 00001070 6c 65 72 20 64 72 6f 70 73 20 74 68 72 6f 75 67 |ler drops throug| 00001080 68 20 74 6f 20 77 69 6d 70 5f 70 6f 6c 6c 20 6c |h to wimp_poll l| 00001090 6f 6f 70 2c 20 41 46 54 45 52 20 77 69 6d 70 5f |oop, AFTER wimp_| 000010a0 69 6e 69 74 69 61 6c 69 73 65 0d 03 7a 05 f5 0d |initialise..z...| 000010b0 03 84 0c f2 76 6f 6c 66 69 6c 6c 0d 03 8e 35 c8 |....volfill...5.| 000010c0 99 20 22 57 69 6d 70 5f 50 6f 6c 6c 22 2c 2c 71 |. "Wimp_Poll",,q| 000010d0 25 20 b8 20 72 65 61 73 6f 6e 25 3a f4 20 61 6e |% . reason%:. an| 000010e0 64 20 70 6f 6c 6c 20 74 68 65 20 77 69 6d 70 2e |d poll the wimp.| 000010f0 0d 03 98 32 c8 99 20 22 49 6e 74 65 72 66 61 63 |...2.. "Interfac| 00001100 65 5f 50 72 65 50 72 6f 63 65 73 73 4b 65 79 22 |e_PreProcessKey"| 00001110 2c 72 65 61 73 6f 6e 25 2c 71 25 2c 74 61 73 6b |,reason%,q%,task| 00001120 68 25 0d 03 a2 43 c8 99 20 22 49 6e 74 65 72 66 |h%...C.. "Interf| 00001130 61 63 65 5f 50 6f 6c 6c 22 2c 72 65 61 73 6f 6e |ace_Poll",reason| 00001140 25 2c 2c 74 61 73 6b 68 25 3a f4 20 45 6e 73 75 |%,,taskh%:. Ensu| 00001150 72 65 20 70 6f 69 6e 74 65 72 20 75 70 20 74 6f |re pointer up to| 00001160 20 64 61 74 65 0d 03 ac 10 c8 8e 20 72 65 61 73 | date...... reas| 00001170 6f 6e 25 20 ca 0d 03 b6 19 c9 20 30 20 20 20 20 |on% ...... 0 | 00001180 20 3a 20 e7 20 6e 65 77 69 63 6e 25 20 8c 0d 03 | : . newicn% ...| 00001190 c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 000011a0 20 d1 3d 30 3a f5 20 fd 20 91 3e 3d 32 30 0d 03 | .=0:. . .>=20..| 000011b0 ca 1c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 000011c0 20 c8 8e 20 74 79 70 65 20 ca 0d 03 d4 3c 20 20 | .. type ....< | 000011d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 | .| 000011e0 20 b9 20 3a 20 f2 70 75 74 69 63 6f 6e 73 70 72 | . : .puticonspr| 000011f0 69 74 65 28 77 69 6e 25 2c 69 63 6e 25 2c 22 73 |ite(win%,icn%,"s| 00001200 65 6c 6f 6e 22 29 0d 03 de 3c 20 20 20 20 20 20 |elon")...< | 00001210 20 20 20 20 20 20 20 20 20 20 20 c9 20 a3 3a 20 | . .: | 00001220 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 77 |.puticonsprite(w| 00001230 69 6e 25 2c 69 63 6e 25 2c 22 73 65 6c 6f 66 66 |in%,icn%,"seloff| 00001240 22 29 0d 03 e8 14 20 20 20 20 20 20 20 20 20 20 |").... | 00001250 20 20 20 20 20 cb 0d 03 f2 1a 20 20 20 20 20 20 | ..... | 00001260 20 20 20 20 20 20 20 6e 65 77 69 63 6e 25 3d a3 | newicn%=.| 00001270 0d 03 fc 12 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00001280 20 cd 0d 04 06 2d 20 20 20 20 20 20 20 20 20 20 | ....- | 00001290 20 20 20 c8 97 20 78 25 2c 79 25 2c 62 25 3a e7 | .. x%,y%,b%:.| 000012a0 20 6e 73 63 6e 25 20 80 20 62 25 3d 30 20 8c 0d | nscn% . b%=0 ..| 000012b0 04 10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 000012c0 20 20 d1 3d 30 3a f5 20 fd 20 91 3e 3d 31 35 0d | .=0:. . .>=15.| 000012d0 04 1a 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 000012e0 20 20 c8 8e 20 73 69 63 6e 25 20 ca 0d 04 24 3b | .. sicn% ...$;| 000012f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001300 20 c9 20 30 20 3a 20 f2 70 75 74 69 63 6f 6e 73 | . 0 : .puticons| 00001310 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 30 |prite(control%,0| 00001320 2c 22 72 65 76 22 29 0d 04 2e 3b 20 20 20 20 20 |,"rev")...; | 00001330 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 34 20 | . 4 | 00001340 3a 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 |: .puticonsprite| 00001350 28 63 6f 6e 74 72 6f 6c 25 2c 34 2c 22 66 77 64 |(control%,4,"fwd| 00001360 22 29 0d 04 38 14 20 20 20 20 20 20 20 20 20 20 |")..8. | 00001370 20 20 20 20 20 cb 0d 04 42 1a 20 20 20 20 20 20 | ...B. | 00001380 20 20 20 20 20 20 20 20 20 6e 73 63 6e 25 3d a3 | nscn%=.| 00001390 0d 04 4c 12 20 20 20 20 20 20 20 20 20 20 20 20 |..L. | 000013a0 20 cd 0d 04 56 47 20 20 20 20 20 20 20 20 20 20 | ...VG | 000013b0 20 20 20 70 6f 69 6e 74 65 72 25 21 30 3d 76 75 | pointer%!0=vu| 000013c0 6d 65 74 65 72 25 3a c8 99 20 22 57 69 6d 70 5f |meter%:.. "Wimp_| 000013d0 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c |GetWindowState",| 000013e0 2c 70 6f 69 6e 74 65 72 25 0d 04 60 2d 20 20 20 |,pointer%..`- | 000013f0 20 20 20 20 20 20 20 20 20 20 e7 20 28 70 6f 69 | . (poi| 00001400 6e 74 65 72 25 21 33 32 20 80 20 31 3c 3c 31 36 |nter%!32 . 1<<16| 00001410 29 3c 3e 30 20 8c 0d 04 6a 3e 20 20 20 20 20 20 |)<>0 ...j> | 00001420 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d | .. "Wim| 00001430 70 5f 46 6f 72 63 65 52 65 64 72 61 77 22 2c 76 |p_ForceRedraw",v| 00001440 75 6d 65 74 65 72 25 2c 30 2c 2d 32 38 30 2c 33 |umeter%,0,-280,3| 00001450 31 30 2c 30 0d 04 74 12 20 20 20 20 20 20 20 20 |10,0..t. | 00001460 20 20 20 20 20 cd 0d 04 7e 1c 20 20 20 20 20 20 | ...~. | 00001470 20 20 20 20 20 20 20 e7 20 63 72 6f 70 65 6e 25 | . cropen%| 00001480 20 8c 0d 04 88 3a 20 20 20 20 20 20 20 20 20 20 | ....: | 00001490 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 46 6f | .. "Wimp_Fo| 000014a0 72 63 65 52 65 64 72 61 77 22 2c 63 72 6f 25 2c |rceRedraw",cro%,| 000014b0 30 2c 2d 32 30 30 2c 31 35 30 2c 30 0d 04 92 12 |0,-200,150,0....| 000014c0 20 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d 04 | ...| 000014d0 9c 15 c9 20 31 20 20 20 20 20 3a 20 f2 72 65 64 |... 1 : .red| 000014e0 72 61 77 0d 04 a6 26 c9 20 32 20 20 20 20 20 3a |raw...&. 2 :| 000014f0 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 | .. "Wimp_OpenWi| 00001500 6e 64 6f 77 22 2c 2c 71 25 0d 04 b0 22 20 20 20 |ndow",,q%..." | 00001510 20 20 20 20 20 20 20 20 20 20 e7 20 21 71 25 3d | . !q%=| 00001520 77 61 76 65 66 6f 72 6d 25 20 8c 0d 04 ba 46 20 |waveform% ....F | 00001530 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 71 | !q| 00001540 25 3d 77 61 76 65 70 61 6e 65 25 3a 71 25 21 34 |%=wavepane%:q%!4| 00001550 2b 3d 32 30 3a 71 25 21 38 2b 3d 32 30 3a 71 25 |+=20:q%!8+=20:q%| 00001560 21 31 32 2d 3d 32 30 3a 71 25 21 31 36 2d 3d 38 |!12-=20:q%!16-=8| 00001570 30 0d 04 c4 49 20 20 20 20 20 20 20 20 20 20 20 |0...I | 00001580 20 20 20 20 21 70 6f 69 6e 74 65 72 25 3d 77 61 | !pointer%=wa| 00001590 76 65 70 61 6e 65 25 3a c8 99 20 22 57 69 6d 70 |vepane%:.. "Wimp| 000015a0 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 |_GetWindowState"| 000015b0 2c 2c 70 6f 69 6e 74 65 72 25 0d 04 ce 36 20 20 |,,pointer%...6 | 000015c0 20 20 20 20 20 20 20 20 20 20 20 20 20 71 25 21 | q%!| 000015d0 32 30 3d 70 6f 69 6e 74 65 72 25 21 32 30 3a 71 |20=pointer%!20:q| 000015e0 25 21 32 34 3d 70 6f 69 6e 74 65 72 25 21 32 34 |%!24=pointer%!24| 000015f0 0d 04 d8 2b 20 20 20 20 20 20 20 20 20 20 20 20 |...+ | 00001600 20 20 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e | .. "Wimp_Open| 00001610 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 04 e2 12 20 |Window",,q%.... | 00001620 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d 04 ec | ....| 00001630 27 c9 20 33 20 20 20 20 20 3a 20 c8 99 20 22 57 |'. 3 : .. "W| 00001640 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 |imp_CloseWindow"| 00001650 2c 2c 71 25 0d 04 f6 21 20 20 20 20 20 20 20 20 |,,q%...! | 00001660 20 20 20 20 20 e7 20 21 71 25 3d 63 6f 6e 74 72 | . !q%=contr| 00001670 6f 6c 25 20 8c 0d 05 00 1a 20 20 20 20 20 20 20 |ol% ..... | 00001680 20 20 20 20 20 20 20 63 6f 70 65 6e 25 3d a3 0d | copen%=..| 00001690 05 0a 24 20 20 20 20 20 20 20 20 20 20 20 20 20 |..$ | 000016a0 20 f2 74 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 | .tickmenu(open%| 000016b0 2c 30 29 0d 05 14 21 20 20 20 20 20 20 20 20 20 |,0)...! | 000016c0 20 20 20 20 20 f2 73 68 75 74 28 63 6f 6e 74 72 | .shut(contr| 000016d0 6f 6c 25 29 0d 05 1e 12 20 20 20 20 20 20 20 20 |ol%).... | 000016e0 20 20 20 20 20 cd 0d 05 28 22 20 20 20 20 20 20 | ...(" | 000016f0 20 20 20 20 20 20 20 e7 20 21 71 25 3d 74 75 6e | . !q%=tun| 00001700 65 69 6e 66 6f 25 20 8c 0d 05 32 1a 20 20 20 20 |einfo% ...2. | 00001710 20 20 20 20 20 20 20 20 20 20 74 6f 70 65 6e 25 | topen%| 00001720 3d a3 0d 05 3c 24 20 20 20 20 20 20 20 20 20 20 |=...<$ | 00001730 20 20 20 20 f2 74 69 63 6b 6d 65 6e 75 28 6f 70 | .tickmenu(op| 00001740 65 6e 25 2c 31 29 0d 05 46 22 20 20 20 20 20 20 |en%,1)..F" | 00001750 20 20 20 20 20 20 20 20 f2 73 68 75 74 28 74 75 | .shut(tu| 00001760 6e 65 69 6e 66 6f 25 29 0d 05 50 12 20 20 20 20 |neinfo%)..P. | 00001770 20 20 20 20 20 20 20 20 20 cd 0d 05 5a 20 20 20 | ...Z | 00001780 20 20 20 20 20 20 20 20 20 20 20 e7 20 21 71 25 | . !q%| 00001790 3d 73 74 65 72 65 6f 25 20 8c 0d 05 64 1a 20 20 |=stereo% ...d. | 000017a0 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 70 65 | sope| 000017b0 6e 25 3d a3 0d 05 6e 24 20 20 20 20 20 20 20 20 |n%=...n$ | 000017c0 20 20 20 20 20 20 f2 74 69 63 6b 6d 65 6e 75 28 | .tickmenu(| 000017d0 6f 70 65 6e 25 2c 32 29 0d 05 78 20 20 20 20 20 |open%,2)..x | 000017e0 20 20 20 20 20 20 20 20 20 20 f2 73 68 75 74 28 | .shut(| 000017f0 73 74 65 72 65 6f 25 29 0d 05 82 12 20 20 20 20 |stereo%).... | 00001800 20 20 20 20 20 20 20 20 20 cd 0d 05 8c 21 20 20 | ....! | 00001810 20 20 20 20 20 20 20 20 20 20 20 e7 20 21 71 25 | . !q%| 00001820 3d 73 61 6d 70 6c 65 73 25 20 8c 0d 05 96 1a 20 |=samples% ..... | 00001830 20 20 20 20 20 20 20 20 20 20 20 20 20 76 6f 70 | vop| 00001840 65 6e 25 3d a3 0d 05 a0 24 20 20 20 20 20 20 20 |en%=....$ | 00001850 20 20 20 20 20 20 20 f2 74 69 63 6b 6d 65 6e 75 | .tickmenu| 00001860 28 6f 70 65 6e 25 2c 33 29 0d 05 aa 21 20 20 20 |(open%,3)...! | 00001870 20 20 20 20 20 20 20 20 20 20 20 f2 73 68 75 74 | .shut| 00001880 28 73 61 6d 70 6c 65 73 25 29 0d 05 b4 12 20 20 |(samples%).... | 00001890 20 20 20 20 20 20 20 20 20 20 20 cd 0d 05 be 20 | .... | 000018a0 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 21 | . !| 000018b0 71 25 3d 62 75 66 66 65 72 25 20 8c 0d 05 c8 1a |q%=buffer% .....| 000018c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f | bo| 000018d0 70 65 6e 25 3d a3 0d 05 d2 24 20 20 20 20 20 20 |pen%=....$ | 000018e0 20 20 20 20 20 20 20 20 f2 74 69 63 6b 6d 65 6e | .tickmen| 000018f0 75 28 6f 70 65 6e 25 2c 34 29 0d 05 dc 20 20 20 |u(open%,4)... | 00001900 20 20 20 20 20 20 20 20 20 20 20 20 f2 73 68 75 | .shu| 00001910 74 28 62 75 66 66 65 72 25 29 0d 05 e6 12 20 20 |t(buffer%).... | 00001920 20 20 20 20 20 20 20 20 20 20 20 cd 0d 05 f0 21 | ....!| 00001930 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 21 | . !| 00001940 71 25 3d 6f 70 74 69 6f 6e 73 25 20 8c 0d 05 fa |q%=options% ....| 00001950 1b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00001960 6f 6f 70 65 6e 25 3d a3 0d 06 04 25 20 20 20 20 |oopen%=....% | 00001970 20 20 20 20 20 20 20 20 20 20 20 f2 74 69 63 6b | .tick| 00001980 6d 65 6e 75 28 6f 70 65 6e 25 2c 35 29 0d 06 0e |menu(open%,5)...| 00001990 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |" | 000019a0 f2 73 68 75 74 28 6f 70 74 69 6f 6e 73 25 29 0d |.shut(options%).| 000019b0 06 18 12 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 000019c0 cd 0d 06 22 21 20 20 20 20 20 20 20 20 20 20 20 |..."! | 000019d0 20 20 e7 20 21 71 25 3d 76 75 6d 65 74 65 72 25 | . !q%=vumeter%| 000019e0 20 8c 0d 06 2c 1c 20 20 20 20 20 20 20 20 20 20 | ...,. | 000019f0 20 20 20 20 20 76 75 6f 70 65 6e 25 3d a3 0d 06 | vuopen%=...| 00001a00 36 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |6% | 00001a10 20 f2 74 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 | .tickmenu(open%| 00001a20 2c 36 29 0d 06 40 22 20 20 20 20 20 20 20 20 20 |,6)..@" | 00001a30 20 20 20 20 20 20 f2 73 68 75 74 28 76 75 6d 65 | .shut(vume| 00001a40 74 65 72 25 29 0d 06 4a 12 20 20 20 20 20 20 20 |ter%)..J. | 00001a50 20 20 20 20 20 20 cd 0d 06 54 22 20 20 20 20 20 | ...T" | 00001a60 20 20 20 20 20 20 20 20 e7 20 21 71 25 3d 77 61 | . !q%=wa| 00001a70 76 65 66 6f 72 6d 25 20 8c 0d 06 5e 1b 20 20 20 |veform% ...^. | 00001a80 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 70 65 | wope| 00001a90 6e 25 3d a3 0d 06 68 25 20 20 20 20 20 20 20 20 |n%=...h% | 00001aa0 20 20 20 20 20 20 20 f2 74 69 63 6b 6d 65 6e 75 | .tickmenu| 00001ab0 28 6f 70 65 6e 25 2c 37 29 0d 06 72 23 20 20 20 |(open%,7)..r# | 00001ac0 20 20 20 20 20 20 20 20 20 20 20 20 f2 73 68 75 | .shu| 00001ad0 74 28 77 61 76 65 66 6f 72 6d 25 29 0d 06 7c 23 |t(waveform%)..|#| 00001ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 | .| 00001af0 73 68 75 74 28 77 61 76 65 70 61 6e 65 25 29 0d |shut(wavepane%).| 00001b00 06 86 12 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00001b10 cd 0d 06 90 1d 20 20 20 20 20 20 20 20 20 20 20 |..... | 00001b20 20 20 e7 20 21 71 25 3d 63 72 6f 25 20 8c 0d 06 | . !q%=cro% ...| 00001b30 9a 1c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00001b40 20 63 72 6f 70 65 6e 25 3d a3 0d 06 a4 25 20 20 | cropen%=....% | 00001b50 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 74 69 | .ti| 00001b60 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 2c 38 29 0d |ckmenu(open%,8).| 00001b70 06 ae 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00001b80 20 20 f2 73 68 75 74 28 63 72 6f 25 29 0d 06 b8 | .shut(cro%)...| 00001b90 12 20 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d |. ..| 00001ba0 06 c2 2b c9 20 34 20 20 20 20 20 3a 20 c8 99 20 |..+. 4 : .. | 00001bb0 22 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f |"Wimp_SetCaretPo| 00001bc0 73 69 74 69 6f 6e 22 2c 2d 31 0d 06 cc 30 c9 20 |sition",-1...0. | 00001bd0 35 20 20 20 20 20 3a 20 c8 99 20 22 57 69 6d 70 |5 : .. "Wimp| 00001be0 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f |_SetCaretPositio| 00001bf0 6e 22 2c 71 25 21 30 2c 2d 31 0d 06 d6 19 c9 20 |n",q%!0,-1..... | 00001c00 36 20 20 20 20 20 3a 20 f2 63 68 65 63 6b 6d 6f |6 : .checkmo| 00001c10 75 73 65 0d 06 e0 26 c9 20 37 20 20 20 20 20 3a |use...&. 7 :| 00001c20 20 66 24 3d a4 6c 61 73 74 62 69 74 28 66 24 29 | f$=.lastbit(f$)| 00001c30 3a f2 64 72 61 67 65 6e 64 0d 06 ea 11 c9 20 38 |:.dragend..... 8| 00001c40 20 20 20 20 20 3a 20 f2 6b 70 0d 06 f4 1b c9 20 | : .kp..... | 00001c50 39 20 20 20 20 20 3a 20 f2 70 72 6f 63 65 73 73 |9 : .process| 00001c60 5f 6d 65 6e 75 0d 06 fe 16 c9 20 31 37 2c 31 38 |_menu..... 17,18| 00001c70 20 3a 20 f2 6d 65 73 73 61 67 65 0d 07 08 05 cb | : .message.....| 00001c80 0d 07 12 10 e7 20 70 6c 61 79 69 6e 67 25 20 8c |..... playing% .| 00001c90 0d 07 1c 27 20 c8 99 20 22 54 72 61 63 6b 65 72 |...' .. "Tracker| 00001ca0 5f 52 65 61 64 50 6f 73 22 2c 2c 2c 2c 2c 6c 6f |_ReadPos",,,,,lo| 00001cb0 63 6b 25 20 b8 20 63 0d 07 26 23 20 63 31 3d bb |ck% . c..&# c1=.| 00001cc0 28 a4 67 65 74 69 63 6f 6e 64 61 74 61 28 63 6f |(.geticondata(co| 00001cd0 6e 74 72 6f 6c 25 2c 39 29 29 0d 07 30 28 20 e7 |ntrol%,9))..0( .| 00001ce0 20 63 3c 3e 63 31 20 f2 70 75 74 69 63 6f 6e 64 | c<>c1 .puticond| 00001cf0 61 74 61 28 63 6f 6e 74 72 6f 6c 25 2c 39 2c c3 |ata(control%,9,.| 00001d00 63 29 0d 07 3a 2a 20 c8 99 20 22 54 72 61 63 6b |c)..:* .. "Track| 00001d10 65 72 5f 54 75 6e 65 49 6e 66 6f 22 2c 2c 2c 2c |er_TuneInfo",,,,| 00001d20 2c 6c 6f 63 6b 25 20 b8 20 2c 2c 73 0d 07 44 24 |,lock% . ,,s..D$| 00001d30 20 73 31 3d bb 28 a4 67 65 74 69 63 6f 6e 64 61 | s1=.(.geticonda| 00001d40 74 61 28 74 75 6e 65 69 6e 66 6f 25 2c 37 29 29 |ta(tuneinfo%,7))| 00001d50 0d 07 4e 29 20 e7 20 73 3c 3e 73 31 20 f2 70 75 |..N) . s<>s1 .pu| 00001d60 74 69 63 6f 6e 64 61 74 61 28 74 75 6e 65 69 6e |ticondata(tunein| 00001d70 66 6f 25 2c 37 2c c3 73 29 0d 07 58 0d 20 f2 76 |fo%,7,.s)..X. .v| 00001d80 6f 6c 66 69 6c 6c 0d 07 62 05 cd 0d 07 6c 0b fd |olfill..b....l..| 00001d90 20 71 75 69 74 25 0d 07 76 24 c8 99 20 22 49 6e | quit%..v$.. "In| 00001da0 74 65 72 66 61 63 65 5f 43 6c 6f 73 65 44 6f 77 |terface_CloseDow| 00001db0 6e 22 2c 2c 74 61 73 6b 68 25 0d 07 80 3b c8 99 |n",,taskh%...;..| 00001dc0 20 22 53 6f 75 6e 64 5f 53 70 65 61 6b 65 72 22 | "Sound_Speaker"| 00001dd0 2c 6f 6c 64 73 70 65 61 6b 25 3a c8 99 20 22 53 |,oldspeak%:.. "S| 00001de0 6f 75 6e 64 5f 45 6e 61 62 6c 65 22 2c 6f 6c 64 |ound_Enable",old| 00001df0 6d 75 74 65 25 0d 07 8a 22 c8 99 20 22 54 72 61 |mute%...".. "Tra| 00001e00 63 6b 65 72 5f 53 74 6f 70 22 2c 2c 2c 2c 2c 6c |cker_Stop",,,,,l| 00001e10 6f 63 6b 25 3a ef 37 0d 07 94 1d c8 99 20 22 54 |ock%:.7...... "T| 00001e20 72 61 63 6b 65 72 5f 55 6e 6c 6f 63 6b 22 2c 6c |racker_Unlock",l| 00001e30 6f 63 6b 25 0d 07 9e 09 f2 74 69 64 79 0d 07 a8 |ock%.....tidy...| 00001e40 2c c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 |,.. "Wimp_CloseD| 00001e50 6f 77 6e 22 3a e0 3a f4 20 6c 65 61 76 65 20 67 |own":.:. leave g| 00001e60 72 61 63 65 66 75 6c 6c 79 0d 07 b2 04 0d 07 bc |racefully.......| 00001e70 1d dd 20 a4 69 63 6f 6e 62 61 72 28 76 24 2c 74 |.. .iconbar(v$,t| 00001e80 24 2c 68 61 6e 64 6c 65 25 29 0d 07 c6 08 ea 20 |$,handle%)..... | 00001e90 69 25 0d 07 d0 3d e7 20 68 61 6e 64 6c 65 25 3d |i%...=. handle%=| 00001ea0 2d 32 20 8c 20 20 20 20 20 20 20 20 20 20 20 20 |-2 . | 00001eb0 20 20 20 20 20 20 20 20 20 3a f4 20 53 65 72 76 | :. Serv| 00001ec0 69 63 65 20 6f 72 20 55 74 69 6c 69 74 79 3f 0d |ice or Utility?.| 00001ed0 07 da 24 24 69 63 6f 6e 76 61 6c 69 64 25 3d 22 |..$$iconvalid%="| 00001ee0 53 22 2b 76 24 3a 24 69 63 6f 6e 74 65 78 74 25 |S"+v$:$icontext%| 00001ef0 3d 74 24 0d 07 e4 05 cd 0d 07 ee 10 71 25 21 30 |=t$.........q%!0| 00001f00 3d 68 61 6e 64 6c 65 25 0d 07 f8 0a 71 25 21 34 |=handle%....q%!4| 00001f10 3d 30 0d 08 02 3f e7 20 68 61 6e 64 6c 65 25 3d |=0...?. handle%=| 00001f20 2d 31 20 71 25 21 38 3d 30 20 8b 20 71 25 21 38 |-1 q%!8=0 . q%!8| 00001f30 3d 2d 31 36 20 20 20 20 20 3a f4 20 53 65 74 20 |=-16 :. Set | 00001f40 75 70 20 70 72 6f 70 65 72 20 63 6f 2d 6f 72 64 |up proper co-ord| 00001f50 73 0d 08 0c 24 e7 20 68 61 6e 64 6c 65 25 3d 2d |s...$. handle%=-| 00001f60 31 20 71 25 21 31 32 3d 36 38 20 8b 20 71 25 21 |1 q%!12=68 . q%!| 00001f70 31 32 3d 37 38 0d 08 16 24 e7 20 68 61 6e 64 6c |12=78...$. handl| 00001f80 65 25 3d 2d 31 20 71 25 21 31 36 3d 39 36 20 8b |e%=-1 q%!16=96 .| 00001f90 20 71 25 21 31 36 3d 39 30 0d 08 20 3f e7 20 68 | q%!16=90.. ?. h| 00001fa0 61 6e 64 6c 65 25 3d 2d 31 20 8c 20 20 20 20 20 |andle%=-1 . | 00001fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001fc0 3a f4 20 41 6e 64 20 70 72 6f 70 65 72 20 69 63 |:. And proper ic| 00001fd0 6f 6e 20 66 6c 61 67 73 0d 08 2a 0f 71 25 21 32 |on flags..*.q%!2| 00001fe0 30 3d 26 32 30 30 32 0d 08 34 05 cc 0d 08 3e 2b |0=&2002..4....>+| 00001ff0 71 25 21 32 30 3d 25 30 30 30 31 30 31 31 31 30 |q%!20=%000101110| 00002000 30 30 30 30 30 30 30 30 30 31 31 30 30 30 31 30 |0000000001100010| 00002010 30 31 30 31 30 31 31 0d 08 48 05 cd 0d 08 52 35 |0101011..H....R5| 00002020 e7 20 68 61 6e 64 6c 65 25 3d 2d 31 20 8c 20 20 |. handle%=-1 . | 00002030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002040 20 20 20 3a f4 20 49 6e 64 69 72 65 63 74 65 64 | :. Indirected| 00002050 3f 0d 08 5c 0f 24 28 71 25 2b 32 34 29 3d 76 24 |?..\.$(q%+24)=v$| 00002060 0d 08 66 05 cc 0d 08 70 13 71 25 21 32 34 3d 69 |..f....p.q%!24=i| 00002070 63 6f 6e 74 65 78 74 25 0d 08 7a 14 71 25 21 32 |context%..z.q%!2| 00002080 38 3d 69 63 6f 6e 76 61 6c 69 64 25 0d 08 84 19 |8=iconvalid%....| 00002090 71 25 21 33 32 3d a9 28 24 69 63 6f 6e 74 65 78 |q%!32=.($icontex| 000020a0 74 25 29 2b 31 0d 08 8e 05 cd 0d 08 98 3d c8 99 |t%)+1........=..| 000020b0 20 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f | "Wimp_CreateIco| 000020c0 6e 22 2c 2c 71 25 20 b8 20 69 25 20 20 20 20 20 |n",,q% . i% | 000020d0 20 20 20 3a f4 20 41 6e 64 20 64 72 61 77 20 74 | :. And draw t| 000020e0 68 65 20 69 63 6f 6e 0d 08 a2 07 3d 69 25 0d 08 |he icon....=i%..| 000020f0 ac 04 0d 08 b6 0e dd 20 f2 6d 65 73 73 61 67 65 |....... .message| 00002100 0d 08 c0 0c 79 72 25 3d 71 25 21 38 0d 08 ca 10 |....yr%=q%!8....| 00002110 c8 8e 20 28 71 25 21 31 36 29 20 ca 0d 08 d4 25 |.. (q%!16) ....%| 00002120 c9 20 30 20 20 20 20 3a 20 71 75 69 74 25 3d b9 |. 0 : quit%=.| 00002130 3a f4 20 4d 65 73 73 61 67 65 5f 51 75 69 74 20 |:. Message_Quit | 00002140 3f 0d 08 de 25 c9 20 32 20 20 20 20 3a 20 f2 64 |?...%. 2 : .d| 00002150 73 3a f4 20 4d 65 73 73 61 67 65 5f 44 61 74 61 |s:. Message_Data| 00002160 53 61 76 65 20 3f 0d 08 e8 25 c9 20 33 20 20 20 |Save ?...%. 3 | 00002170 20 3a 20 f2 64 6c 3a f4 20 4d 65 73 73 61 67 65 | : .dl:. Message| 00002180 5f 44 61 74 61 4c 6f 61 64 20 3f 0d 08 f2 25 c9 |_DataLoad ?...%.| 00002190 20 35 20 20 20 20 3a 20 f2 64 6f 3a f4 20 4d 65 | 5 : .do:. Me| 000021a0 73 73 61 67 65 5f 44 61 74 61 4f 70 65 6e 20 3f |ssage_DataOpen ?| 000021b0 0d 08 fc 24 c9 20 38 20 20 20 20 3a 20 f2 70 71 |...$. 8 : .pq| 000021c0 3a f4 20 4d 65 73 73 61 67 65 5f 50 72 65 51 75 |:. Message_PreQu| 000021d0 69 74 20 3f 0d 09 06 27 c9 20 26 35 30 32 20 3a |it ?...'. &502 :| 000021e0 20 f2 73 65 6e 64 68 65 6c 70 3a f4 20 4d 65 73 | .sendhelp:. Mes| 000021f0 73 61 67 65 5f 48 65 6c 70 20 3f 0d 09 10 05 cb |sage_Help ?.....| 00002200 0d 09 1a 05 e1 0d 09 24 04 0d 09 2e 11 dd 20 f2 |.......$...... .| 00002210 63 68 65 63 6b 6d 6f 75 73 65 0d 09 38 12 68 61 |checkmouse..8.ha| 00002220 6e 64 6c 65 3d 28 71 25 21 31 32 29 0d 09 42 10 |ndle=(q%!12)..B.| 00002230 69 63 6f 6e 3d 28 71 25 21 31 36 29 0d 09 4c 10 |icon=(q%!16)..L.| 00002240 c8 8e 20 28 71 25 21 31 32 29 20 ca 0d 09 56 14 |.. (q%!12) ...V.| 00002250 c9 20 2d 32 3a f4 20 69 63 6f 6e 62 61 72 20 3f |. -2:. iconbar ?| 00002260 0d 09 60 0f c8 8e 20 28 71 25 21 38 29 20 ca 0d |..`... (q%!8) ..| 00002270 09 6a 4d c9 20 34 20 3a 20 e7 20 72 65 67 69 73 |.jM. 4 : . regis| 00002280 74 65 72 65 64 25 3d a3 20 80 20 70 69 72 61 74 |tered%=. . pirat| 00002290 65 25 3d a3 20 c8 99 20 22 57 69 6d 70 5f 43 72 |e%=. .. "Wimp_Cr| 000022a0 65 61 74 65 4d 65 6e 75 22 2c 2c 72 65 67 69 73 |eateMenu",,regis| 000022b0 74 65 72 25 2c 36 34 30 2c 39 30 30 0d 09 74 30 |ter%,640,900..t0| 000022c0 c9 20 32 20 3a 20 c8 99 20 22 57 69 6d 70 5f 43 |. 2 : .. "Wimp_C| 000022d0 72 65 61 74 65 4d 65 6e 75 22 2c 2c 6d 65 6e 75 |reateMenu",,menu| 000022e0 25 2c 21 71 25 2d 36 34 2c 33 31 39 0d 09 7e 14 |%,!q%-64,319..~.| 000022f0 c9 20 31 20 3a 20 f4 20 41 64 6a 75 73 74 20 3f |. 1 : . Adjust ?| 00002300 0d 09 88 05 cb 0d 09 92 0d c9 20 73 61 76 65 61 |.......... savea| 00002310 73 25 0d 09 9c 0d c8 8e 20 71 25 21 38 20 ca 0d |s%...... q%!8 ..| 00002320 09 a6 14 c9 20 34 20 3a 20 c8 8e 20 71 25 21 31 |.... 4 : .. q%!1| 00002330 36 20 ca 0d 09 b0 39 c9 20 31 20 3a 20 f2 73 6c |6 ....9. 1 : .sl| 00002340 61 62 69 63 6f 6e 3a 66 24 3d a4 67 65 74 69 63 |abicon:f$=.getic| 00002350 6f 6e 64 61 74 61 28 73 61 76 65 61 73 25 2c 30 |ondata(saveas%,0| 00002360 29 3a f2 71 75 69 63 6b 73 61 76 65 0d 09 ba 38 |):.quicksave...8| 00002370 c9 20 33 20 3a 20 66 24 3d a4 67 65 74 69 63 6f |. 3 : f$=.getico| 00002380 6e 64 61 74 61 28 73 61 76 65 61 73 25 2c 30 29 |ndata(saveas%,0)| 00002390 3a f2 64 72 61 67 62 6f 78 28 73 61 76 65 61 73 |:.dragbox(saveas| 000023a0 25 2c 32 29 0d 09 c4 30 c9 20 34 20 3a 20 63 6f |%,2)...0. 4 : co| 000023b0 6d 25 3d ac 63 6f 6d 25 3a f2 74 6f 67 67 6c 65 |m%=.com%:.toggle| 000023c0 6f 70 74 73 28 63 6f 6d 25 2c 73 61 76 65 61 73 |opts(com%,saveas| 000023d0 25 2c 34 29 0d 09 ce 2d c9 20 36 20 3a 20 61 70 |%,4)...-. 6 : ap| 000023e0 25 3d ac 61 70 25 3a f2 74 6f 67 67 6c 65 6f 70 |%=.ap%:.toggleop| 000023f0 74 73 28 61 70 25 2c 73 61 76 65 61 73 25 2c 36 |ts(ap%,saveas%,6| 00002400 29 0d 09 d8 05 cb 0d 09 e2 05 cb 0d 09 ec 0e c9 |)...............| 00002410 20 63 6f 6e 74 72 6f 6c 25 0d 09 f6 0d c8 8e 20 | control%...... | 00002420 71 25 21 38 20 ca 0d 0a 00 14 c9 20 34 20 3a 20 |q%!8 ...... 4 : | 00002430 c8 8e 20 71 25 21 31 36 20 ca 0d 0a 0a 3b c9 20 |.. q%!16 ....;. | 00002440 30 20 3a 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 |0 : .puticonspri| 00002450 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 30 2c 22 72 |te(control%,0,"r| 00002460 65 76 31 22 29 3a 73 69 63 6e 25 3d 30 3a 6e 73 |ev1"):sicn%=0:ns| 00002470 63 6e 25 3d b9 0d 0a 14 4c 20 20 20 20 20 20 20 |cn%=....L | 00002480 20 20 e7 20 70 6c 61 79 69 6e 67 25 c8 99 20 22 | . playing%.. "| 00002490 54 72 61 63 6b 65 72 5f 52 65 61 64 50 6f 73 22 |Tracker_ReadPos"| 000024a0 2c 2c 2c 2c 2c 6c 6f 63 6b 25 20 b8 20 63 2c 2c |,,,,,lock% . c,,| 000024b0 6d 3a 63 2d 3d 31 3a e7 20 63 3d 2d 31 20 63 3d |m:c-=1:. c=-1 c=| 000024c0 6d 0d 0a 1e 36 20 20 20 20 20 20 20 20 20 e7 20 |m...6 . | 000024d0 70 6c 61 79 69 6e 67 25 20 c8 99 20 22 54 72 61 |playing% .. "Tra| 000024e0 63 6b 65 72 5f 53 65 74 50 6f 73 22 2c 63 2c 2c |cker_SetPos",c,,| 000024f0 2c 2c 6c 6f 63 6b 25 0d 0a 28 26 c9 20 31 20 3a |,,lock%..(&. 1 :| 00002500 20 c8 99 20 22 54 72 61 63 6b 65 72 5f 50 61 75 | .. "Tracker_Pau| 00002510 73 65 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 0d 0a 32 |se",,,,,lock%..2| 00002520 30 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 |0 .putic| 00002530 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c |onsprite(control| 00002540 25 2c 31 2c 22 70 61 75 73 65 31 22 29 0d 0a 3c |%,1,"pause1")..<| 00002550 2e 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 |. .putic| 00002560 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c |onsprite(control| 00002570 25 2c 32 2c 22 73 74 6f 70 22 29 0d 0a 46 2e 20 |%,2,"stop")..F. | 00002580 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e | .puticon| 00002590 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c |sprite(control%,| 000025a0 33 2c 22 70 6c 61 79 22 29 0d 0a 50 12 c9 20 32 |3,"play")..P.. 2| 000025b0 20 3a 20 e7 20 64 6f 73 25 20 8c 0d 0a 5a 2a 20 | : . dos% ...Z* | 000025c0 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 54 72 | .. "Tr| 000025d0 61 63 6b 65 72 5f 53 74 6f 70 22 2c 2c 2c 2c 2c |acker_Stop",,,,,| 000025e0 6c 6f 63 6b 25 0d 0a 64 31 20 20 20 20 20 20 20 |lock%..d1 | 000025f0 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 | .puticonspri| 00002600 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 31 2c 22 70 |te(control%,1,"p| 00002610 61 75 73 65 22 29 0d 0a 6e 31 20 20 20 20 20 20 |ause")..n1 | 00002620 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 | .puticonspr| 00002630 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 32 2c 22 |ite(control%,2,"| 00002640 73 74 6f 70 31 22 29 0d 0a 78 30 20 20 20 20 20 |stop1")..x0 | 00002650 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 | .puticonsp| 00002660 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 33 2c |rite(control%,3,| 00002670 22 70 6c 61 79 22 29 0d 0a 82 2b 20 20 20 20 20 |"play")...+ | 00002680 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 64 61 | .puticonda| 00002690 74 61 28 63 6f 6e 74 72 6f 6c 25 2c 39 2c 22 30 |ta(control%,9,"0| 000026a0 22 29 0d 0a 8c 2c 20 20 20 20 20 20 20 20 20 20 |")..., | 000026b0 20 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 63 6f | .puticondata(co| 000026c0 6e 74 72 6f 6c 25 2c 31 30 2c 22 30 22 29 0d 0a |ntrol%,10,"0")..| 000026d0 96 20 20 20 20 20 20 20 20 20 20 20 20 f2 63 6c |. .cl| 000026e0 65 61 72 3a 70 6c 61 79 69 6e 67 25 3d a3 0d 0a |ear:playing%=...| 000026f0 a0 0e 20 20 20 20 20 20 20 20 20 cc 0d 0a aa 2b |.. ....+| 00002700 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 54 | .. "T| 00002710 72 61 63 6b 65 72 5f 50 61 75 73 65 22 2c 2c 2c |racker_Pause",,,| 00002720 2c 2c 6c 6f 63 6b 25 0d 0a b4 2d 20 20 20 20 20 |,,lock%...- | 00002730 20 20 20 20 20 20 c8 99 20 22 54 72 61 63 6b 65 | .. "Tracke| 00002740 72 5f 53 65 74 50 6f 73 22 2c 30 2c 2c 2c 2c 6c |r_SetPos",0,,,,l| 00002750 6f 63 6b 25 0d 0a be 31 20 20 20 20 20 20 20 20 |ock%...1 | 00002760 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 | .puticonsprit| 00002770 65 28 63 6f 6e 74 72 6f 6c 25 2c 31 2c 22 70 61 |e(control%,1,"pa| 00002780 75 73 65 22 29 0d 0a c8 31 20 20 20 20 20 20 20 |use")...1 | 00002790 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 | .puticonspri| 000027a0 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 32 2c 22 73 |te(control%,2,"s| 000027b0 74 6f 70 31 22 29 0d 0a d2 30 20 20 20 20 20 20 |top1")...0 | 000027c0 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 | .puticonspr| 000027d0 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 33 2c 22 |ite(control%,3,"| 000027e0 70 6c 61 79 22 29 0d 0a dc 2b 20 20 20 20 20 20 |play")...+ | 000027f0 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 64 61 74 | .puticondat| 00002800 61 28 63 6f 6e 74 72 6f 6c 25 2c 39 2c 22 30 22 |a(control%,9,"0"| 00002810 29 0d 0a e6 0e 20 20 20 20 20 20 20 20 20 cd 0d |).... ..| 00002820 0a f0 25 c9 20 33 20 3a 20 c8 99 20 22 54 72 61 |..%. 3 : .. "Tra| 00002830 63 6b 65 72 5f 50 6c 61 79 22 2c 2c 2c 2c 2c 6c |cker_Play",,,,,l| 00002840 6f 63 6b 25 0d 0a fa 2f 20 20 20 20 20 20 20 20 |ock%.../ | 00002850 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 | .puticonsprite(| 00002860 63 6f 6e 74 72 6f 6c 25 2c 31 2c 22 70 61 75 73 |control%,1,"paus| 00002870 65 22 29 0d 0b 04 2e 20 20 20 20 20 20 20 20 20 |e").... | 00002880 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 |.puticonsprite(c| 00002890 6f 6e 74 72 6f 6c 25 2c 32 2c 22 73 74 6f 70 22 |ontrol%,2,"stop"| 000028a0 29 0d 0b 0e 2f 20 20 20 20 20 20 20 20 20 f2 70 |).../ .p| 000028b0 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e |uticonsprite(con| 000028c0 74 72 6f 6c 25 2c 33 2c 22 70 6c 61 79 31 22 29 |trol%,3,"play1")| 000028d0 0d 0b 18 3b c9 20 34 20 3a 20 f2 70 75 74 69 63 |...;. 4 : .putic| 000028e0 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c |onsprite(control| 000028f0 25 2c 34 2c 22 66 77 64 31 22 29 3a 73 69 63 6e |%,4,"fwd1"):sicn| 00002900 25 3d 34 3a 6e 73 63 6e 25 3d b9 0d 0b 22 4b 20 |%=4:nscn%=..."K | 00002910 20 20 20 20 20 20 20 20 e7 20 70 6c 61 79 69 6e | . playin| 00002920 67 25 c8 99 20 22 54 72 61 63 6b 65 72 5f 52 65 |g%.. "Tracker_Re| 00002930 61 64 50 6f 73 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 |adPos",,,,,lock%| 00002940 20 b8 20 63 2c 2c 6d 3a 63 2b 3d 31 3a e7 20 63 | . c,,m:c+=1:. c| 00002950 3e 6d 20 63 3d 30 0d 0b 2c 36 20 20 20 20 20 20 |>m c=0..,6 | 00002960 20 20 20 e7 20 70 6c 61 79 69 6e 67 25 20 c8 99 | . playing% ..| 00002970 20 22 54 72 61 63 6b 65 72 5f 53 65 74 50 6f 73 | "Tracker_SetPos| 00002980 22 2c 63 2c 2c 2c 2c 6c 6f 63 6b 25 0d 0b 36 1b |",c,,,,lock%..6.| 00002990 c9 20 31 32 3a 20 73 70 65 61 6b 65 72 3d ac 20 |. 12: speaker=. | 000029a0 73 70 65 61 6b 65 72 0d 0b 40 2d 20 20 20 20 20 |speaker..@- | 000029b0 20 20 20 20 f2 74 6f 67 67 6c 65 6f 70 74 73 28 | .toggleopts(| 000029c0 73 70 65 61 6b 65 72 2c 63 6f 6e 74 72 6f 6c 25 |speaker,control%| 000029d0 2c 31 32 29 0d 0b 4a 42 20 20 20 20 20 20 20 20 |,12)..JB | 000029e0 20 e7 20 73 70 65 61 6b 65 72 20 c8 99 20 22 53 | . speaker .. "S| 000029f0 6f 75 6e 64 5f 53 70 65 61 6b 65 72 22 2c 32 20 |ound_Speaker",2 | 00002a00 8b 20 c8 99 20 22 53 6f 75 6e 64 5f 53 70 65 61 |. .. "Sound_Spea| 00002a10 6b 65 72 22 2c 31 0d 0b 54 17 c9 20 31 35 3a 20 |ker",1..T.. 15: | 00002a20 6d 75 74 65 25 3d ac 20 6d 75 74 65 25 0d 0b 5e |mute%=. mute%..^| 00002a30 2b 20 20 20 20 20 20 20 20 20 f2 74 6f 67 67 6c |+ .toggl| 00002a40 65 6f 70 74 73 28 6d 75 74 65 25 2c 63 6f 6e 74 |eopts(mute%,cont| 00002a50 72 6f 6c 25 2c 31 35 29 0d 0b 68 3e 20 20 20 20 |rol%,15)..h> | 00002a60 20 20 20 20 20 e7 20 6d 75 74 65 25 20 c8 99 20 | . mute% .. | 00002a70 22 53 6f 75 6e 64 5f 45 6e 61 62 6c 65 22 2c 31 |"Sound_Enable",1| 00002a80 20 8b 20 c8 99 20 22 53 6f 75 6e 64 5f 45 6e 61 | . .. "Sound_Ena| 00002a90 62 6c 65 22 2c 32 0d 0b 72 11 c9 20 31 39 3a 20 |ble",2..r.. 19: | 00002aa0 f2 76 6f 6c 75 6d 65 0d 0b 7c 05 cb 0d 0b 86 14 |.volume..|......| 00002ab0 c9 20 31 20 3a 20 c8 8e 20 71 25 21 31 36 20 ca |. 1 : .. q%!16 .| 00002ac0 0d 0b 90 3b c9 20 30 20 3a 20 f2 70 75 74 69 63 |...;. 0 : .putic| 00002ad0 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c |onsprite(control| 00002ae0 25 2c 30 2c 22 66 77 64 31 22 29 3a 73 69 63 6e |%,0,"fwd1"):sicn| 00002af0 25 3d 30 3a 6e 73 63 6e 25 3d b9 0d 0b 9a 4c 20 |%=0:nscn%=....L | 00002b00 20 20 20 20 20 20 20 20 e7 20 70 6c 61 79 69 6e | . playin| 00002b10 67 25 20 c8 99 20 22 54 72 61 63 6b 65 72 5f 52 |g% .. "Tracker_R| 00002b20 65 61 64 50 6f 73 22 2c 2c 2c 2c 2c 6c 6f 63 6b |eadPos",,,,,lock| 00002b30 25 20 b8 20 63 2c 2c 6d 3a 63 2b 3d 31 3a e7 20 |% . c,,m:c+=1:. | 00002b40 63 3e 6d 20 63 3d 30 0d 0b a4 36 20 20 20 20 20 |c>m c=0...6 | 00002b50 20 20 20 20 e7 20 70 6c 61 79 69 6e 67 25 20 c8 | . playing% .| 00002b60 99 20 22 54 72 61 63 6b 65 72 5f 53 65 74 50 6f |. "Tracker_SetPo| 00002b70 73 22 2c 63 2c 2c 2c 2c 6c 6f 63 6b 25 0d 0b ae |s",c,,,,lock%...| 00002b80 3b c9 20 34 20 3a 20 f2 70 75 74 69 63 6f 6e 73 |;. 4 : .puticons| 00002b90 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 34 |prite(control%,4| 00002ba0 2c 22 72 65 76 31 22 29 3a 73 69 63 6e 25 3d 34 |,"rev1"):sicn%=4| 00002bb0 3a 6e 73 63 6e 25 3d b9 0d 0b b8 4d 20 20 20 20 |:nscn%=....M | 00002bc0 20 20 20 20 20 e7 20 70 6c 61 79 69 6e 67 25 20 | . playing% | 00002bd0 c8 99 20 22 54 72 61 63 6b 65 72 5f 52 65 61 64 |.. "Tracker_Read| 00002be0 50 6f 73 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 20 b8 |Pos",,,,,lock% .| 00002bf0 20 63 2c 2c 6d 3a 63 2d 3d 31 3a e7 20 63 3d 2d | c,,m:c-=1:. c=-| 00002c00 31 20 63 3d 6d 0d 0b c2 36 20 20 20 20 20 20 20 |1 c=m...6 | 00002c10 20 20 e7 20 70 6c 61 79 69 6e 67 25 20 c8 99 20 | . playing% .. | 00002c20 22 54 72 61 63 6b 65 72 5f 53 65 74 50 6f 73 22 |"Tracker_SetPos"| 00002c30 2c 63 2c 2c 2c 2c 6c 6f 63 6b 25 0d 0b cc 05 cb |,c,,,,lock%.....| 00002c40 0d 0b d6 05 cb 0d 0b e0 0d c9 20 73 74 65 72 65 |.......... stere| 00002c50 6f 25 0d 0b ea 0d c8 8e 20 71 25 21 38 20 ca 0d |o%...... q%!8 ..| 00002c60 0b f4 14 c9 20 34 20 3a 20 c8 8e 20 71 25 21 31 |.... 4 : .. q%!1| 00002c70 36 20 ca 0d 0b fe 33 c9 20 30 20 3a 20 63 68 61 |6 ....3. 0 : cha| 00002c80 6e 6e 65 6c 28 31 29 2d 3d 31 3a e7 20 63 68 61 |nnel(1)-=1:. cha| 00002c90 6e 6e 65 6c 28 31 29 3c 31 20 63 68 61 6e 6e 65 |nnel(1)<1 channe| 00002ca0 6c 28 31 29 3d 31 0d 0c 08 22 20 20 20 20 20 20 |l(1)=1..." | 00002cb0 20 20 20 f2 73 74 65 72 65 6f 28 31 2c 63 68 61 | .stereo(1,cha| 00002cc0 6e 6e 65 6c 28 31 29 29 0d 0c 12 45 20 20 20 20 |nnel(1))...E | 00002cd0 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 | .puticonspr| 00002ce0 69 74 65 28 73 74 65 72 65 6f 25 2c 31 2c 22 73 |ite(stereo%,1,"s| 00002cf0 74 65 72 65 6f 22 2b c3 63 68 61 6e 6e 65 6c 28 |tereo"+.channel(| 00002d00 31 29 29 3a f2 73 6c 61 62 69 63 6f 6e 0d 0c 1c |1)):.slabicon...| 00002d10 33 c9 20 32 20 3a 20 63 68 61 6e 6e 65 6c 28 31 |3. 2 : channel(1| 00002d20 29 2b 3d 31 3a e7 20 63 68 61 6e 6e 65 6c 28 31 |)+=1:. channel(1| 00002d30 29 3e 37 20 63 68 61 6e 6e 65 6c 28 31 29 3d 37 |)>7 channel(1)=7| 00002d40 0d 0c 26 22 20 20 20 20 20 20 20 20 20 f2 73 74 |..&" .st| 00002d50 65 72 65 6f 28 31 2c 63 68 61 6e 6e 65 6c 28 31 |ereo(1,channel(1| 00002d60 29 29 0d 0c 30 45 20 20 20 20 20 20 20 20 20 f2 |))..0E .| 00002d70 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 73 74 |puticonsprite(st| 00002d80 65 72 65 6f 25 2c 31 2c 22 73 74 65 72 65 6f 22 |ereo%,1,"stereo"| 00002d90 2b c3 63 68 61 6e 6e 65 6c 28 31 29 29 3a f2 73 |+.channel(1)):.s| 00002da0 6c 61 62 69 63 6f 6e 0d 0c 3a 33 c9 20 33 20 3a |labicon..:3. 3 :| 00002db0 20 63 68 61 6e 6e 65 6c 28 32 29 2d 3d 31 3a e7 | channel(2)-=1:.| 00002dc0 20 63 68 61 6e 6e 65 6c 28 32 29 3c 31 20 63 68 | channel(2)<1 ch| 00002dd0 61 6e 6e 65 6c 28 32 29 3d 31 0d 0c 44 22 20 20 |annel(2)=1..D" | 00002de0 20 20 20 20 20 20 20 f2 73 74 65 72 65 6f 28 32 | .stereo(2| 00002df0 2c 63 68 61 6e 6e 65 6c 28 32 29 29 0d 0c 4e 45 |,channel(2))..NE| 00002e00 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f | .putico| 00002e10 6e 73 70 72 69 74 65 28 73 74 65 72 65 6f 25 2c |nsprite(stereo%,| 00002e20 34 2c 22 73 74 65 72 65 6f 22 2b c3 63 68 61 6e |4,"stereo"+.chan| 00002e30 6e 65 6c 28 32 29 29 3a f2 73 6c 61 62 69 63 6f |nel(2)):.slabico| 00002e40 6e 0d 0c 58 33 c9 20 35 20 3a 20 63 68 61 6e 6e |n..X3. 5 : chann| 00002e50 65 6c 28 32 29 2b 3d 31 3a e7 20 63 68 61 6e 6e |el(2)+=1:. chann| 00002e60 65 6c 28 32 29 3e 37 20 63 68 61 6e 6e 65 6c 28 |el(2)>7 channel(| 00002e70 32 29 3d 37 0d 0c 62 22 20 20 20 20 20 20 20 20 |2)=7..b" | 00002e80 20 f2 73 74 65 72 65 6f 28 32 2c 63 68 61 6e 6e | .stereo(2,chann| 00002e90 65 6c 28 32 29 29 0d 0c 6c 45 20 20 20 20 20 20 |el(2))..lE | 00002ea0 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 | .puticonsprit| 00002eb0 65 28 73 74 65 72 65 6f 25 2c 34 2c 22 73 74 65 |e(stereo%,4,"ste| 00002ec0 72 65 6f 22 2b c3 63 68 61 6e 6e 65 6c 28 32 29 |reo"+.channel(2)| 00002ed0 29 3a f2 73 6c 61 62 69 63 6f 6e 0d 0c 76 33 c9 |):.slabicon..v3.| 00002ee0 20 36 20 3a 20 63 68 61 6e 6e 65 6c 28 33 29 2d | 6 : channel(3)-| 00002ef0 3d 31 3a e7 20 63 68 61 6e 6e 65 6c 28 33 29 3c |=1:. channel(3)<| 00002f00 31 20 63 68 61 6e 6e 65 6c 28 33 29 3d 31 0d 0c |1 channel(3)=1..| 00002f10 80 22 20 20 20 20 20 20 20 20 20 f2 73 74 65 72 |." .ster| 00002f20 65 6f 28 33 2c 63 68 61 6e 6e 65 6c 28 33 29 29 |eo(3,channel(3))| 00002f30 0d 0c 8a 45 20 20 20 20 20 20 20 20 20 f2 70 75 |...E .pu| 00002f40 74 69 63 6f 6e 73 70 72 69 74 65 28 73 74 65 72 |ticonsprite(ster| 00002f50 65 6f 25 2c 37 2c 22 73 74 65 72 65 6f 22 2b c3 |eo%,7,"stereo"+.| 00002f60 63 68 61 6e 6e 65 6c 28 33 29 29 3a f2 73 6c 61 |channel(3)):.sla| 00002f70 62 69 63 6f 6e 0d 0c 94 33 c9 20 38 20 3a 20 63 |bicon...3. 8 : c| 00002f80 68 61 6e 6e 65 6c 28 33 29 2b 3d 31 3a e7 20 63 |hannel(3)+=1:. c| 00002f90 68 61 6e 6e 65 6c 28 33 29 3e 37 20 63 68 61 6e |hannel(3)>7 chan| 00002fa0 6e 65 6c 28 33 29 3d 37 0d 0c 9e 22 20 20 20 20 |nel(3)=7..." | 00002fb0 20 20 20 20 20 f2 73 74 65 72 65 6f 28 33 2c 63 | .stereo(3,c| 00002fc0 68 61 6e 6e 65 6c 28 33 29 29 0d 0c a8 45 20 20 |hannel(3))...E | 00002fd0 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 | .puticons| 00002fe0 70 72 69 74 65 28 73 74 65 72 65 6f 25 2c 37 2c |prite(stereo%,7,| 00002ff0 22 73 74 65 72 65 6f 22 2b c3 63 68 61 6e 6e 65 |"stereo"+.channe| 00003000 6c 28 33 29 29 3a f2 73 6c 61 62 69 63 6f 6e 0d |l(3)):.slabicon.| 00003010 0c b2 33 c9 20 39 20 3a 20 63 68 61 6e 6e 65 6c |..3. 9 : channel| 00003020 28 34 29 2d 3d 31 3a e7 20 63 68 61 6e 6e 65 6c |(4)-=1:. channel| 00003030 28 34 29 3c 31 20 63 68 61 6e 6e 65 6c 28 34 29 |(4)<1 channel(4)| 00003040 3d 31 0d 0c bc 22 20 20 20 20 20 20 20 20 20 f2 |=1..." .| 00003050 73 74 65 72 65 6f 28 34 2c 63 68 61 6e 6e 65 6c |stereo(4,channel| 00003060 28 34 29 29 0d 0c c6 46 20 20 20 20 20 20 20 20 |(4))...F | 00003070 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 | .puticonsprite(| 00003080 73 74 65 72 65 6f 25 2c 31 30 2c 22 73 74 65 72 |stereo%,10,"ster| 00003090 65 6f 22 2b c3 63 68 61 6e 6e 65 6c 28 34 29 29 |eo"+.channel(4))| 000030a0 3a f2 73 6c 61 62 69 63 6f 6e 0d 0c d0 33 c9 20 |:.slabicon...3. | 000030b0 31 31 3a 20 63 68 61 6e 6e 65 6c 28 34 29 2b 3d |11: channel(4)+=| 000030c0 31 3a e7 20 63 68 61 6e 6e 65 6c 28 34 29 3e 37 |1:. channel(4)>7| 000030d0 20 63 68 61 6e 6e 65 6c 28 34 29 3d 37 0d 0c da | channel(4)=7...| 000030e0 22 20 20 20 20 20 20 20 20 20 f2 73 74 65 72 65 |" .stere| 000030f0 6f 28 34 2c 63 68 61 6e 6e 65 6c 28 34 29 29 0d |o(4,channel(4)).| 00003100 0c e4 46 20 20 20 20 20 20 20 20 20 f2 70 75 74 |..F .put| 00003110 69 63 6f 6e 73 70 72 69 74 65 28 73 74 65 72 65 |iconsprite(stere| 00003120 6f 25 2c 31 30 2c 22 73 74 65 72 65 6f 22 2b c3 |o%,10,"stereo"+.| 00003130 63 68 61 6e 6e 65 6c 28 34 29 29 3a f2 73 6c 61 |channel(4)):.sla| 00003140 62 69 63 6f 6e 0d 0c ee 33 c9 20 32 30 3a 20 63 |bicon...3. 20: c| 00003150 68 61 6e 6e 65 6c 28 35 29 2d 3d 31 3a e7 20 63 |hannel(5)-=1:. c| 00003160 68 61 6e 6e 65 6c 28 35 29 3c 31 20 63 68 61 6e |hannel(5)<1 chan| 00003170 6e 65 6c 28 35 29 3d 31 0d 0c f8 22 20 20 20 20 |nel(5)=1..." | 00003180 20 20 20 20 20 f2 73 74 65 72 65 6f 28 35 2c 63 | .stereo(5,c| 00003190 68 61 6e 6e 65 6c 28 35 29 29 0d 0d 02 46 20 20 |hannel(5))...F | 000031a0 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 | .puticons| 000031b0 70 72 69 74 65 28 73 74 65 72 65 6f 25 2c 32 31 |prite(stereo%,21| 000031c0 2c 22 73 74 65 72 65 6f 22 2b c3 63 68 61 6e 6e |,"stereo"+.chann| 000031d0 65 6c 28 35 29 29 3a f2 73 6c 61 62 69 63 6f 6e |el(5)):.slabicon| 000031e0 0d 0d 0c 33 c9 20 32 32 3a 20 63 68 61 6e 6e 65 |...3. 22: channe| 000031f0 6c 28 35 29 2b 3d 31 3a e7 20 63 68 61 6e 6e 65 |l(5)+=1:. channe| 00003200 6c 28 35 29 3e 37 20 63 68 61 6e 6e 65 6c 28 35 |l(5)>7 channel(5| 00003210 29 3d 37 0d 0d 16 22 20 20 20 20 20 20 20 20 20 |)=7..." | 00003220 f2 73 74 65 72 65 6f 28 35 2c 63 68 61 6e 6e 65 |.stereo(5,channe| 00003230 6c 28 35 29 29 0d 0d 20 46 20 20 20 20 20 20 20 |l(5)).. F | 00003240 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 | .puticonsprite| 00003250 28 73 74 65 72 65 6f 25 2c 32 31 2c 22 73 74 65 |(stereo%,21,"ste| 00003260 72 65 6f 22 2b c3 63 68 61 6e 6e 65 6c 28 35 29 |reo"+.channel(5)| 00003270 29 3a f2 73 6c 61 62 69 63 6f 6e 0d 0d 2a 33 c9 |):.slabicon..*3.| 00003280 20 32 33 3a 20 63 68 61 6e 6e 65 6c 28 36 29 2d | 23: channel(6)-| 00003290 3d 31 3a e7 20 63 68 61 6e 6e 65 6c 28 36 29 3c |=1:. channel(6)<| 000032a0 31 20 63 68 61 6e 6e 65 6c 28 36 29 3d 31 0d 0d |1 channel(6)=1..| 000032b0 34 22 20 20 20 20 20 20 20 20 20 f2 73 74 65 72 |4" .ster| 000032c0 65 6f 28 36 2c 63 68 61 6e 6e 65 6c 28 36 29 29 |eo(6,channel(6))| 000032d0 0d 0d 3e 46 20 20 20 20 20 20 20 20 20 f2 70 75 |..>F .pu| 000032e0 74 69 63 6f 6e 73 70 72 69 74 65 28 73 74 65 72 |ticonsprite(ster| 000032f0 65 6f 25 2c 32 34 2c 22 73 74 65 72 65 6f 22 2b |eo%,24,"stereo"+| 00003300 c3 63 68 61 6e 6e 65 6c 28 36 29 29 3a f2 73 6c |.channel(6)):.sl| 00003310 61 62 69 63 6f 6e 0d 0d 48 33 c9 20 32 35 3a 20 |abicon..H3. 25: | 00003320 63 68 61 6e 6e 65 6c 28 36 29 2b 3d 31 3a e7 20 |channel(6)+=1:. | 00003330 63 68 61 6e 6e 65 6c 28 36 29 3e 37 20 63 68 61 |channel(6)>7 cha| 00003340 6e 6e 65 6c 28 36 29 3d 37 0d 0d 52 22 20 20 20 |nnel(6)=7..R" | 00003350 20 20 20 20 20 20 f2 73 74 65 72 65 6f 28 36 2c | .stereo(6,| 00003360 63 68 61 6e 6e 65 6c 28 36 29 29 0d 0d 5c 46 20 |channel(6))..\F | 00003370 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e | .puticon| 00003380 73 70 72 69 74 65 28 73 74 65 72 65 6f 25 2c 32 |sprite(stereo%,2| 00003390 34 2c 22 73 74 65 72 65 6f 22 2b c3 63 68 61 6e |4,"stereo"+.chan| 000033a0 6e 65 6c 28 36 29 29 3a f2 73 6c 61 62 69 63 6f |nel(6)):.slabico| 000033b0 6e 0d 0d 66 33 c9 20 32 36 3a 20 63 68 61 6e 6e |n..f3. 26: chann| 000033c0 65 6c 28 37 29 2d 3d 31 3a e7 20 63 68 61 6e 6e |el(7)-=1:. chann| 000033d0 65 6c 28 37 29 3c 31 20 63 68 61 6e 6e 65 6c 28 |el(7)<1 channel(| 000033e0 37 29 3d 31 0d 0d 70 22 20 20 20 20 20 20 20 20 |7)=1..p" | 000033f0 20 f2 73 74 65 72 65 6f 28 37 2c 63 68 61 6e 6e | .stereo(7,chann| 00003400 65 6c 28 37 29 29 0d 0d 7a 46 20 20 20 20 20 20 |el(7))..zF | 00003410 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 | .puticonsprit| 00003420 65 28 73 74 65 72 65 6f 25 2c 32 37 2c 22 73 74 |e(stereo%,27,"st| 00003430 65 72 65 6f 22 2b c3 63 68 61 6e 6e 65 6c 28 37 |ereo"+.channel(7| 00003440 29 29 3a f2 73 6c 61 62 69 63 6f 6e 0d 0d 84 33 |)):.slabicon...3| 00003450 c9 20 32 38 3a 20 63 68 61 6e 6e 65 6c 28 37 29 |. 28: channel(7)| 00003460 2b 3d 31 3a e7 20 63 68 61 6e 6e 65 6c 28 37 29 |+=1:. channel(7)| 00003470 3e 37 20 63 68 61 6e 6e 65 6c 28 37 29 3d 37 0d |>7 channel(7)=7.| 00003480 0d 8e 22 20 20 20 20 20 20 20 20 20 f2 73 74 65 |.." .ste| 00003490 72 65 6f 28 37 2c 63 68 61 6e 6e 65 6c 28 37 29 |reo(7,channel(7)| 000034a0 29 0d 0d 98 46 20 20 20 20 20 20 20 20 20 f2 70 |)...F .p| 000034b0 75 74 69 63 6f 6e 73 70 72 69 74 65 28 73 74 65 |uticonsprite(ste| 000034c0 72 65 6f 25 2c 32 37 2c 22 73 74 65 72 65 6f 22 |reo%,27,"stereo"| 000034d0 2b c3 63 68 61 6e 6e 65 6c 28 37 29 29 3a f2 73 |+.channel(7)):.s| 000034e0 6c 61 62 69 63 6f 6e 0d 0d a2 33 c9 20 32 39 3a |labicon...3. 29:| 000034f0 20 63 68 61 6e 6e 65 6c 28 38 29 2d 3d 31 3a e7 | channel(8)-=1:.| 00003500 20 63 68 61 6e 6e 65 6c 28 38 29 3c 31 20 63 68 | channel(8)<1 ch| 00003510 61 6e 6e 65 6c 28 38 29 3d 31 0d 0d ac 22 20 20 |annel(8)=1..." | 00003520 20 20 20 20 20 20 20 f2 73 74 65 72 65 6f 28 38 | .stereo(8| 00003530 2c 63 68 61 6e 6e 65 6c 28 38 29 29 0d 0d b6 46 |,channel(8))...F| 00003540 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f | .putico| 00003550 6e 73 70 72 69 74 65 28 73 74 65 72 65 6f 25 2c |nsprite(stereo%,| 00003560 33 30 2c 22 73 74 65 72 65 6f 22 2b c3 63 68 61 |30,"stereo"+.cha| 00003570 6e 6e 65 6c 28 38 29 29 3a f2 73 6c 61 62 69 63 |nnel(8)):.slabic| 00003580 6f 6e 0d 0d c0 33 c9 20 33 31 3a 20 63 68 61 6e |on...3. 31: chan| 00003590 6e 65 6c 28 38 29 2b 3d 31 3a e7 20 63 68 61 6e |nel(8)+=1:. chan| 000035a0 6e 65 6c 28 38 29 3e 37 20 63 68 61 6e 6e 65 6c |nel(8)>7 channel| 000035b0 28 38 29 3d 37 0d 0d ca 22 20 20 20 20 20 20 20 |(8)=7..." | 000035c0 20 20 f2 73 74 65 72 65 6f 28 38 2c 63 68 61 6e | .stereo(8,chan| 000035d0 6e 65 6c 28 38 29 29 0d 0d d4 46 20 20 20 20 20 |nel(8))...F | 000035e0 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 | .puticonspri| 000035f0 74 65 28 73 74 65 72 65 6f 25 2c 33 30 2c 22 73 |te(stereo%,30,"s| 00003600 74 65 72 65 6f 22 2b c3 63 68 61 6e 6e 65 6c 28 |tereo"+.channel(| 00003610 38 29 29 3a f2 73 6c 61 62 69 63 6f 6e 0d 0d de |8)):.slabicon...| 00003620 05 cb 0d 0d e8 05 cb 0d 0d f2 0d c9 20 62 75 66 |............ buf| 00003630 66 65 72 25 0d 0d fc 0d c8 8e 20 71 25 21 38 20 |fer%...... q%!8 | 00003640 ca 0d 0e 06 14 c9 20 34 20 3a 20 c8 8e 20 71 25 |...... 4 : .. q%| 00003650 21 31 36 20 ca 0d 0e 10 37 c9 20 35 20 3a 20 f2 |!16 ....7. 5 : .| 00003660 73 6c 61 62 69 63 6f 6e 3a f2 62 75 66 66 65 72 |slabicon:.buffer| 00003670 28 bb 28 a4 67 65 74 69 63 6f 6e 64 61 74 61 28 |(.(.geticondata(| 00003680 62 75 66 66 65 72 25 2c 33 29 29 29 0d 0e 1a 05 |buffer%,3)))....| 00003690 cb 0d 0e 24 05 cb 0d 0e 2e 0f c9 20 72 65 67 69 |...$....... regi| 000036a0 73 74 65 72 25 0d 0e 38 0d c8 8e 20 71 25 21 38 |ster%..8... q%!8| 000036b0 20 ca 0d 0e 42 14 c9 20 34 20 3a 20 c8 8e 20 71 | ...B.. 4 : .. q| 000036c0 25 21 31 36 20 ca 0d 0e 4c 22 c9 20 39 20 3a 20 |%!16 ...L". 9 : | 000036d0 f2 73 6c 61 62 69 63 6f 6e 3a f2 72 65 67 69 73 |.slabicon:.regis| 000036e0 74 65 72 5f 63 6f 70 79 0d 0e 56 05 cb 0d 0e 60 |ter_copy..V....`| 000036f0 05 cb 0d 0e 6a 0e c9 20 6f 70 74 69 6f 6e 73 25 |....j.. options%| 00003700 0d 0e 74 0d c8 8e 20 71 25 21 38 20 ca 0d 0e 7e |..t... q%!8 ...~| 00003710 14 c9 20 34 20 3a 20 c8 8e 20 71 25 21 31 36 20 |.. 4 : .. q%!16 | 00003720 ca 0d 0e 88 31 c9 20 32 20 3a 20 6c 61 70 25 3d |....1. 2 : lap%=| 00003730 ac 6c 61 70 25 3a f2 74 6f 67 67 6c 65 6f 70 74 |.lap%:.toggleopt| 00003740 73 28 6c 61 70 25 2c 6f 70 74 69 6f 6e 73 25 2c |s(lap%,options%,| 00003750 32 29 0d 0e 92 31 c9 20 34 20 3a 20 73 63 72 25 |2)...1. 4 : scr%| 00003760 3d ac 73 63 72 25 3a f2 74 6f 67 67 6c 65 6f 70 |=.scr%:.toggleop| 00003770 74 73 28 73 63 72 25 2c 6f 70 74 69 6f 6e 73 25 |ts(scr%,options%| 00003780 2c 34 29 0d 0e 9c 31 c9 20 36 20 3a 20 64 6f 73 |,4)...1. 6 : dos| 00003790 25 3d ac 64 6f 73 25 3a f2 74 6f 67 67 6c 65 6f |%=.dos%:.toggleo| 000037a0 70 74 73 28 64 6f 73 25 2c 6f 70 74 69 6f 6e 73 |pts(dos%,options| 000037b0 25 2c 36 29 0d 0e a6 31 c9 20 38 20 3a 20 61 66 |%,6)...1. 8 : af| 000037c0 73 25 3d ac 61 66 73 25 3a f2 74 6f 67 67 6c 65 |s%=.afs%:.toggle| 000037d0 6f 70 74 73 28 61 66 73 25 2c 6f 70 74 69 6f 6e |opts(afs%,option| 000037e0 73 25 2c 38 29 0d 0e b0 32 c9 20 31 31 3a 20 6d |s%,8)...2. 11: m| 000037f0 61 6b 25 3d ac 6d 61 6b 25 3a f2 74 6f 67 67 6c |ak%=.mak%:.toggl| 00003800 65 6f 70 74 73 28 6d 61 6b 25 2c 6f 70 74 69 6f |eopts(mak%,optio| 00003810 6e 73 25 2c 31 31 29 0d 0e ba 1e c9 20 31 30 3a |ns%,11)..... 10:| 00003820 20 f2 73 6c 61 62 69 63 6f 6e 3a f2 73 61 76 65 | .slabicon:.save| 00003830 5f 6f 70 74 73 0d 0e c4 05 cb 0d 0e ce 05 cb 0d |_opts...........| 00003840 0e d8 0f c9 20 77 61 76 65 66 6f 72 6d 25 0d 0e |.... waveform%..| 00003850 e2 0d c8 8e 20 71 25 21 38 20 ca 0d 0e ec 14 c9 |.... q%!8 ......| 00003860 20 34 20 3a 20 c8 8e 20 71 25 21 31 36 20 ca 0d | 4 : .. q%!16 ..| 00003870 0e f6 1d c9 20 32 20 3a 20 f2 73 6c 61 62 69 63 |.... 2 : .slabic| 00003880 6f 6e 3a f2 70 6c 61 79 6e 6f 74 65 0d 0f 00 05 |on:.playnote....| 00003890 cb 0d 0f 0a 05 cb 0d 0f 14 0b c9 20 63 72 6f 25 |........... cro%| 000038a0 3a 0d 0f 1e 0d c8 8e 20 71 25 21 38 20 ca 0d 0f |:...... q%!8 ...| 000038b0 28 27 c9 20 34 20 3a 20 74 72 61 63 6b 25 2b 3d |('. 4 : track%+=| 000038c0 31 3a e7 20 74 72 61 63 6b 25 3d 39 20 74 72 61 |1:. track%=9 tra| 000038d0 63 6b 25 3d 31 0d 0f 32 3e 20 20 20 20 20 20 20 |ck%=1..2> | 000038e0 20 20 70 6f 69 6e 74 65 72 25 21 30 3d 63 72 6f | pointer%!0=cro| 000038f0 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 |%:.. "Wimp_GetWi| 00003900 6e 64 6f 77 49 6e 66 6f 22 2c 2c 70 6f 69 6e 74 |ndowInfo",,point| 00003910 65 72 25 0d 0f 3c 23 20 20 20 20 20 20 20 20 20 |er%..<# | 00003920 24 28 70 6f 69 6e 74 65 72 25 21 37 36 29 3d c3 |$(pointer%!76)=.| 00003930 74 72 61 63 6b 25 0d 0f 46 2f 20 20 20 20 20 20 |track%..F/ | 00003940 20 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 | .. "Wimp_GetW| 00003950 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 70 6f 69 |indowState",,poi| 00003960 6e 74 65 72 25 0d 0f 50 2c 20 20 20 20 20 20 20 |nter%..P, | 00003970 20 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 | .. "Wimp_Close| 00003980 57 69 6e 64 6f 77 22 2c 2c 70 6f 69 6e 74 65 72 |Window",,pointer| 00003990 25 0d 0f 5a 2b 20 20 20 20 20 20 20 20 20 c8 99 |%..Z+ ..| 000039a0 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f | "Wimp_OpenWindo| 000039b0 77 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 0f 64 27 |w",,pointer%..d'| 000039c0 c9 20 31 20 3a 20 74 72 61 63 6b 25 2d 3d 31 3a |. 1 : track%-=1:| 000039d0 e7 20 74 72 61 63 6b 25 3d 30 20 74 72 61 63 6b |. track%=0 track| 000039e0 25 3d 38 0d 0f 6e 3e 20 20 20 20 20 20 20 20 20 |%=8..n> | 000039f0 70 6f 69 6e 74 65 72 25 21 30 3d 63 72 6f 25 3a |pointer%!0=cro%:| 00003a00 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 |.. "Wimp_GetWind| 00003a10 6f 77 49 6e 66 6f 22 2c 2c 70 6f 69 6e 74 65 72 |owInfo",,pointer| 00003a20 25 0d 0f 78 23 20 20 20 20 20 20 20 20 20 24 28 |%..x# $(| 00003a30 70 6f 69 6e 74 65 72 25 21 37 36 29 3d c3 74 72 |pointer%!76)=.tr| 00003a40 61 63 6b 25 0d 0f 82 2f 20 20 20 20 20 20 20 20 |ack%.../ | 00003a50 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e | .. "Wimp_GetWin| 00003a60 64 6f 77 53 74 61 74 65 22 2c 2c 70 6f 69 6e 74 |dowState",,point| 00003a70 65 72 25 0d 0f 8c 2c 20 20 20 20 20 20 20 20 20 |er%..., | 00003a80 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 |.. "Wimp_CloseWi| 00003a90 6e 64 6f 77 22 2c 2c 70 6f 69 6e 74 65 72 25 0d |ndow",,pointer%.| 00003aa0 0f 96 2b 20 20 20 20 20 20 20 20 20 c8 99 20 22 |..+ .. "| 00003ab0 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 |Wimp_OpenWindow"| 00003ac0 2c 2c 70 6f 69 6e 74 65 72 25 0d 0f a0 05 cb 0d |,,pointer%......| 00003ad0 0f aa 05 cb 0d 0f b4 05 e1 0d 0f be 04 0d 0f c8 |................| 00003ae0 0b dd 20 f2 6d 65 6e 75 0d 0f d2 20 f4 20 53 65 |.. .menu... . Se| 00003af0 74 75 70 20 6d 65 6e 75 73 20 61 6e 64 20 6d 65 |tup menus and me| 00003b00 6e 75 20 62 6c 6f 63 6b 0d 0f dc 0c 50 25 3d 6d |nu block....P%=m| 00003b10 65 6e 75 25 0d 0f e6 12 66 6c 61 67 73 3d 26 37 |enu%....flags=&7| 00003b20 30 30 30 30 32 31 0d 0f f0 1f f2 6d 65 6e 75 5f |000021.....menu_| 00003b30 68 65 61 64 65 72 28 22 50 6c 61 79 54 72 61 63 |header("PlayTrac| 00003b40 6b 22 2c 39 29 0d 0f fa 2a f2 6d 65 6e 75 5f 69 |k",9)...*.menu_i| 00003b50 74 65 6d 28 26 30 30 2c 69 6e 66 6f 77 69 6e 64 |tem(&00,infowind| 00003b60 25 2c 66 6c 61 67 73 2c 22 49 6e 66 6f 22 29 0d |%,flags,"Info").| 00003b70 10 04 5c e7 20 72 65 67 69 73 74 65 72 65 64 25 |..\. registered%| 00003b80 20 f2 6d 65 6e 75 5f 69 74 65 6d 28 26 30 30 2c | .menu_item(&00,| 00003b90 6f 70 65 6e 25 2c 66 6c 61 67 73 2c 22 4f 70 65 |open%,flags,"Ope| 00003ba0 6e 22 29 20 8b 20 f2 6d 65 6e 75 5f 69 74 65 6d |n") . .menu_item| 00003bb0 28 26 30 30 2c 6f 70 65 6e 25 2c 26 32 30 30 30 |(&00,open%,&2000| 00003bc0 30 32 31 2c 22 4f 70 65 6e 22 29 0d 10 0e 68 e7 |021,"Open")...h.| 00003bd0 20 72 65 67 69 73 74 65 72 65 64 25 20 f2 6d 65 | registered% .me| 00003be0 6e 75 5f 69 74 65 6d 28 26 30 30 2c 73 61 76 65 |nu_item(&00,save| 00003bf0 61 73 25 2c 66 6c 61 67 73 2c 22 53 61 76 65 20 |as%,flags,"Save | 00003c00 20 46 33 22 29 20 8b 20 f2 6d 65 6e 75 5f 69 74 | F3") . .menu_it| 00003c10 65 6d 28 26 30 30 2c 73 61 76 65 61 73 25 2c 26 |em(&00,saveas%,&| 00003c20 32 30 30 30 30 32 31 2c 22 53 61 76 65 20 20 46 |2000021,"Save F| 00003c30 33 22 29 0d 10 18 27 f2 6d 65 6e 75 5f 69 74 65 |3")...'.menu_ite| 00003c40 6d 28 26 30 30 2c 2d 31 2c 66 6c 61 67 73 2c 22 |m(&00,-1,flags,"| 00003c50 53 74 6f 70 20 20 46 36 22 29 0d 10 22 23 f2 6d |Stop F6").."#.m| 00003c60 65 6e 75 5f 69 74 65 6d 28 26 38 30 2c 2d 31 2c |enu_item(&80,-1,| 00003c70 66 6c 61 67 73 2c 22 51 75 69 74 22 29 0d 10 2c |flags,"Quit")..,| 00003c80 0c 50 25 3d 6f 70 65 6e 25 0d 10 36 1b f2 6d 65 |.P%=open%..6..me| 00003c90 6e 75 5f 68 65 61 64 65 72 28 22 4f 70 65 6e 22 |nu_header("Open"| 00003ca0 2c 31 34 29 0d 10 40 2b f2 6d 65 6e 75 5f 69 74 |,14)..@+.menu_it| 00003cb0 65 6d 28 26 30 30 2c 2d 31 2c 66 6c 61 67 73 2c |em(&00,-1,flags,| 00003cc0 22 43 6f 6e 74 72 6f 6c 20 20 8b 46 31 22 29 0d |"Control .F1").| 00003cd0 10 4a 2b f2 6d 65 6e 75 5f 69 74 65 6d 28 26 30 |.J+.menu_item(&0| 00003ce0 30 2c 2d 31 2c 66 6c 61 67 73 2c 22 49 6e 66 6f |0,-1,flags,"Info| 00003cf0 20 20 20 20 20 8b 46 32 22 29 0d 10 54 2b f2 6d | .F2")..T+.m| 00003d00 65 6e 75 5f 69 74 65 6d 28 26 30 30 2c 2d 31 2c |enu_item(&00,-1,| 00003d10 66 6c 61 67 73 2c 22 53 74 65 72 65 6f 20 20 20 |flags,"Stereo | 00003d20 8b 46 33 22 29 0d 10 5e 2b f2 6d 65 6e 75 5f 69 |.F3")..^+.menu_i| 00003d30 74 65 6d 28 26 30 30 2c 2d 31 2c 66 6c 61 67 73 |tem(&00,-1,flags| 00003d40 2c 22 53 61 6d 70 6c 65 73 20 20 8b 46 34 22 29 |,"Samples .F4")| 00003d50 0d 10 68 2b f2 6d 65 6e 75 5f 69 74 65 6d 28 26 |..h+.menu_item(&| 00003d60 30 30 2c 2d 31 2c 66 6c 61 67 73 2c 22 42 75 66 |00,-1,flags,"Buf| 00003d70 66 65 72 20 20 20 8b 46 35 22 29 0d 10 72 2b f2 |fer .F5")..r+.| 00003d80 6d 65 6e 75 5f 69 74 65 6d 28 26 30 30 2c 2d 31 |menu_item(&00,-1| 00003d90 2c 66 6c 61 67 73 2c 22 4f 70 74 69 6f 6e 73 20 |,flags,"Options | 00003da0 20 8b 46 36 22 29 0d 10 7c 2b f2 6d 65 6e 75 5f | .F6")..|+.menu_| 00003db0 69 74 65 6d 28 26 30 30 2c 2d 31 2c 66 6c 61 67 |item(&00,-1,flag| 00003dc0 73 2c 22 56 75 2d 4d 65 74 65 72 20 8b 46 37 22 |s,"Vu-Meter .F7"| 00003dd0 29 0d 10 86 2b f2 6d 65 6e 75 5f 69 74 65 6d 28 |)...+.menu_item(| 00003de0 26 30 30 2c 2d 31 2c 66 6c 61 67 73 2c 22 57 61 |&00,-1,flags,"Wa| 00003df0 76 65 66 6f 72 6d 20 8b 46 38 22 29 0d 10 90 2b |veform .F8")...+| 00003e00 f2 6d 65 6e 75 5f 69 74 65 6d 28 26 30 30 2c 2d |.menu_item(&00,-| 00003e10 31 2c 66 6c 61 67 73 2c 22 43 52 4f 20 20 20 20 |1,flags,"CRO | 00003e20 20 20 8b 46 39 22 29 0d 10 9a 2c f2 6d 65 6e 75 | .F9")...,.menu| 00003e30 5f 69 74 65 6d 28 26 38 30 2c 2d 31 2c 66 6c 61 |_item(&80,-1,fla| 00003e40 67 73 2c 22 4d 6f 6e 69 74 6f 72 20 20 8b 46 31 |gs,"Monitor .F1| 00003e50 30 22 29 0d 10 a4 15 e7 20 72 65 67 69 73 74 65 |0")..... registe| 00003e60 72 65 64 25 3d a3 20 8c 0d 10 ae 26 20 20 e3 20 |red%=. ....& . | 00003e70 49 25 3d 30 20 b8 20 39 3a f2 67 72 65 79 6d 65 |I%=0 . 9:.greyme| 00003e80 6e 75 28 6f 70 65 6e 25 2c 49 25 29 3a ed 0d 10 |nu(open%,I%):...| 00003e90 b8 2d 20 20 f2 64 69 73 61 62 6c 65 28 73 61 76 |.- .disable(sav| 00003ea0 65 61 73 25 2c 31 29 3a f2 64 69 73 61 62 6c 65 |eas%,1):.disable| 00003eb0 28 73 61 76 65 61 73 25 2c 33 29 0d 10 c2 05 cd |(saveas%,3).....| 00003ec0 0d 10 cc 05 e1 0d 10 d6 04 0d 10 e0 18 dd 20 f2 |.............. .| 00003ed0 6d 65 6e 75 5f 68 65 61 64 65 72 28 54 24 2c 77 |menu_header(T$,w| 00003ee0 29 0d 10 ea 0a 24 50 25 3d 54 24 0d 10 f4 10 50 |)....$P%=T$....P| 00003ef0 25 21 31 32 3d 26 37 30 32 30 37 0d 10 fe 0e 50 |%!12=&70207....P| 00003f00 25 21 31 36 3d 77 2a 31 36 0d 11 08 0c 50 25 21 |%!16=w*16....P%!| 00003f10 32 30 3d 34 30 0d 11 12 0b 50 25 21 32 34 3d 30 |20=40....P%!24=0| 00003f20 0d 11 1c 0a 50 25 2b 3d 32 38 0d 11 26 05 e1 0d |....P%+=28..&...| 00003f30 11 30 04 0d 11 3a 1d dd 20 f2 6d 65 6e 75 5f 69 |.0...:.. .menu_i| 00003f40 74 65 6d 28 41 25 2c 42 25 2c 43 25 2c 54 24 29 |tem(A%,B%,C%,T$)| 00003f50 0d 11 44 0b 50 25 21 30 3d 41 25 0d 11 4e 0b 50 |..D.P%!0=A%..N.P| 00003f60 25 21 34 3d 42 25 0d 11 58 0b 50 25 21 38 3d 43 |%!4=B%..X.P%!8=C| 00003f70 25 0d 11 62 10 e7 20 a9 28 54 24 29 3c 31 33 20 |%..b.. .(T$)<13 | 00003f80 8c 0d 11 6c 11 20 20 24 28 50 25 2b 31 32 29 3d |...l. $(P%+12)=| 00003f90 54 24 0d 11 76 05 cc 0d 11 80 1c 20 20 24 28 69 |T$..v...... $(i| 00003fa0 6e 64 74 65 78 74 25 2b 69 6e 64 70 74 72 25 29 |ndtext%+indptr%)| 00003fb0 3d 54 24 0d 11 8a 1c 20 20 50 25 21 31 32 3d 69 |=T$.... P%!12=i| 00003fc0 6e 64 74 65 78 74 25 2b 69 6e 64 70 74 72 25 0d |ndtext%+indptr%.| 00003fd0 11 94 0e 20 20 50 25 21 31 36 3d 2d 31 0d 11 9e |... P%!16=-1...| 00003fe0 13 20 20 50 25 21 32 30 3d a9 28 54 24 29 2b 31 |. P%!20=.(T$)+1| 00003ff0 0d 11 a8 16 20 20 50 25 21 38 3d 50 25 21 38 20 |.... P%!8=P%!8 | 00004000 84 20 31 3c 3c 38 0d 11 b2 16 20 20 69 6e 64 70 |. 1<<8.... indp| 00004010 74 72 25 2b 3d a9 28 54 24 29 2b 31 0d 11 bc 05 |tr%+=.(T$)+1....| 00004020 cd 0d 11 c6 0a 50 25 2b 3d 32 34 0d 11 d0 05 e1 |.....P%+=24.....| 00004030 0d 11 da 04 0d 11 e4 27 dd 20 a4 65 72 72 6f 72 |.......'. .error| 00004040 28 65 24 2c 62 25 29 3a 21 71 25 3d 30 3a 24 28 |(e$,b%):!q%=0:$(| 00004050 71 25 2b 34 29 3d 65 24 2b bd 30 0d 11 ee 31 c8 |q%+4)=e$+.0...1.| 00004060 99 20 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 |. "Wimp_ReportEr| 00004070 72 6f 72 22 2c 71 25 2c 62 25 2c 22 50 6c 61 79 |ror",q%,b%,"Play| 00004080 54 72 61 63 6b 22 20 b8 20 2c 62 25 0d 11 f8 07 |Track" . ,b%....| 00004090 3d 62 25 0d 12 02 04 0d 12 0c 09 dd 20 f2 64 6c |=b%......... .dl| 000040a0 0d 12 16 0b ea 20 66 24 2c 54 25 0d 12 20 1f 66 |..... f$,T%.. .f| 000040b0 24 3d c4 32 35 30 2c 22 20 22 29 3a 66 24 3d 22 |$=.250," "):f$="| 000040c0 22 3a 54 25 3d 71 25 2b 34 34 0d 12 2a 1e c8 95 |":T%=q%+44..*...| 000040d0 20 3f 54 25 3c 3e 30 3a 66 24 2b 3d bd 3f 54 25 | ?T%<>0:f$+=.?T%| 000040e0 3a 54 25 2b 3d 31 3a ce 0d 12 34 0e c8 8e 20 71 |:T%+=1:...4... q| 000040f0 25 21 34 30 20 ca 0d 12 3e 3a c9 20 26 43 42 36 |%!40 ...>:. &CB6| 00004100 2c 26 30 30 31 2c 26 43 43 35 2c 26 37 30 31 20 |,&001,&CC5,&701 | 00004110 3a 20 e7 20 71 25 21 32 30 3d 2d 32 20 f2 74 72 |: . q%!20=-2 .tr| 00004120 61 63 6b 65 72 5f 6c 6f 61 64 69 74 28 66 24 29 |acker_loadit(f$)| 00004130 0d 12 48 25 7f 20 20 20 20 20 20 20 20 20 20 20 |..H%. | 00004140 20 20 20 20 20 3a 20 f2 68 6f 6c 64 5f 69 74 28 | : .hold_it(| 00004150 6f 64 64 25 29 0d 12 52 05 cb 0d 12 5c 32 71 25 |odd%)..R....\2q%| 00004160 21 31 32 3d 71 25 21 38 3a 71 25 21 31 36 3d 34 |!12=q%!8:q%!16=4| 00004170 3a c8 99 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 |:.. "Wimp_SendMe| 00004180 73 73 61 67 65 22 2c 31 37 2c 71 25 0d 12 66 05 |ssage",17,q%..f.| 00004190 e1 0d 12 70 04 0d 12 7a 09 dd 20 f2 64 6f 0d 12 |...p...z.. .do..| 000041a0 84 0b ea 20 66 24 2c 54 25 0d 12 8e 26 66 24 3d |... f$,T%...&f$=| 000041b0 c4 32 35 30 2c 22 20 22 29 3a 66 24 3d 22 22 3a |.250," "):f$="":| 000041c0 66 24 3d a4 72 74 6f 7a 28 71 25 2b 34 34 29 0d |f$=.rtoz(q%+44).| 000041d0 12 98 0e c8 8e 20 71 25 21 34 30 20 ca 0d 12 a2 |..... q%!40 ....| 000041e0 2f c9 20 26 43 42 36 2c 26 30 30 31 2c 26 43 43 |/. &CB6,&001,&CC| 000041f0 35 2c 26 37 30 31 20 3a 20 f2 74 72 61 63 6b 65 |5,&701 : .tracke| 00004200 72 5f 6c 6f 61 64 69 74 28 66 24 29 0d 12 ac 18 |r_loadit(f$)....| 00004210 7f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00004220 20 3a 20 e1 0d 12 b6 05 cb 0d 12 c0 32 71 25 21 | : .........2q%!| 00004230 31 32 3d 71 25 21 38 3a 71 25 21 31 36 3d 34 3a |12=q%!8:q%!16=4:| 00004240 c8 99 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 |.. "Wimp_SendMes| 00004250 73 61 67 65 22 2c 31 37 2c 71 25 0d 12 ca 05 e1 |sage",17,q%.....| 00004260 0d 12 d4 04 0d 12 de 0d dd 20 f2 72 65 64 72 61 |......... .redra| 00004270 77 0d 12 e8 25 c8 99 20 22 57 69 6d 70 5f 52 65 |w...%.. "Wimp_Re| 00004280 64 72 61 77 57 69 6e 64 6f 77 22 2c 2c 71 25 20 |drawWindow",,q% | 00004290 b8 20 66 6c 61 67 0d 12 f2 20 78 25 3d 71 25 21 |. flag... x%=q%!| 000042a0 34 2d 71 25 21 32 30 3a 79 25 3d 71 25 21 31 36 |4-q%!20:y%=q%!16| 000042b0 2d 71 25 21 32 34 0d 12 fc 0e c8 95 20 66 6c 61 |-q%!24...... fla| 000042c0 67 3c 3e 30 0d 13 06 1f e7 20 21 71 25 3d 76 75 |g<>0..... !q%=vu| 000042d0 6d 65 74 65 72 25 20 80 20 70 6c 61 79 69 6e 67 |meter% . playing| 000042e0 25 20 8c 0d 13 10 2e 20 20 c8 99 20 22 54 72 61 |% ..... .. "Tra| 000042f0 63 6b 65 72 5f 53 6f 75 6e 64 49 6e 66 6f 22 2c |cker_SoundInfo",| 00004300 70 6f 69 6e 74 65 72 25 2c 2c 2c 2c 6c 6f 63 6b |pointer%,,,,lock| 00004310 25 0d 13 1a 1d 20 20 21 76 75 5f 78 25 3d 78 25 |%.... !vu_x%=x%| 00004320 3a 21 76 75 5f 79 25 3d 79 25 2d 32 38 30 0d 13 |:!vu_y%=y%-280..| 00004330 24 0d 20 20 d6 20 63 6f 64 65 25 0d 13 2e 05 cd |$. . code%.....| 00004340 0d 13 38 48 e7 20 21 71 25 3d 77 61 76 65 70 61 |..8H. !q%=wavepa| 00004350 6e 65 25 20 80 20 73 68 6f 77 25 20 80 20 a4 67 |ne% . show% . .g| 00004360 65 74 69 63 6f 6e 64 61 74 61 28 77 61 76 65 66 |eticondata(wavef| 00004370 6f 72 6d 25 2c 31 29 3c 3e 22 22 20 80 20 70 6c |orm%,1)<>"" . pl| 00004380 61 79 69 6e 67 25 20 8c 0d 13 42 17 20 20 c8 99 |aying% ...B. ..| 00004390 20 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d | "Hourglass_On".| 000043a0 13 4c 49 20 20 73 61 6d 70 25 3d bb 28 a4 67 65 |.LI samp%=.(.ge| 000043b0 74 69 63 6f 6e 64 61 74 61 28 77 61 76 65 66 6f |ticondata(wavefo| 000043c0 72 6d 25 2c 31 29 29 3a e7 20 73 61 6d 70 25 3d |rm%,1)):. samp%=| 000043d0 30 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f |0 .. "Hourglass_| 000043e0 53 6d 61 73 68 22 3a e1 0d 13 56 53 20 20 c8 99 |Smash":...VS ..| 000043f0 20 22 54 72 61 63 6b 65 72 5f 52 65 61 64 53 61 | "Tracker_ReadSa| 00004400 6d 70 6c 65 54 61 62 6c 65 22 2c 73 61 6d 70 25 |mpleTable",samp%| 00004410 2c 2c 2c 2c 6c 6f 63 6b 25 20 b8 20 2c 2c 6c 65 |,,,,lock% . ,,le| 00004420 6e 31 25 2c 6c 65 6e 25 2c 72 70 74 25 2c 72 70 |n1%,len%,rpt%,rp| 00004430 74 6c 65 6e 25 2c 61 64 64 72 25 0d 13 60 1b 20 |tlen%,addr%..`. | 00004440 20 c8 99 20 22 57 69 6d 70 5f 53 65 74 43 6f 6c | .. "Wimp_SetCol| 00004450 6f 75 72 22 2c 37 0d 13 6a 1b 20 20 e7 20 6c 65 |our",7..j. . le| 00004460 6e 31 25 3e 30 20 80 20 61 64 64 72 25 3e 30 20 |n1%>0 . addr%>0 | 00004470 8c 0d 13 74 41 20 20 20 20 73 63 61 6c 65 25 3d |...tA scale%=| 00004480 6c 65 6e 25 2f 6c 65 6e 31 25 3a 72 70 74 25 3d |len%/len1%:rpt%=| 00004490 72 70 74 25 2f 73 63 61 6c 65 25 3a 72 70 74 6c |rpt%/scale%:rptl| 000044a0 65 6e 25 3d 72 70 74 6c 65 6e 25 2f 73 63 61 6c |en%=rptlen%/scal| 000044b0 65 25 0d 13 7e 29 20 20 20 20 73 78 3d 30 3a 73 |e%..~) sx=0:s| 000044c0 79 25 3d 30 3a 64 69 73 74 3d 32 31 31 32 2f 6c |y%=0:dist=2112/l| 000044d0 65 6e 31 25 3a 6d 69 64 25 3d 30 0d 13 88 13 20 |en1%:mid%=0.... | 000044e0 20 20 20 ec 20 78 25 2c 79 25 2d 32 35 36 0d 13 | . x%,y%-256..| 000044f0 92 16 20 20 20 20 e3 20 49 25 3d 30 20 b8 20 6c |.. . I%=0 . l| 00004500 65 6e 31 25 0d 13 9c 27 20 20 20 20 73 78 2b 3d |en1%...' sx+=| 00004510 64 69 73 74 3a 73 79 25 3d 61 64 64 72 25 3f 49 |dist:sy%=addr%?I| 00004520 25 3a 6d 69 64 25 2b 3d 73 79 25 0d 13 a6 1c 20 |%:mid%+=sy%.... | 00004530 20 20 20 df 20 78 25 2b 73 78 2c 28 79 25 2d 32 | . x%+sx,(y%-2| 00004540 35 36 29 2b 73 79 25 0d 13 b0 0c 20 20 20 20 ed |56)+sy%.... .| 00004550 20 49 25 0d 13 ba 17 20 20 20 20 6d 69 64 25 3d | I%.... mid%=| 00004560 6d 69 64 25 2f 6c 65 6e 31 25 0d 13 c4 1e 20 20 |mid%/len1%.... | 00004570 20 20 c8 99 20 22 57 69 6d 70 5f 53 65 74 43 6f | .. "Wimp_SetCo| 00004580 6c 6f 75 72 22 2c 31 31 0d 13 ce 32 20 20 20 20 |lour",11...2 | 00004590 ec 20 78 25 2c 28 79 25 2d 32 35 36 29 2b 6d 69 |. x%,(y%-256)+mi| 000045a0 64 25 3a df 20 78 25 2b 32 31 31 32 2c 28 79 25 |d%:. x%+2112,(y%| 000045b0 2d 32 35 36 29 2b 6d 69 64 25 0d 13 d8 1e 20 20 |-256)+mid%.... | 000045c0 20 20 c8 99 20 22 57 69 6d 70 5f 53 65 74 43 6f | .. "Wimp_SetCo| 000045d0 6c 6f 75 72 22 2c 31 30 0d 13 e2 31 20 20 20 20 |lour",10...1 | 000045e0 ec 20 78 25 2b 72 70 74 25 2a 64 69 73 74 2c 28 |. x%+rpt%*dist,(| 000045f0 79 25 2d 32 35 36 29 3a df 20 78 25 2b 72 70 74 |y%-256):. x%+rpt| 00004600 25 2a 64 69 73 74 2c 79 25 0d 13 ec 1e 20 20 20 |%*dist,y%.... | 00004610 20 c8 99 20 22 57 69 6d 70 5f 53 65 74 43 6f 6c | .. "Wimp_SetCol| 00004620 6f 75 72 22 2c 31 33 0d 13 f6 45 20 20 20 20 ec |our",13...E .| 00004630 20 78 25 2b 28 72 70 74 25 2b 72 70 74 6c 65 6e | x%+(rpt%+rptlen| 00004640 25 29 2a 64 69 73 74 2c 28 79 25 2d 32 35 36 29 |%)*dist,(y%-256)| 00004650 3a df 20 78 25 2b 28 72 70 74 25 2b 72 70 74 6c |:. x%+(rpt%+rptl| 00004660 65 6e 25 29 2a 64 69 73 74 2c 79 25 0d 14 00 07 |en%)*dist,y%....| 00004670 20 20 cd 0d 14 0a 18 20 20 c8 99 20 22 48 6f 75 | ..... .. "Hou| 00004680 72 67 6c 61 73 73 5f 4f 66 66 22 0d 14 14 05 cd |rglass_Off".....| 00004690 0d 14 1e 10 e7 20 21 71 25 3d 63 72 6f 25 20 8c |..... !q%=cro% .| 000046a0 0d 14 28 1c 20 20 c8 99 20 22 57 69 6d 70 5f 53 |..(. .. "Wimp_S| 000046b0 65 74 43 6f 6c 6f 75 72 22 2c 31 34 0d 14 32 38 |etColour",14..28| 000046c0 20 20 e3 20 49 25 3d 30 20 b8 20 31 35 30 20 88 | . I%=0 . 150 .| 000046d0 20 35 30 3a ec 20 78 25 2b 49 25 2c 28 79 25 2d | 50:. x%+I%,(y%-| 000046e0 32 30 30 29 3a df 20 78 25 2b 49 25 2c 79 25 3a |200):. x%+I%,y%:| 000046f0 ed 20 49 25 0d 14 3c 3a 20 20 e3 20 49 25 3d 30 |. I%..<: . I%=0| 00004700 20 b8 20 32 30 30 20 88 20 35 30 3a ec 20 78 25 | . 200 . 50:. x%| 00004710 2c 28 79 25 2d 49 25 29 3a df 20 78 25 2b 31 35 |,(y%-I%):. x%+15| 00004720 30 2c 28 79 25 2d 49 25 29 3a ed 20 49 25 0d 14 |0,(y%-I%):. I%..| 00004730 46 12 20 20 e7 20 70 6c 61 79 69 6e 67 25 20 8c |F. . playing% .| 00004740 0d 14 50 1d 20 20 20 20 c8 99 20 22 57 69 6d 70 |..P. .. "Wimp| 00004750 5f 53 65 74 43 6f 6c 6f 75 72 22 2c 30 0d 14 5a |_SetColour",0..Z| 00004760 56 20 20 20 20 c8 99 20 22 54 72 61 63 6b 65 72 |V .. "Tracker| 00004770 5f 53 6f 75 6e 64 49 6e 66 6f 22 2c 70 6f 69 6e |_SoundInfo",poin| 00004780 74 65 72 25 2c 2c 2c 2c 6c 6f 63 6b 25 3a 62 6f |ter%,,,,lock%:bo| 00004790 66 66 25 3d 28 70 6f 69 6e 74 65 72 25 21 28 28 |ff%=(pointer%!((| 000047a0 74 72 61 63 6b 25 2d 31 29 2a 33 32 29 3e 3e 3e |track%-1)*32)>>>| 000047b0 31 36 29 0d 14 64 2d 20 20 20 20 73 61 6d 70 25 |16)..d- samp%| 000047c0 3d 28 70 6f 69 6e 74 65 72 25 21 28 28 28 74 72 |=(pointer%!(((tr| 000047d0 61 63 6b 25 2d 31 29 2a 33 32 29 2b 31 36 29 29 |ack%-1)*32)+16))| 000047e0 0d 14 6e 13 20 20 20 20 e7 20 73 61 6d 70 25 3e |..n. . samp%>| 000047f0 30 20 8c 0d 14 78 65 20 20 20 20 20 20 c8 99 20 |0 ...xe .. | 00004800 22 54 72 61 63 6b 65 72 5f 52 65 61 64 53 61 6d |"Tracker_ReadSam| 00004810 70 6c 65 54 61 62 6c 65 22 2c 73 61 6d 70 25 2c |pleTable",samp%,| 00004820 2c 2c 2c 6c 6f 63 6b 25 20 b8 20 2c 2c 2c 6c 65 |,,,lock% . ,,,le| 00004830 6e 25 2c 2c 2c 61 64 64 72 25 3a e7 20 62 6f 66 |n%,,,addr%:. bof| 00004840 66 25 3e 6c 65 6e 25 2d 31 35 20 62 6f 66 66 25 |f%>len%-15 boff%| 00004850 3d 6c 65 6e 25 2d 31 35 0d 14 82 26 20 20 20 20 |=len%-15...& | 00004860 20 20 e7 20 62 6f 66 66 25 3c 6c 65 6e 25 2b 31 | . boff%<len%+1| 00004870 35 20 62 6f 66 25 3d 6c 65 6e 25 2b 31 35 0d 14 |5 bof%=len%+15..| 00004880 8c 83 20 20 20 20 20 20 ec 20 78 25 2c 28 79 25 |.. . x%,(y%| 00004890 2d 32 30 30 29 2b 61 64 64 72 25 3f 28 62 6f 66 |-200)+addr%?(bof| 000048a0 66 25 2d 31 29 3a 73 78 25 3d 30 3a 73 79 3d 30 |f%-1):sx%=0:sy=0| 000048b0 3a e3 20 49 25 3d 62 6f 66 66 25 2d 31 35 20 b8 |:. I%=boff%-15 .| 000048c0 20 62 6f 66 66 25 2b 31 35 3a 73 79 3d 28 61 64 | boff%+15:sy=(ad| 000048d0 64 72 25 3f 49 25 29 2f 31 2e 32 38 3a df 20 78 |dr%?I%)/1.28:. x| 000048e0 25 2b 73 78 25 2c 28 79 25 2d 32 30 30 29 2b 73 |%+sx%,(y%-200)+s| 000048f0 79 3a 73 78 25 2b 3d 28 31 35 30 2f 33 30 29 3a |y:sx%+=(150/30):| 00004900 ed 0d 14 96 09 20 20 20 20 cc 0d 14 a0 29 20 20 |..... ....) | 00004910 20 20 20 20 ec 20 78 25 2c 28 79 25 2d 31 30 30 | . x%,(y%-100| 00004920 29 3a df 20 78 25 2b 31 35 30 2c 28 79 25 2d 31 |):. x%+150,(y%-1| 00004930 30 30 29 0d 14 aa 09 20 20 20 20 cd 0d 14 b4 07 |00).... .....| 00004940 20 20 cd 0d 14 be 05 cd 0d 14 c8 35 e7 20 21 71 | .........5. !q| 00004950 25 3c 3e 76 75 6d 65 74 65 72 25 20 c8 99 20 22 |%<>vumeter% .. "| 00004960 49 6e 74 65 72 66 61 63 65 5f 52 65 6e 64 65 72 |Interface_Render| 00004970 33 64 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 14 d2 |3dWindow",,q%...| 00004980 25 c8 99 20 22 57 69 6d 70 5f 47 65 74 52 65 63 |%.. "Wimp_GetRec| 00004990 74 61 6e 67 6c 65 22 2c 2c 71 25 20 b8 20 66 6c |tangle",,q% . fl| 000049a0 61 67 0d 14 dc 05 ce 0d 14 e6 05 e1 0d 14 f0 04 |ag..............| 000049b0 0d 14 fa 35 dd 20 f2 61 73 73 65 6d 62 6c 65 3a |...5. .assemble:| 000049c0 f4 20 72 65 64 72 61 77 20 63 6f 64 65 20 69 6e |. redraw code in| 000049d0 20 61 73 73 65 6d 62 6c 65 72 20 66 6f 72 20 73 | assembler for s| 000049e0 70 65 65 64 3a 0d 15 04 16 e3 20 70 61 73 73 25 |peed:..... pass%| 000049f0 3d 38 20 b8 20 31 31 20 88 20 32 0d 15 0e 19 50 |=8 . 11 . 2....P| 00004a00 25 3d 63 6f 64 65 25 3a 4c 25 3d 63 6f 64 65 25 |%=code%:L%=code%| 00004a10 2b 37 30 30 0d 15 18 0e 5b 4f 50 54 20 70 61 73 |+700....[OPT pas| 00004a20 73 25 0d 15 22 14 4c 44 52 20 52 30 2c 76 75 5f |s%..".LDR R0,vu_| 00004a30 62 6c 6f 63 6b 25 0d 15 2c 21 4c 44 52 20 52 31 |block%..,!LDR R1| 00004a40 2c 5b 52 30 2c 23 32 34 5d 3a 53 54 52 20 52 31 |,[R0,#24]:STR R1| 00004a50 2c 63 68 61 6e 31 25 0d 15 36 24 4c 44 52 20 52 |,chan1%..6$LDR R| 00004a60 31 2c 5b 52 30 2c 23 33 32 2b 32 34 5d 3a 53 54 |1,[R0,#32+24]:ST| 00004a70 52 20 52 31 2c 63 68 61 6e 32 25 0d 15 40 24 4c |R R1,chan2%..@$L| 00004a80 44 52 20 52 31 2c 5b 52 30 2c 23 36 34 2b 32 34 |DR R1,[R0,#64+24| 00004a90 5d 3a 53 54 52 20 52 31 2c 63 68 61 6e 33 25 0d |]:STR R1,chan3%.| 00004aa0 15 4a 24 4c 44 52 20 52 31 2c 5b 52 30 2c 23 39 |.J$LDR R1,[R0,#9| 00004ab0 36 2b 32 34 5d 3a 53 54 52 20 52 31 2c 63 68 61 |6+24]:STR R1,cha| 00004ac0 6e 34 25 0d 15 54 25 4c 44 52 20 52 31 2c 5b 52 |n4%..T%LDR R1,[R| 00004ad0 30 2c 23 31 32 38 2b 32 34 5d 3a 53 54 52 20 52 |0,#128+24]:STR R| 00004ae0 31 2c 63 68 61 6e 35 25 0d 15 5e 25 4c 44 52 20 |1,chan5%..^%LDR | 00004af0 52 31 2c 5b 52 30 2c 23 31 36 30 2b 32 34 5d 3a |R1,[R0,#160+24]:| 00004b00 53 54 52 20 52 31 2c 63 68 61 6e 36 25 0d 15 68 |STR R1,chan6%..h| 00004b10 25 4c 44 52 20 52 31 2c 5b 52 30 2c 23 31 39 32 |%LDR R1,[R0,#192| 00004b20 2b 32 34 5d 3a 53 54 52 20 52 31 2c 63 68 61 6e |+24]:STR R1,chan| 00004b30 37 25 0d 15 72 25 4c 44 52 20 52 31 2c 5b 52 30 |7%..r%LDR R1,[R0| 00004b40 2c 23 32 32 34 2b 32 34 5d 3a 53 54 52 20 52 31 |,#224+24]:STR R1| 00004b50 2c 63 68 61 6e 38 25 0d 15 7c 0e 4d 4f 56 20 52 |,chan8%..|.MOV R| 00004b60 30 2c 23 31 31 0d 15 86 18 53 57 49 20 22 57 69 |0,#11....SWI "Wi| 00004b70 6d 70 5f 53 65 74 43 6f 6c 6f 75 72 22 0d 15 90 |mp_SetColour"...| 00004b80 10 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 15 9a |.LDR R2,vu_y%...| 00004b90 1a 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 4d 4f |.LDR R1,vu_x%:MO| 00004ba0 56 20 52 30 2c 23 34 0d 15 a4 11 53 57 49 20 22 |V R0,#4....SWI "| 00004bb0 4f 53 5f 50 6c 6f 74 22 0d 15 ae 3a 4d 4f 56 20 |OS_Plot"...:MOV | 00004bc0 52 31 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 |R1,#30:LDR R3,ch| 00004bd0 61 6e 31 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c |an1%:MOV R2,R3,L| 00004be0 53 4c 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c |SL #3:SUB R2,R2,| 00004bf0 52 33 0d 15 b8 1c 4d 4f 56 20 52 30 2c 23 39 37 |R3....MOV R0,#97| 00004c00 3a 53 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 15 |:SWI "OS_Plot"..| 00004c10 c2 10 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 15 |..LDR R2,vu_y%..| 00004c20 cc 28 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 41 |.(LDR R1,vu_x%:A| 00004c30 44 44 20 52 31 2c 52 31 2c 23 34 30 3a 4d 4f 56 |DD R1,R1,#40:MOV| 00004c40 20 52 30 2c 23 34 0d 15 d6 11 53 57 49 20 22 4f | R0,#4....SWI "O| 00004c50 53 5f 50 6c 6f 74 22 0d 15 e0 3a 4d 4f 56 20 52 |S_Plot"...:MOV R| 00004c60 31 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 61 |1,#30:LDR R3,cha| 00004c70 6e 32 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c 53 |n2%:MOV R2,R3,LS| 00004c80 4c 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c 52 |L #3:SUB R2,R2,R| 00004c90 33 0d 15 ea 1c 4d 4f 56 20 52 30 2c 23 39 37 3a |3....MOV R0,#97:| 00004ca0 53 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 15 f4 |SWI "OS_Plot"...| 00004cb0 10 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 15 fe |.LDR R2,vu_y%...| 00004cc0 28 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 41 44 |(LDR R1,vu_x%:AD| 00004cd0 44 20 52 31 2c 52 31 2c 23 38 30 3a 4d 4f 56 20 |D R1,R1,#80:MOV | 00004ce0 52 30 2c 23 34 0d 16 08 11 53 57 49 20 22 4f 53 |R0,#4....SWI "OS| 00004cf0 5f 50 6c 6f 74 22 0d 16 12 3a 4d 4f 56 20 52 31 |_Plot"...:MOV R1| 00004d00 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 61 6e |,#30:LDR R3,chan| 00004d10 33 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c 53 4c |3%:MOV R2,R3,LSL| 00004d20 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c 52 33 | #3:SUB R2,R2,R3| 00004d30 0d 16 1c 1c 4d 4f 56 20 52 30 2c 23 39 37 3a 53 |....MOV R0,#97:S| 00004d40 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 16 26 10 |WI "OS_Plot"..&.| 00004d50 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 16 30 29 |LDR R2,vu_y%..0)| 00004d60 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 41 44 44 |LDR R1,vu_x%:ADD| 00004d70 20 52 31 2c 52 31 2c 23 31 32 30 3a 4d 4f 56 20 | R1,R1,#120:MOV | 00004d80 52 30 2c 23 34 0d 16 3a 11 53 57 49 20 22 4f 53 |R0,#4..:.SWI "OS| 00004d90 5f 50 6c 6f 74 22 0d 16 44 3a 4d 4f 56 20 52 31 |_Plot"..D:MOV R1| 00004da0 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 61 6e |,#30:LDR R3,chan| 00004db0 34 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c 53 4c |4%:MOV R2,R3,LSL| 00004dc0 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c 52 33 | #3:SUB R2,R2,R3| 00004dd0 0d 16 4e 1c 4d 4f 56 20 52 30 2c 23 39 37 3a 53 |..N.MOV R0,#97:S| 00004de0 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 16 58 10 |WI "OS_Plot"..X.| 00004df0 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 16 62 29 |LDR R2,vu_y%..b)| 00004e00 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 41 44 44 |LDR R1,vu_x%:ADD| 00004e10 20 52 31 2c 52 31 2c 23 31 36 30 3a 4d 4f 56 20 | R1,R1,#160:MOV | 00004e20 52 30 2c 23 34 0d 16 6c 11 53 57 49 20 22 4f 53 |R0,#4..l.SWI "OS| 00004e30 5f 50 6c 6f 74 22 0d 16 76 3a 4d 4f 56 20 52 31 |_Plot"..v:MOV R1| 00004e40 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 61 6e |,#30:LDR R3,chan| 00004e50 35 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c 53 4c |5%:MOV R2,R3,LSL| 00004e60 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c 52 33 | #3:SUB R2,R2,R3| 00004e70 0d 16 80 1c 4d 4f 56 20 52 30 2c 23 39 37 3a 53 |....MOV R0,#97:S| 00004e80 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 16 8a 10 |WI "OS_Plot"....| 00004e90 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 16 94 29 |LDR R2,vu_y%...)| 00004ea0 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 41 44 44 |LDR R1,vu_x%:ADD| 00004eb0 20 52 31 2c 52 31 2c 23 32 30 30 3a 4d 4f 56 20 | R1,R1,#200:MOV | 00004ec0 52 30 2c 23 34 0d 16 9e 11 53 57 49 20 22 4f 53 |R0,#4....SWI "OS| 00004ed0 5f 50 6c 6f 74 22 0d 16 a8 3a 4d 4f 56 20 52 31 |_Plot"...:MOV R1| 00004ee0 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 61 6e |,#30:LDR R3,chan| 00004ef0 36 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c 53 4c |6%:MOV R2,R3,LSL| 00004f00 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c 52 33 | #3:SUB R2,R2,R3| 00004f10 0d 16 b2 1c 4d 4f 56 20 52 30 2c 23 39 37 3a 53 |....MOV R0,#97:S| 00004f20 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 16 bc 10 |WI "OS_Plot"....| 00004f30 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 16 c6 29 |LDR R2,vu_y%...)| 00004f40 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 41 44 44 |LDR R1,vu_x%:ADD| 00004f50 20 52 31 2c 52 31 2c 23 32 34 30 3a 4d 4f 56 20 | R1,R1,#240:MOV | 00004f60 52 30 2c 23 34 0d 16 d0 11 53 57 49 20 22 4f 53 |R0,#4....SWI "OS| 00004f70 5f 50 6c 6f 74 22 0d 16 da 3a 4d 4f 56 20 52 31 |_Plot"...:MOV R1| 00004f80 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 61 6e |,#30:LDR R3,chan| 00004f90 37 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c 53 4c |7%:MOV R2,R3,LSL| 00004fa0 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c 52 33 | #3:SUB R2,R2,R3| 00004fb0 0d 16 e4 1c 4d 4f 56 20 52 30 2c 23 39 37 3a 53 |....MOV R0,#97:S| 00004fc0 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 16 ee 10 |WI "OS_Plot"....| 00004fd0 4c 44 52 20 52 32 2c 76 75 5f 79 25 0d 16 f8 29 |LDR R2,vu_y%...)| 00004fe0 4c 44 52 20 52 31 2c 76 75 5f 78 25 3a 41 44 44 |LDR R1,vu_x%:ADD| 00004ff0 20 52 31 2c 52 31 2c 23 32 38 30 3a 4d 4f 56 20 | R1,R1,#280:MOV | 00005000 52 30 2c 23 34 0d 17 02 11 53 57 49 20 22 4f 53 |R0,#4....SWI "OS| 00005010 5f 50 6c 6f 74 22 0d 17 0c 3a 4d 4f 56 20 52 31 |_Plot"...:MOV R1| 00005020 2c 23 33 30 3a 4c 44 52 20 52 33 2c 63 68 61 6e |,#30:LDR R3,chan| 00005030 38 25 3a 4d 4f 56 20 52 32 2c 52 33 2c 4c 53 4c |8%:MOV R2,R3,LSL| 00005040 20 23 33 3a 53 55 42 20 52 32 2c 52 32 2c 52 33 | #3:SUB R2,R2,R3| 00005050 0d 17 16 1c 4d 4f 56 20 52 30 2c 23 39 37 3a 53 |....MOV R0,#97:S| 00005060 57 49 20 22 4f 53 5f 50 6c 6f 74 22 0d 17 20 0e |WI "OS_Plot".. .| 00005070 4d 4f 56 20 50 43 2c 52 31 34 0d 17 2a 42 2e 76 |MOV PC,R14..*B.v| 00005080 75 5f 62 6c 6f 63 6b 25 20 45 51 55 44 20 30 3a |u_block% EQUD 0:| 00005090 2e 63 68 61 6e 31 25 20 45 51 55 44 20 30 3a 2e |.chan1% EQUD 0:.| 000050a0 63 68 61 6e 32 25 20 45 51 55 44 20 30 3a 2e 63 |chan2% EQUD 0:.c| 000050b0 68 61 6e 33 25 20 45 51 55 44 20 30 0d 17 34 3f |han3% EQUD 0..4?| 000050c0 2e 63 68 61 6e 34 25 20 45 51 55 44 20 30 3a 2e |.chan4% EQUD 0:.| 000050d0 63 68 61 6e 35 25 20 45 51 55 44 20 30 3a 2e 63 |chan5% EQUD 0:.c| 000050e0 68 61 6e 36 25 20 45 51 55 44 20 30 3a 2e 63 68 |han6% EQUD 0:.ch| 000050f0 61 6e 37 25 20 45 51 55 44 20 30 0d 17 3e 2e 2e |an7% EQUD 0..>..| 00005100 63 68 61 6e 38 25 20 45 51 55 44 20 30 3a 2e 76 |chan8% EQUD 0:.v| 00005110 75 5f 78 25 20 45 51 55 44 20 30 3a 2e 76 75 5f |u_x% EQUD 0:.vu_| 00005120 79 25 20 45 51 55 44 20 30 0d 17 48 05 5d 0d 17 |y% EQUD 0..H.]..| 00005130 52 0b ed 20 70 61 73 73 25 0d 17 5c 05 e1 0d 17 |R.. pass%..\....| 00005140 66 04 0d 17 70 13 dd 20 f2 70 72 6f 63 65 73 73 |f...p.. .process| 00005150 5f 6d 65 6e 75 0d 17 7a 38 c8 99 20 22 57 69 6d |_menu..z8.. "Wim| 00005160 70 5f 47 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f |p_GetPointerInfo| 00005170 22 2c 2c 70 6f 69 6e 74 65 72 25 3a 6a 25 3d 28 |",,pointer%:j%=(| 00005180 70 6f 69 6e 74 65 72 25 21 38 3d 31 29 0d 17 84 |pointer%!8=1)...| 00005190 0f c8 8e 20 68 61 6e 64 6c 65 20 ca 0d 17 8e 08 |... handle .....| 000051a0 c9 20 2d 32 0d 17 98 0d c8 8e 20 71 25 21 30 20 |. -2...... q%!0 | 000051b0 ca 0d 17 a2 13 c9 20 31 20 3a 20 c8 8e 20 71 25 |...... 1 : .. q%| 000051c0 21 34 20 ca 0d 17 ac 35 20 20 20 20 20 20 20 20 |!4 ....5 | 000051d0 20 20 c9 20 30 20 3a 20 63 6f 70 65 6e 25 3d ac | . 0 : copen%=.| 000051e0 63 6f 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 |copen%:.tickmenu| 000051f0 28 6f 70 65 6e 25 2c 30 29 0d 17 b6 40 20 20 20 |(open%,0)...@ | 00005200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005210 e7 20 63 6f 70 65 6e 25 20 f2 6f 70 65 6e 75 70 |. copen% .openup| 00005220 28 63 6f 6e 74 72 6f 6c 25 2c 30 2c 31 30 32 34 |(control%,0,1024| 00005230 2c 36 32 35 2c 33 32 35 29 0d 17 c0 31 20 20 20 |,625,325)...1 | 00005240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005250 e7 20 ac 20 63 6f 70 65 6e 25 20 f2 73 68 75 74 |. . copen% .shut| 00005260 28 63 6f 6e 74 72 6f 6c 25 29 0d 17 ca 35 20 20 |(control%)...5 | 00005270 20 20 20 20 20 20 20 20 c9 20 31 20 3a 20 74 6f | . 1 : to| 00005280 70 65 6e 25 3d ac 74 6f 70 65 6e 25 3a f2 74 69 |pen%=.topen%:.ti| 00005290 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 2c 31 29 0d |ckmenu(open%,1).| 000052a0 17 d4 42 20 20 20 20 20 20 20 20 20 20 20 20 20 |..B | 000052b0 20 20 20 20 20 20 e7 20 74 6f 70 65 6e 25 20 f2 | . topen% .| 000052c0 6f 70 65 6e 75 70 28 74 75 6e 65 69 6e 66 6f 25 |openup(tuneinfo%| 000052d0 2c 35 38 30 2c 35 33 30 2c 37 30 30 2c 34 33 30 |,580,530,700,430| 000052e0 29 0d 17 de 32 20 20 20 20 20 20 20 20 20 20 20 |)...2 | 000052f0 20 20 20 20 20 20 20 20 e7 20 ac 20 74 6f 70 65 | . . tope| 00005300 6e 25 20 f2 73 68 75 74 28 74 75 6e 65 69 6e 66 |n% .shut(tuneinf| 00005310 6f 25 29 0d 17 e8 35 20 20 20 20 20 20 20 20 20 |o%)...5 | 00005320 20 c9 20 32 20 3a 20 73 6f 70 65 6e 25 3d ac 73 | . 2 : sopen%=.s| 00005330 6f 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 28 |open%:.tickmenu(| 00005340 6f 70 65 6e 25 2c 32 29 0d 17 f2 40 20 20 20 20 |open%,2)...@ | 00005350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 | .| 00005360 20 73 6f 70 65 6e 25 20 f2 77 69 6e 64 6f 77 5f | sopen% .window_| 00005370 63 65 6e 74 72 65 28 73 74 65 72 65 6f 25 2c 31 |centre(stereo%,1| 00005380 31 31 30 2c 32 35 30 29 0d 17 fc 30 20 20 20 20 |110,250)...0 | 00005390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 | .| 000053a0 20 ac 20 73 6f 70 65 6e 25 20 f2 73 68 75 74 28 | . sopen% .shut(| 000053b0 73 74 65 72 65 6f 25 29 0d 18 06 35 20 20 20 20 |stereo%)...5 | 000053c0 20 20 20 20 20 20 c9 20 33 20 3a 20 76 6f 70 65 | . 3 : vope| 000053d0 6e 25 3d ac 76 6f 70 65 6e 25 3a f2 74 69 63 6b |n%=.vopen%:.tick| 000053e0 6d 65 6e 75 28 6f 70 65 6e 25 2c 33 29 0d 18 10 |menu(open%,3)...| 000053f0 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |B | 00005400 20 20 20 20 e7 20 76 6f 70 65 6e 25 20 f2 6f 70 | . vopen% .op| 00005410 65 6e 62 61 63 6b 28 73 61 6d 70 6c 65 73 25 2c |enback(samples%,| 00005420 30 2c 31 30 30 30 2c 37 30 30 2c 38 35 30 29 0d |0,1000,700,850).| 00005430 18 1a 31 20 20 20 20 20 20 20 20 20 20 20 20 20 |..1 | 00005440 20 20 20 20 20 20 e7 20 ac 20 76 6f 70 65 6e 25 | . . vopen%| 00005450 20 f2 73 68 75 74 28 73 61 6d 70 6c 65 73 25 29 | .shut(samples%)| 00005460 0d 18 24 35 20 20 20 20 20 20 20 20 20 20 c9 20 |..$5 . | 00005470 34 20 3a 20 62 6f 70 65 6e 25 3d ac 62 6f 70 65 |4 : bopen%=.bope| 00005480 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 28 6f 70 65 |n%:.tickmenu(ope| 00005490 6e 25 2c 34 29 0d 18 2e 3f 20 20 20 20 20 20 20 |n%,4)...? | 000054a0 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 62 6f | . bo| 000054b0 70 65 6e 25 20 f2 77 69 6e 64 6f 77 5f 63 65 6e |pen% .window_cen| 000054c0 74 72 65 28 62 75 66 66 65 72 25 2c 37 30 30 2c |tre(buffer%,700,| 000054d0 34 37 35 29 0d 18 38 30 20 20 20 20 20 20 20 20 |475)..80 | 000054e0 20 20 20 20 20 20 20 20 20 20 20 e7 20 ac 20 62 | . . b| 000054f0 6f 70 65 6e 25 20 f2 73 68 75 74 28 62 75 66 66 |open% .shut(buff| 00005500 65 72 25 29 0d 18 42 35 20 20 20 20 20 20 20 20 |er%)..B5 | 00005510 20 20 c9 20 35 20 3a 20 6f 6f 70 65 6e 25 3d ac | . 5 : oopen%=.| 00005520 6f 6f 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 |oopen%:.tickmenu| 00005530 28 6f 70 65 6e 25 2c 35 29 0d 18 4c 40 20 20 20 |(open%,5)..L@ | 00005540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005550 e7 20 6f 6f 70 65 6e 25 20 f2 77 69 6e 64 6f 77 |. oopen% .window| 00005560 5f 63 65 6e 74 72 65 28 6f 70 74 69 6f 6e 73 25 |_centre(options%| 00005570 2c 37 36 38 2c 33 36 37 29 0d 18 56 31 20 20 20 |,768,367)..V1 | 00005580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005590 e7 20 ac 20 6f 6f 70 65 6e 25 20 f2 73 68 75 74 |. . oopen% .shut| 000055a0 28 6f 70 74 69 6f 6e 73 25 29 0d 18 60 37 20 20 |(options%)..`7 | 000055b0 20 20 20 20 20 20 20 20 c9 20 36 20 3a 20 76 75 | . 6 : vu| 000055c0 6f 70 65 6e 25 3d ac 76 75 6f 70 65 6e 25 3a f2 |open%=.vuopen%:.| 000055d0 74 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 2c 36 |tickmenu(open%,6| 000055e0 29 0d 18 6a 42 20 20 20 20 20 20 20 20 20 20 20 |)..jB | 000055f0 20 20 20 20 20 20 20 20 e7 20 76 75 6f 70 65 6e | . vuopen| 00005600 25 20 f2 6f 70 65 6e 75 70 28 76 75 6d 65 74 65 |% .openup(vumete| 00005610 72 25 2c 39 37 30 2c 39 30 30 2c 33 31 30 2c 32 |r%,970,900,310,2| 00005620 38 30 29 0d 18 74 32 20 20 20 20 20 20 20 20 20 |80)..t2 | 00005630 20 20 20 20 20 20 20 20 20 20 e7 20 ac 20 76 75 | . . vu| 00005640 6f 70 65 6e 25 20 f2 73 68 75 74 28 76 75 6d 65 |open% .shut(vume| 00005650 74 65 72 25 29 0d 18 7e 35 20 20 20 20 20 20 20 |ter%)..~5 | 00005660 20 20 20 c9 20 37 20 3a 20 77 6f 70 65 6e 25 3d | . 7 : wopen%=| 00005670 ac 77 6f 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e |.wopen%:.tickmen| 00005680 75 28 6f 70 65 6e 25 2c 37 29 0d 18 88 52 20 20 |u(open%,7)...R | 00005690 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000056a0 20 e7 20 77 6f 70 65 6e 25 20 f2 6f 70 65 6e 6c | . wopen% .openl| 000056b0 69 6e 6b 65 64 28 77 61 76 65 66 6f 72 6d 25 2c |inked(waveform%,| 000056c0 77 61 76 65 70 61 6e 65 25 2c 31 32 38 30 2c 33 |wavepane%,1280,3| 000056d0 39 30 2c 32 31 31 32 2c 32 35 36 29 0d 18 92 43 |90,2112,256)...C| 000056e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000056f0 20 20 20 e7 20 ac 20 77 6f 70 65 6e 25 20 f2 73 | . . wopen% .s| 00005700 68 75 74 28 77 61 76 65 66 6f 72 6d 25 29 3a f2 |hut(waveform%):.| 00005710 73 68 75 74 28 77 61 76 65 70 61 6e 65 25 29 0d |shut(wavepane%).| 00005720 18 9c 38 20 20 20 20 20 20 20 20 20 20 c9 20 38 |..8 . 8| 00005730 20 3a 20 63 72 6f 70 65 6e 25 3d ac 20 63 72 6f | : cropen%=. cro| 00005740 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 28 6f |pen%:.tickmenu(o| 00005750 70 65 6e 25 2c 38 29 0d 18 a6 3e 20 20 20 20 20 |pen%,8)...> | 00005760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 | . | 00005770 63 72 6f 70 65 6e 25 20 f2 6f 70 65 6e 75 70 28 |cropen% .openup(| 00005780 63 72 6f 25 2c 37 30 30 2c 35 30 30 2c 31 35 30 |cro%,700,500,150| 00005790 2c 32 30 30 29 0d 18 b0 2e 20 20 20 20 20 20 20 |,200).... | 000057a0 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 ac 20 | . . | 000057b0 63 72 6f 70 65 6e 25 20 f2 73 68 75 74 28 63 72 |cropen% .shut(cr| 000057c0 6f 25 29 0d 18 ba 1c 20 20 20 20 20 20 20 20 20 |o%).... | 000057d0 20 c9 20 39 20 3a 20 f2 6d 6f 6e 69 74 6f 72 0d | . 9 : .monitor.| 000057e0 18 c4 0e 20 20 20 20 20 20 20 20 20 cb 0d 18 ce |... ....| 000057f0 12 c9 20 33 20 3a 20 e7 20 64 6f 73 25 20 8c 0d |.. 3 : . dos% ..| 00005800 18 d8 2a 20 20 20 20 20 20 20 20 20 20 20 c8 99 |..* ..| 00005810 20 22 54 72 61 63 6b 65 72 5f 53 74 6f 70 22 2c | "Tracker_Stop",| 00005820 2c 2c 2c 2c 6c 6f 63 6b 25 0d 18 e2 31 20 20 20 |,,,,lock%...1 | 00005830 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e | .puticon| 00005840 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c |sprite(control%,| 00005850 31 2c 22 70 61 75 73 65 22 29 0d 18 ec 31 20 20 |1,"pause")...1 | 00005860 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f | .putico| 00005870 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 |nsprite(control%| 00005880 2c 32 2c 22 73 74 6f 70 31 22 29 0d 18 f6 30 20 |,2,"stop1")...0 | 00005890 20 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 | .putic| 000058a0 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c |onsprite(control| 000058b0 25 2c 33 2c 22 70 6c 61 79 22 29 0d 19 00 2b 20 |%,3,"play")...+ | 000058c0 20 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 | .putic| 000058d0 6f 6e 64 61 74 61 28 63 6f 6e 74 72 6f 6c 25 2c |ondata(control%,| 000058e0 39 2c 22 30 22 29 0d 19 0a 2c 20 20 20 20 20 20 |9,"0")..., | 000058f0 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 64 61 74 | .puticondat| 00005900 61 28 63 6f 6e 74 72 6f 6c 25 2c 31 30 2c 22 30 |a(control%,10,"0| 00005910 22 29 0d 19 14 20 20 20 20 20 20 20 20 20 20 20 |")... | 00005920 20 f2 63 6c 65 61 72 3a 70 6c 61 79 69 6e 67 25 | .clear:playing%| 00005930 3d a3 0d 19 1e 0e 20 20 20 20 20 20 20 20 20 cc |=..... .| 00005940 0d 19 28 2b 20 20 20 20 20 20 20 20 20 20 20 c8 |..(+ .| 00005950 99 20 22 54 72 61 63 6b 65 72 5f 50 61 75 73 65 |. "Tracker_Pause| 00005960 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 0d 19 32 2d 20 |",,,,,lock%..2- | 00005970 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 54 72 | .. "Tr| 00005980 61 63 6b 65 72 5f 53 65 74 50 6f 73 22 2c 30 2c |acker_SetPos",0,| 00005990 2c 2c 2c 6c 6f 63 6b 25 0d 19 3c 31 20 20 20 20 |,,,lock%..<1 | 000059a0 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 | .puticons| 000059b0 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 31 |prite(control%,1| 000059c0 2c 22 70 61 75 73 65 22 29 0d 19 46 31 20 20 20 |,"pause")..F1 | 000059d0 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e | .puticon| 000059e0 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c |sprite(control%,| 000059f0 32 2c 22 73 74 6f 70 31 22 29 0d 19 50 30 20 20 |2,"stop1")..P0 | 00005a00 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f | .putico| 00005a10 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 |nsprite(control%| 00005a20 2c 33 2c 22 70 6c 61 79 22 29 0d 19 5a 2b 20 20 |,3,"play")..Z+ | 00005a30 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f | .putico| 00005a40 6e 64 61 74 61 28 63 6f 6e 74 72 6f 6c 25 2c 39 |ndata(control%,9| 00005a50 2c 22 30 22 29 0d 19 64 0e 20 20 20 20 20 20 20 |,"0")..d. | 00005a60 20 20 cd 0d 19 6e 17 c9 20 34 20 3a 20 e7 20 65 | ...n.. 4 : . e| 00005a70 64 69 74 65 64 25 3d b9 20 8c 0d 19 78 44 20 20 |dited%=. ...xD | 00005a80 20 20 20 20 20 20 20 20 e7 20 a4 6f 6b 28 22 46 | . .ok("F| 00005a90 69 6c 65 28 73 29 20 65 64 69 74 65 64 20 62 75 |ile(s) edited bu| 00005aa0 74 20 6e 6f 74 20 73 61 76 65 64 2e 20 52 65 61 |t not saved. Rea| 00005ab0 6c 6c 79 20 71 75 69 74 20 3f 22 29 20 8c 0d 19 |lly quit ?") ...| 00005ac0 82 16 20 20 20 20 20 20 20 20 20 20 20 71 75 69 |.. qui| 00005ad0 74 25 3d b9 0d 19 8c 0f 20 20 20 20 20 20 20 20 |t%=..... | 00005ae0 20 20 cc 0d 19 96 16 20 20 20 20 20 20 20 20 20 | ..... | 00005af0 20 20 71 75 69 74 25 3d a3 0d 19 a0 0f 20 20 20 | quit%=..... | 00005b00 20 20 20 20 20 20 20 cd 0d 19 aa 0e 20 20 20 20 | ..... | 00005b10 20 20 20 20 20 cc 0d 19 b4 1b 20 20 20 20 20 20 | ..... | 00005b20 20 20 20 20 e7 20 65 64 69 74 65 64 25 3d a3 20 | . edited%=. | 00005b30 8c 0d 19 be 16 20 20 20 20 20 20 20 20 20 20 20 |..... | 00005b40 71 75 69 74 25 3d b9 0d 19 c8 0f 20 20 20 20 20 |quit%=..... | 00005b50 20 20 20 20 20 cd 0d 19 d2 0e 20 20 20 20 20 20 | ..... | 00005b60 20 20 20 cd 0d 19 dc 05 cb 0d 19 e6 3a e7 20 6a | .........:. j| 00005b70 25 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 |% .. "Wimp_Creat| 00005b80 65 4d 65 6e 75 22 2c 2c 6d 65 6e 75 25 2c 70 6f |eMenu",,menu%,po| 00005b90 69 6e 74 65 72 25 21 30 2c 70 6f 69 6e 74 65 72 |inter%!0,pointer| 00005ba0 25 21 34 0d 19 f0 05 cb 0d 19 fa 05 e1 0d 1a 04 |%!4.............| 00005bb0 04 0d 1a 0e 1d dd 20 f2 6f 70 65 6e 75 70 28 68 |...... .openup(h| 00005bc0 61 6e 64 6c 65 2c 78 2c 79 2c 77 2c 68 29 0d 1a |andle,x,y,w,h)..| 00005bd0 18 15 70 6f 69 6e 74 65 72 25 21 30 3d 68 61 6e |..pointer%!0=han| 00005be0 64 6c 65 0d 1a 22 1f 70 6f 69 6e 74 65 72 25 21 |dle..".pointer%!| 00005bf0 34 3d 78 3a 70 6f 69 6e 74 65 72 25 21 38 3d 79 |4=x:pointer%!8=y| 00005c00 2d 68 0d 1a 2c 21 70 6f 69 6e 74 65 72 25 21 31 |-h..,!pointer%!1| 00005c10 32 3d 78 2b 77 3a 70 6f 69 6e 74 65 72 25 21 31 |2=x+w:pointer%!1| 00005c20 36 3d 79 0d 1a 36 1f 70 6f 69 6e 74 65 72 25 21 |6=y..6.pointer%!| 00005c30 32 30 3d 30 3a 70 6f 69 6e 74 65 72 25 21 32 34 |20=0:pointer%!24| 00005c40 3d 30 0d 1a 40 12 70 6f 69 6e 74 65 72 25 21 32 |=0..@.pointer%!2| 00005c50 38 3d 2d 31 0d 1a 4a 22 c8 99 20 22 57 69 6d 70 |8=-1..J".. "Wimp| 00005c60 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 70 6f |_OpenWindow",,po| 00005c70 69 6e 74 65 72 25 0d 1a 54 05 e1 0d 1a 5e 04 0d |inter%..T....^..| 00005c80 1a 68 1f dd 20 f2 6f 70 65 6e 62 61 63 6b 28 68 |.h.. .openback(h| 00005c90 61 6e 64 6c 65 2c 78 2c 79 2c 77 2c 68 29 0d 1a |andle,x,y,w,h)..| 00005ca0 72 15 70 6f 69 6e 74 65 72 25 21 30 3d 68 61 6e |r.pointer%!0=han| 00005cb0 64 6c 65 0d 1a 7c 1f 70 6f 69 6e 74 65 72 25 21 |dle..|.pointer%!| 00005cc0 34 3d 78 3a 70 6f 69 6e 74 65 72 25 21 38 3d 79 |4=x:pointer%!8=y| 00005cd0 2d 68 0d 1a 86 21 70 6f 69 6e 74 65 72 25 21 31 |-h...!pointer%!1| 00005ce0 32 3d 78 2b 77 3a 70 6f 69 6e 74 65 72 25 21 31 |2=x+w:pointer%!1| 00005cf0 36 3d 79 0d 1a 90 1f 70 6f 69 6e 74 65 72 25 21 |6=y....pointer%!| 00005d00 32 30 3d 30 3a 70 6f 69 6e 74 65 72 25 21 32 34 |20=0:pointer%!24| 00005d10 3d 30 0d 1a 9a 12 70 6f 69 6e 74 65 72 25 21 32 |=0....pointer%!2| 00005d20 38 3d 2d 32 0d 1a a4 22 c8 99 20 22 57 69 6d 70 |8=-2...".. "Wimp| 00005d30 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 70 6f |_OpenWindow",,po| 00005d40 69 6e 74 65 72 25 0d 1a ae 05 e1 0d 1a b8 04 0d |inter%..........| 00005d50 1a c2 0f dd 20 f2 73 6c 61 62 69 63 6f 6e 0d 1a |.... .slabicon..| 00005d60 cc 2e c8 99 20 22 49 6e 74 65 72 66 61 63 65 5f |.... "Interface_| 00005d70 53 6c 61 62 42 75 74 74 6f 6e 22 2c 2c 71 25 3a |SlabButton",,q%:| 00005d80 f4 20 53 6c 61 62 20 69 6e 2e 2e 2e 0d 1a d6 0a |. Slab in.......| 00005d90 71 25 21 38 3d 30 0d 1a e0 2e c8 99 20 22 49 6e |q%!8=0...... "In| 00005da0 74 65 72 66 61 63 65 5f 53 6c 61 62 42 75 74 74 |terface_SlabButt| 00005db0 6f 6e 22 2c 2c 71 25 3a f4 20 2e 2e 2e 61 6e 64 |on",,q%:. ...and| 00005dc0 20 6f 75 74 0d 1a ea 05 e1 0d 1a f4 04 0d 1a fe | out............| 00005dd0 0f dd 20 f2 73 68 75 74 28 68 25 29 0d 1b 08 31 |.. .shut(h%)...1| 00005de0 70 6f 69 6e 74 65 72 25 21 30 3d 68 25 3a c8 99 |pointer%!0=h%:..| 00005df0 20 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 | "Wimp_CloseWind| 00005e00 6f 77 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 1b 12 |ow",,pointer%...| 00005e10 05 e1 0d 1b 1c 04 0d 1b 26 0f dd 20 f2 73 65 6e |........&.. .sen| 00005e20 64 68 65 6c 70 0d 1b 30 25 71 25 21 31 32 3d 71 |dhelp..0%q%!12=q| 00005e30 25 21 38 3a 71 25 21 31 36 3d 26 35 30 33 3a 68 |%!8:q%!16=&503:h| 00005e40 65 6c 70 25 3d 71 25 2b 32 30 0d 1b 3a 3a 68 65 |elp%=q%+20..::he| 00005e50 6c 70 25 3d a4 68 65 6c 70 28 71 25 21 33 32 2c |lp%=.help(q%!32,| 00005e60 71 25 21 33 36 2c 71 25 21 32 30 2c 71 25 21 32 |q%!36,q%!20,q%!2| 00005e70 34 2c 68 65 6c 70 25 29 3a e7 20 68 65 6c 70 25 |4,help%):. help%| 00005e80 3d 30 20 e1 0d 1b 44 2b 3f 68 65 6c 70 25 3d 30 |=0 ...D+?help%=0| 00005e90 3a f4 20 4e 6f 2c 20 73 6f 20 73 65 6e 64 20 61 |:. No, so send a| 00005ea0 70 70 6c 69 63 61 74 69 6f 6e 20 68 65 6c 70 0d |pplication help.| 00005eb0 1b 4e 2a 21 71 25 3d 28 68 65 6c 70 25 2b 34 2d |.N*!q%=(help%+4-| 00005ec0 71 25 29 80 ac 33 3a f4 20 53 65 74 75 70 20 68 |q%)..3:. Setup h| 00005ed0 65 6c 70 20 62 6c 6f 63 6b 0d 1b 58 32 c8 99 20 |elp block..X2.. | 00005ee0 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 |"Wimp_SendMessag| 00005ef0 65 22 2c 31 37 2c 71 25 2c 71 25 21 34 3a f4 20 |e",17,q%,q%!4:. | 00005f00 61 6e 64 20 73 65 6e 64 20 69 74 0d 1b 62 05 e1 |and send it..b..| 00005f10 0d 1b 6c 04 0d 1b 76 24 dd 20 a4 68 65 6c 70 28 |..l...v$. .help(| 00005f20 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 78 25 |window%,icon%,x%| 00005f30 2c 79 25 2c 74 6f 25 29 0d 1b 80 0b 24 74 6f 25 |,y%,to%)....$to%| 00005f40 3d 22 22 0d 1b 8a 10 c8 8e 20 77 69 6e 64 6f 77 |=""...... window| 00005f50 25 20 ca 0d 1b 94 17 20 c9 20 2d 32 20 3a 20 f4 |% ..... . -2 : .| 00005f60 20 69 63 6f 6e 62 61 72 20 3f 0d 1b 9e 0f 20 c8 | iconbar ?.... .| 00005f70 8e 20 69 63 6f 6e 25 20 ca 0d 1b a8 1b 20 20 c9 |. icon% ..... .| 00005f80 20 69 63 6f 6e 25 20 3a 20 f4 20 6d 79 20 69 63 | icon% : . my ic| 00005f90 6f 6e 20 3f 0d 1b b2 50 20 20 24 74 6f 25 3d 22 |on ?...P $to%="| 00005fa0 54 68 69 73 20 69 73 20 74 68 65 20 50 6c 61 79 |This is the Play| 00005fb0 54 72 61 63 6b 20 69 63 6f 6e 2e 7c 4d 44 72 61 |Track icon.|MDra| 00005fc0 67 20 54 72 61 63 6b 65 72 20 74 75 6e 65 73 20 |g Tracker tunes | 00005fd0 74 6f 20 69 74 20 74 6f 20 70 6c 61 79 20 74 68 |to it to play th| 00005fe0 65 6d 2e 22 0d 1b bc 06 20 cb 0d 1b c6 22 20 c9 |em.".... ...." .| 00005ff0 20 69 6e 66 6f 77 69 6e 64 25 20 3a 20 f4 20 69 | infowind% : . i| 00006000 6e 66 6f 20 77 69 6e 64 6f 77 20 3f 0d 1b d0 0f |nfo window ?....| 00006010 20 c8 8e 20 69 63 6f 6e 25 20 ca 0d 1b da 40 20 | .. icon% ....@ | 00006020 20 c9 20 2d 31 2c 30 2c 31 2c 32 2c 33 2c 34 2c | . -1,0,1,2,3,4,| 00006030 35 2c 36 2c 37 2c 38 20 3a 20 f4 20 6e 6f 74 20 |5,6,7,8 : . not | 00006040 6f 76 65 72 20 27 43 6c 69 63 6b 20 68 65 72 65 |over 'Click here| 00006050 2e 2e 2e 27 20 69 63 6f 6e 20 3f 0d 1b e4 4c 20 |...' icon ?...L | 00006060 20 24 74 6f 25 3d 22 54 68 69 73 20 69 73 20 74 | $to%="This is t| 00006070 68 65 20 49 6e 66 6f 20 77 69 6e 64 6f 77 2e 7c |he Info window.|| 00006080 4d 49 74 20 70 72 6f 76 69 64 65 73 20 69 6e 66 |MIt provides inf| 00006090 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 50 6c 61 79 |ormation on Play| 000060a0 54 72 61 63 6b 2e 22 0d 1b ee 3e 20 20 7f 20 3a |Track."...> . :| 000060b0 20 c8 99 20 22 49 6e 74 65 72 66 61 63 65 5f 53 | .. "Interface_S| 000060c0 65 6e 64 48 65 6c 70 22 2c 2c 71 25 3a 3d 30 3a |endHelp",,q%:=0:| 000060d0 f4 20 53 65 6e 64 20 49 6e 74 65 72 66 61 63 65 |. Send Interface| 000060e0 20 68 65 6c 70 0d 1b f8 06 20 cb 0d 1c 02 26 20 | help.... ....& | 000060f0 c9 20 73 61 76 65 61 73 25 20 3a 20 f4 20 27 53 |. saveas% : . 'S| 00006100 61 76 65 20 61 73 3a 27 20 77 69 6e 64 6f 77 20 |ave as:' window | 00006110 3f 0d 1c 0c 0f 20 c8 8e 20 69 63 6f 6e 25 20 ca |?.... .. icon% .| 00006120 0d 1c 16 1f 20 20 c9 20 2d 31 20 3a 20 f4 20 6f |.... . -1 : . o| 00006130 76 65 72 20 77 6f 72 6b 20 61 72 65 61 20 3f 0d |ver work area ?.| 00006140 1c 20 43 20 20 24 74 6f 25 3d 22 54 68 69 73 20 |. C $to%="This | 00006150 69 73 20 74 68 65 20 27 53 61 76 65 27 20 77 69 |is the 'Save' wi| 00006160 6e 64 6f 77 2e 7c 4d 49 74 20 69 73 20 75 73 65 |ndow.|MIt is use| 00006170 64 20 74 6f 20 73 61 76 65 20 61 20 66 69 6c 65 |d to save a file| 00006180 2e 22 0d 1c 2a 3e 20 20 7f 20 3a 20 c8 99 20 22 |."..*> . : .. "| 00006190 49 6e 74 65 72 66 61 63 65 5f 53 65 6e 64 48 65 |Interface_SendHe| 000061a0 6c 70 22 2c 2c 71 25 3a 3d 30 3a f4 20 53 65 6e |lp",,q%:=0:. Sen| 000061b0 64 20 49 6e 74 65 72 66 61 63 65 20 68 65 6c 70 |d Interface help| 000061c0 0d 1c 34 06 20 cb 0d 1c 3e 05 cb 0d 1c 48 10 3d |..4. ...>....H.=| 000061d0 74 6f 25 2b a9 28 24 74 6f 25 29 0d 1c 52 04 0d |to%+.($to%)..R..| 000061e0 1c 5c 21 dd 20 a4 67 65 74 69 63 6f 6e 64 61 74 |.\!. .geticondat| 000061f0 61 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 |a(window%,icon%)| 00006200 0d 1c 66 16 70 6f 69 6e 74 65 72 25 21 30 3d 77 |..f.pointer%!0=w| 00006210 69 6e 64 6f 77 25 0d 1c 70 14 70 6f 69 6e 74 65 |indow%..p.pointe| 00006220 72 25 21 34 3d 69 63 6f 6e 25 0d 1c 7a 24 c8 99 |r%!4=icon%..z$..| 00006230 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 | "Wimp_GetIconSt| 00006240 61 74 65 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 1c |ate",,pointer%..| 00006250 84 13 3d 24 28 70 6f 69 6e 74 65 72 25 21 32 38 |..=$(pointer%!28| 00006260 29 0d 1c 8e 04 0d 1c 98 24 dd 20 f2 70 75 74 69 |).......$. .puti| 00006270 63 6f 6e 64 61 74 61 28 77 69 6e 64 6f 77 25 2c |condata(window%,| 00006280 69 63 6f 6e 25 2c 74 24 29 0d 1c a2 27 70 6f 69 |icon%,t$)...'poi| 00006290 6e 74 65 72 25 21 30 3d 77 69 6e 64 6f 77 25 3a |nter%!0=window%:| 000062a0 70 6f 69 6e 74 65 72 25 21 34 3d 69 63 6f 6e 25 |pointer%!4=icon%| 000062b0 0d 1c ac 24 c8 99 20 22 57 69 6d 70 5f 47 65 74 |...$.. "Wimp_Get| 000062c0 49 63 6f 6e 53 74 61 74 65 22 2c 2c 70 6f 69 6e |IconState",,poin| 000062d0 74 65 72 25 0d 1c b6 15 24 28 70 6f 69 6e 74 65 |ter%....$(pointe| 000062e0 72 25 21 32 38 29 3d 74 24 0d 1c c0 1e 70 6f 69 |r%!28)=t$....poi| 000062f0 6e 74 65 72 25 21 31 32 3d 30 3a 70 6f 69 6e 74 |nter%!12=0:point| 00006300 65 72 25 21 38 3d 30 0d 1c ca 24 c8 99 20 22 57 |er%!8=0...$.. "W| 00006310 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 |imp_SetIconState| 00006320 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 1c d4 05 e1 |",,pointer%.....| 00006330 0d 1c de 04 0d 1c e8 26 dd 20 f2 70 75 74 69 63 |.......&. .putic| 00006340 6f 6e 73 70 72 69 74 65 28 77 69 6e 64 6f 77 25 |onsprite(window%| 00006350 2c 69 63 6f 6e 25 2c 74 24 29 0d 1c f2 27 70 6f |,icon%,t$)...'po| 00006360 69 6e 74 65 72 25 21 30 3d 77 69 6e 64 6f 77 25 |inter%!0=window%| 00006370 3a 70 6f 69 6e 74 65 72 25 21 34 3d 69 63 6f 6e |:pointer%!4=icon| 00006380 25 0d 1c fc 24 c8 99 20 22 57 69 6d 70 5f 47 65 |%...$.. "Wimp_Ge| 00006390 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 70 6f 69 |tIconState",,poi| 000063a0 6e 74 65 72 25 0d 1d 06 22 c8 99 20 22 57 69 6d |nter%...".. "Wim| 000063b0 70 5f 44 65 6c 65 74 65 49 63 6f 6e 22 2c 2c 70 |p_DeleteIcon",,p| 000063c0 6f 69 6e 74 65 72 25 0d 1d 10 28 70 6f 69 6e 74 |ointer%...(point| 000063d0 65 72 25 21 34 3d 77 69 6e 64 6f 77 25 3a 24 28 |er%!4=window%:$(| 000063e0 70 6f 69 6e 74 65 72 25 2b 32 38 29 3d 74 24 0d |pointer%+28)=t$.| 000063f0 1d 1a 2e 70 6f 69 6e 74 65 72 25 2b 3d 34 3a c8 |...pointer%+=4:.| 00006400 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 |. "Wimp_CreateIc| 00006410 6f 6e 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 1d 24 |on",,pointer%..$| 00006420 52 c8 99 20 22 57 69 6d 70 5f 46 6f 72 63 65 52 |R.. "Wimp_ForceR| 00006430 65 64 72 61 77 22 2c 70 6f 69 6e 74 65 72 25 21 |edraw",pointer%!| 00006440 30 2c 70 6f 69 6e 74 65 72 25 21 34 2c 70 6f 69 |0,pointer%!4,poi| 00006450 6e 74 65 72 25 21 38 2c 70 6f 69 6e 74 65 72 25 |nter%!8,pointer%| 00006460 21 31 32 2c 70 6f 69 6e 74 65 72 25 21 31 36 0d |!12,pointer%!16.| 00006470 1d 2e 0f 70 6f 69 6e 74 65 72 25 2d 3d 34 0d 1d |...pointer%-=4..| 00006480 38 05 e1 0d 1d 42 04 0d 1d 4c 14 dd 20 f2 74 65 |8....B...L.. .te| 00006490 6c 6c 65 6d 6f 66 66 28 65 24 29 0d 1d 56 10 65 |llemoff(e$)..V.e| 000064a0 72 25 3d 70 6f 69 6e 74 65 72 25 0d 1d 60 0a 21 |r%=pointer%..`.!| 000064b0 65 72 25 3d 30 0d 1d 6a 12 24 28 65 72 25 2b 34 |er%=0..j.$(er%+4| 000064c0 29 3d 65 24 2b bd 30 0d 1d 74 2b c8 99 20 22 57 |)=e$+.0..t+.. "W| 000064d0 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 |imp_ReportError"| 000064e0 2c 65 72 25 2c 31 2c 22 50 6c 61 79 54 72 61 63 |,er%,1,"PlayTrac| 000064f0 6b 22 0d 1d 7e 05 e1 0d 1d 88 04 0d 1d 92 33 dd |k"..~.........3.| 00006500 20 a4 72 74 6f 7a 28 54 25 29 3a ea 20 71 24 3a | .rtoz(T%):. q$:| 00006510 c8 95 20 3f 54 25 3c 3e 30 3a 71 24 2b 3d bd 3f |.. ?T%<>0:q$+=.?| 00006520 54 25 3a 54 25 2b 3d 31 3a ce 3a 3d 71 24 0d 1d |T%:T%+=1:.:=q$..| 00006530 9c 04 0d 1d a6 09 dd 20 f2 70 71 0d 1d b0 0f e7 |....... .pq.....| 00006540 20 65 64 69 74 65 64 25 20 8c 0d 1d ba 43 e7 20 | edited% ....C. | 00006550 ac 20 a4 6f 6b 28 22 46 69 6c 65 28 73 29 20 65 |. .ok("File(s) e| 00006560 64 69 74 65 64 20 62 75 74 20 6e 6f 74 20 73 61 |dited but not sa| 00006570 76 65 64 2e 20 52 65 61 6c 6c 79 20 71 75 69 74 |ved. Really quit| 00006580 20 3f 22 29 3a f2 6e 6f 5f 71 75 69 74 0d 1d c4 | ?"):.no_quit...| 00006590 05 cd 0d 1d ce 05 e1 0d 1d d8 04 0d 1d e2 0d dd |................| 000065a0 20 a4 6f 6b 28 65 24 29 0d 1d ec 10 65 72 25 3d | .ok(e$)....er%=| 000065b0 70 6f 69 6e 74 65 72 25 0d 1d f6 0a 21 65 72 25 |pointer%....!er%| 000065c0 3d 30 0d 1e 00 12 24 28 65 72 25 2b 34 29 3d 65 |=0....$(er%+4)=e| 000065d0 24 2b bd 30 0d 1e 0a 41 c8 99 20 22 57 69 6d 70 |$+.0...A.. "Wimp| 000065e0 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 2c 65 72 |_ReportError",er| 000065f0 25 2c 26 31 37 2c 22 4d 65 73 73 61 67 65 20 66 |%,&17,"Message f| 00006600 72 6f 6d 20 21 50 6c 61 79 54 72 61 63 6b 22 20 |rom !PlayTrack" | 00006610 b8 20 2c 62 25 0d 1e 14 0b 3d 28 62 25 3d 31 29 |. ,b%....=(b%=1)| 00006620 0d 1e 1e 04 0d 1e 28 0e dd 20 f2 6e 6f 5f 71 75 |......(.. .no_qu| 00006630 69 74 0d 1e 32 39 71 25 21 31 32 3d 71 25 21 38 |it..29q%!12=q%!8| 00006640 3a 71 25 21 31 36 3d 38 3a c8 99 20 22 57 69 6d |:q%!16=8:.. "Wim| 00006650 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 |p_SendMessage",1| 00006660 37 2c 71 25 2c 71 25 21 34 3a e1 0d 1e 3c 04 0d |7,q%,q%!4:...<..| 00006670 1e 46 0e dd 20 f2 64 72 61 67 65 6e 64 0d 1e 50 |.F.. .dragend..P| 00006680 0f 64 25 3d 70 6f 69 6e 74 65 72 25 0d 1e 5a 20 |.d%=pointer%..Z | 00006690 c8 99 20 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e |.. "Wimp_GetPoin| 000066a0 74 65 72 49 6e 66 6f 22 2c 2c 64 25 0d 1e 64 2b |terInfo",,d%..d+| 000066b0 64 25 21 33 32 3d 64 25 21 34 20 20 20 20 20 20 |d%!32=d%!4 | 000066c0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 74 | :tt| 000066d0 25 3d 64 25 21 33 32 0d 1e 6e 2b 64 25 21 32 38 |%=d%!32..n+d%!28| 000066e0 3d 21 64 25 20 20 20 20 20 20 20 20 20 20 20 20 |=!d% | 000066f0 20 20 20 20 20 20 20 20 3a 74 65 25 3d 64 25 21 | :te%=d%!| 00006700 32 38 0d 1e 78 2b 64 25 21 32 34 3d 64 25 21 31 |28..x+d%!24=d%!1| 00006710 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |6 | 00006720 20 20 20 3a 74 66 25 3d 64 25 21 32 34 0d 1e 82 | :tf%=d%!24...| 00006730 2b 64 25 21 32 30 3d 64 25 21 31 32 20 20 20 20 |+d%!20=d%!12 | 00006740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 | :t| 00006750 77 25 3d 64 25 21 32 30 0d 1e 8c 25 64 25 21 31 |w%=d%!20...%d%!1| 00006760 36 3d 31 20 20 20 20 20 3a 64 25 21 31 32 3d 30 |6=1 :d%!12=0| 00006770 20 20 20 20 20 3a 64 25 21 33 36 3d 30 0d 1e 96 | :d%!36=0...| 00006780 29 64 25 21 34 30 3d 30 20 20 20 20 20 3a 21 64 |)d%!40=0 :!d| 00006790 25 3d 36 34 20 20 20 20 20 20 3a 24 28 64 25 2b |%=64 :$(d%+| 000067a0 34 34 29 3d 66 24 0d 1e a0 2b c8 99 20 22 57 69 |44)=f$...+.. "Wi| 000067b0 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c |mp_SendMessage",| 000067c0 31 37 2c 64 25 2c 64 25 21 32 30 2c 64 25 21 32 |17,d%,d%!20,d%!2| 000067d0 34 0d 1e aa 0c 6d 72 25 3d 64 25 21 38 0d 1e b4 |4....mr%=d%!8...| 000067e0 05 e1 0d 1e be 04 0d 1e c8 12 dd 20 a4 6c 61 73 |........... .las| 000067f0 74 62 69 74 28 73 24 29 0d 1e d2 11 c8 95 20 a7 |tbit(s$)...... .| 00006800 73 24 2c 22 3a 22 29 3e 30 0d 1e dc 16 73 24 3d |s$,":")>0....s$=| 00006810 c1 73 24 2c a7 73 24 2c 22 3a 22 29 2b 31 29 0d |.s$,.s$,":")+1).| 00006820 1e e6 05 ce 0d 1e f0 11 c8 95 20 a7 73 24 2c 22 |.......... .s$,"| 00006830 2e 22 29 3e 30 0d 1e fa 16 73 24 3d c1 73 24 2c |.")>0....s$=.s$,| 00006840 a7 73 24 2c 22 2e 22 29 2b 31 29 0d 1f 04 05 ce |.s$,".")+1).....| 00006850 0d 1f 0e 07 3d 73 24 0d 1f 18 04 0d 1f 22 09 dd |....=s$......"..| 00006860 20 f2 64 73 0d 1f 2c 28 f2 70 75 74 69 63 6f 6e | .ds..,(.puticon| 00006870 64 61 74 61 28 73 61 76 65 61 73 25 2c 30 2c a4 |data(saveas%,0,.| 00006880 72 74 6f 7a 28 71 25 2b 34 34 29 29 0d 1f 36 13 |rtoz(q%+44))..6.| 00006890 66 24 3d a4 72 74 6f 7a 28 71 25 2b 34 34 29 0d |f$=.rtoz(q%+44).| 000068a0 1f 40 0d f2 73 64 28 26 46 46 41 29 0d 1f 4a 05 |.@..sd(&FFA)..J.| 000068b0 e1 0d 1f 54 04 0d 1f 5e 15 dd 20 f2 64 72 61 67 |...T...^.. .drag| 000068c0 62 6f 78 28 77 25 2c 69 25 29 0d 1f 68 0f 64 25 |box(w%,i%)..h.d%| 000068d0 3d 70 6f 69 6e 74 65 72 25 0d 1f 72 0a 21 64 25 |=pointer%..r.!d%| 000068e0 3d 77 25 0d 1f 7c 20 c8 99 20 22 57 69 6d 70 5f |=w%..| .. "Wimp_| 000068f0 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c |GetWindowState",| 00006900 2c 64 25 0d 1f 86 22 79 73 25 3d 64 25 21 31 36 |,d%..."ys%=d%!16| 00006910 2d 64 25 21 38 3a 78 25 3d 64 25 21 34 3a 79 25 |-d%!8:x%=d%!4:y%| 00006920 3d 64 25 21 38 0d 1f 90 0b 64 25 21 34 3d 69 25 |=d%!8....d%!4=i%| 00006930 0d 1f 9a 1e c8 99 20 22 57 69 6d 70 5f 47 65 74 |...... "Wimp_Get| 00006940 49 63 6f 6e 53 74 61 74 65 22 2c 2c 64 25 0d 1f |IconState",,d%..| 00006950 a4 13 66 24 3d a4 6c 61 73 74 62 69 74 28 66 24 |..f$=.lastbit(f$| 00006960 29 0d 1f ae 0c 64 25 21 38 2b 3d 78 25 0d 1f b8 |)....d%!8+=x%...| 00006970 11 64 25 21 31 32 2b 3d 79 25 2b 79 73 25 0d 1f |.d%!12+=y%+ys%..| 00006980 c2 0d 64 25 21 31 36 2b 3d 78 25 0d 1f cc 11 64 |..d%!16+=x%....d| 00006990 25 21 32 30 2b 3d 79 25 2b 79 73 25 0d 1f d6 0b |%!20+=y%+ys%....| 000069a0 64 25 21 32 34 3d 30 0d 1f e0 0b 64 25 21 32 38 |d%!24=0....d%!28| 000069b0 3d 30 0d 1f ea 38 c8 99 20 22 4f 53 5f 52 65 61 |=0...8.. "OS_Rea| 000069c0 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 2c eb |dModeVariable",.| 000069d0 2c 34 20 b8 20 2c 2c 68 25 3a 68 25 3d a4 65 78 |,4 . ,,h%:h%=.ex| 000069e0 74 72 61 63 74 68 28 68 25 29 0d 1f f4 38 c8 99 |tracth(h%)...8..| 000069f0 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 | "OS_ReadModeVar| 00006a00 69 61 62 6c 65 22 2c eb 2c 35 20 b8 20 2c 2c 76 |iable",.,5 . ,,v| 00006a10 25 3a 76 25 3d a4 65 78 74 72 61 63 74 76 28 76 |%:v%=.extractv(v| 00006a20 25 29 0d 1f fe 10 64 25 21 33 32 3d 28 68 25 2a |%)....d%!32=(h%*| 00006a30 32 29 0d 20 08 10 64 25 21 33 36 3d 28 76 25 2a |2). ..d%!36=(v%*| 00006a40 34 29 0d 20 12 09 21 64 25 3d 30 0d 20 1c 0a 64 |4). ..!d%=0. ..d| 00006a50 25 21 34 3d 35 0d 20 26 19 c8 99 20 22 57 69 6d |%!4=5. &... "Wim| 00006a60 70 5f 44 72 61 67 42 6f 78 22 2c 2c 64 25 0d 20 |p_DragBox",,d%. | 00006a70 30 05 e1 0d 20 3a 04 0d 20 44 10 dd 20 f2 71 75 |0... :.. D.. .qu| 00006a80 69 63 6b 73 61 76 65 0d 20 4e 1f e7 20 a7 66 24 |icksave. N.. .f$| 00006a90 2c 22 3a 22 29 3c 31 20 80 20 a7 66 24 2c 22 2e |,":")<1 . .f$,".| 00006aa0 22 29 3c 31 20 8c 0d 20 58 3a f2 74 65 6c 6c 65 |")<1 .. X:.telle| 00006ab0 6d 6f 66 66 28 22 54 6f 20 73 61 76 65 2c 20 64 |moff("To save, d| 00006ac0 72 61 67 20 69 63 6f 6e 20 74 6f 20 61 20 64 69 |rag icon to a di| 00006ad0 72 65 63 74 6f 72 79 20 76 69 65 77 65 72 22 29 |rectory viewer")| 00006ae0 0d 20 62 05 cc 0d 20 6c 0d f2 73 64 28 26 46 46 |. b... l..sd(&FF| 00006af0 41 29 0d 20 76 05 cd 0d 20 80 05 e1 0d 20 8a 04 |A). v... .... ..| 00006b00 0d 20 94 0d dd 20 f2 73 64 28 74 25 29 0d 20 9e |. ... .sd(t%). .| 00006b10 10 f2 73 61 76 65 5f 72 6d 28 66 24 29 0d 20 a8 |..save_rm(f$). .| 00006b20 0f 64 25 3d 70 6f 69 6e 74 65 72 25 0d 20 b2 0a |.d%=pointer%. ..| 00006b30 21 64 25 3d 36 34 0d 20 bc 0d 64 25 21 32 30 3d |!d%=64. ..d%!20=| 00006b40 74 77 25 0d 20 c6 0d 64 25 21 32 34 3d 74 66 25 |tw%. ..d%!24=tf%| 00006b50 0d 20 d0 0d 64 25 21 32 38 3d 74 65 25 0d 20 da |. ..d%!28=te%. .| 00006b60 0d 64 25 21 33 32 3d 74 74 25 0d 20 e4 0d 64 25 |.d%!32=tt%. ..d%| 00006b70 21 31 32 3d 79 72 25 0d 20 ee 0b 64 25 21 31 36 |!12=yr%. ..d%!16| 00006b80 3d 33 0d 20 f8 0b 64 25 21 33 36 3d 30 0d 21 02 |=3. ..d%!36=0.!.| 00006b90 0c 64 25 21 34 30 3d 74 25 0d 21 0c 0f 24 28 64 |.d%!40=t%.!..$(d| 00006ba0 25 2b 34 34 29 3d 66 24 0d 21 16 25 c8 99 20 22 |%+44)=f$.!.%.. "| 00006bb0 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 |Wimp_SendMessage| 00006bc0 22 2c 31 37 2c 64 25 2c 64 25 21 32 30 0d 21 20 |",17,d%,d%!20.! | 00006bd0 19 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 31 38 |... "OS_File",18| 00006be0 2c 66 24 2c 74 25 0d 21 2a 1c c8 99 20 22 57 69 |,f$,t%.!*... "Wi| 00006bf0 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |mp_CreateMenu",,| 00006c00 2d 31 0d 21 34 05 e1 0d 21 3e 04 0d 21 48 13 dd |-1.!4...!>..!H..| 00006c10 20 a4 65 78 74 72 61 63 74 68 28 61 25 29 0d 21 | .extracth(a%).!| 00006c20 52 0b c8 8e 20 61 25 20 ca 0d 21 5c 10 20 c9 20 |R... a% ..!\. . | 00006c30 30 20 3a 20 3d 31 32 38 30 0d 21 66 0f 20 c9 20 |0 : =1280.!f. . | 00006c40 31 20 3a 20 3d 36 34 30 0d 21 70 0f 20 c9 20 32 |1 : =640.!p. . 2| 00006c50 20 3a 20 3d 33 32 30 0d 21 7a 0f 20 c9 20 33 20 | : =320.!z. . 3 | 00006c60 3a 20 3d 31 36 30 0d 21 84 05 cb 0d 21 8e 04 0d |: =160.!....!...| 00006c70 21 98 13 dd 20 a4 65 78 74 72 61 63 74 76 28 61 |!... .extractv(a| 00006c80 25 29 0d 21 a2 0b c8 8e 20 61 25 20 ca 0d 21 ac |%).!.... a% ..!.| 00006c90 0f 20 c9 20 31 20 3a 20 3d 35 31 32 0d 21 b6 0f |. . 1 : =512.!..| 00006ca0 20 c9 20 32 20 3a 20 3d 32 35 36 0d 21 c0 05 cb | . 2 : =256.!...| 00006cb0 0d 21 ca 04 0d 21 d4 2d dd 20 f2 74 6f 67 67 6c |.!...!.-. .toggl| 00006cc0 65 6f 70 74 73 28 66 6c 61 67 2c 77 25 2c 69 25 |eopts(flag,w%,i%| 00006cd0 29 3a 77 69 6e 25 3d 77 25 3a 69 63 6e 25 3d 69 |):win%=w%:icn%=i| 00006ce0 25 0d 21 de 24 f2 70 75 74 69 63 6f 6e 73 70 72 |%.!.$.puticonspr| 00006cf0 69 74 65 28 77 25 2c 69 25 2c 22 73 65 6c 63 6c |ite(w%,i%,"selcl| 00006d00 69 63 6b 22 29 0d 21 e8 0d c8 8e 20 66 6c 61 67 |ick").!.... flag| 00006d10 20 ca 0d 21 f2 1f 20 c9 20 b9 20 20 3a 20 6e 65 | ..!.. . . : ne| 00006d20 77 69 63 6e 25 3d b9 3a 74 79 70 65 3d 66 6c 61 |wicn%=.:type=fla| 00006d30 67 0d 21 fc 1e 20 c9 20 a3 20 3a 20 6e 65 77 69 |g.!.. . . : newi| 00006d40 63 6e 25 3d b9 3a 74 79 70 65 3d 66 6c 61 67 0d |cn%=.:type=flag.| 00006d50 22 06 05 cb 0d 22 10 05 e1 0d 22 1a 04 0d 22 24 |"...."...."..."$| 00006d60 22 dd 20 f2 74 6f 67 67 6c 65 72 61 64 69 6f 28 |". .toggleradio(| 00006d70 66 6c 61 67 2c 77 25 2c 69 25 2c 69 32 25 29 0d |flag,w%,i%,i2%).| 00006d80 22 2e 0d c8 8e 20 66 6c 61 67 20 ca 0d 22 38 29 |".... flag .."8)| 00006d90 20 c9 20 b9 20 20 3a 20 f2 70 75 74 69 63 6f 6e | . . : .puticon| 00006da0 73 70 72 69 74 65 28 77 25 2c 69 25 2c 22 72 61 |sprite(w%,i%,"ra| 00006db0 64 6f 6e 22 29 0d 22 42 31 20 20 20 20 20 20 20 |don")."B1 | 00006dc0 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 | .puticons| 00006dd0 70 72 69 74 65 28 77 25 2c 69 32 25 2c 22 72 61 |prite(w%,i2%,"ra| 00006de0 64 6f 66 66 22 29 0d 22 4c 29 20 c9 20 a3 20 3a |doff")."L) . . :| 00006df0 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 | .puticonsprite(| 00006e00 77 25 2c 69 25 2c 22 72 61 64 6f 66 66 22 29 0d |w%,i%,"radoff").| 00006e10 22 56 30 20 20 20 20 20 20 20 20 20 20 20 20 20 |"V0 | 00006e20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 | .puticonsprite(| 00006e30 77 25 2c 69 32 25 2c 22 72 61 64 6f 6e 22 29 0d |w%,i2%,"radon").| 00006e40 22 60 05 cb 0d 22 6a 05 e1 0d 22 74 04 0d 22 7e |"`..."j..."t.."~| 00006e50 20 dd 20 f2 68 61 63 6b 66 6c 61 67 73 28 77 25 | . .hackflags(w%| 00006e60 2c 69 25 2c 65 6f 72 25 2c 6f 72 25 29 0d 22 88 |,i%,eor%,or%).".| 00006e70 1f 70 6f 69 6e 74 65 72 25 21 30 3d 77 25 3a 70 |.pointer%!0=w%:p| 00006e80 6f 69 6e 74 65 72 25 21 34 3d 69 25 0d 22 92 23 |ointer%!4=i%.".#| 00006e90 70 6f 69 6e 74 65 72 25 21 38 3d 65 6f 72 25 3a |pointer%!8=eor%:| 00006ea0 70 6f 69 6e 74 65 72 25 21 31 32 3d 6f 72 25 0d |pointer%!12=or%.| 00006eb0 22 9c 24 c8 99 20 22 57 69 6d 70 5f 53 65 74 49 |".$.. "Wimp_SetI| 00006ec0 63 6f 6e 53 74 61 74 65 22 2c 2c 70 6f 69 6e 74 |conState",,point| 00006ed0 65 72 25 0d 22 a6 05 e1 0d 22 b0 04 0d 22 ba 14 |er%."...."..."..| 00006ee0 dd 20 f2 65 6e 61 62 6c 65 28 77 25 2c 69 25 29 |. .enable(w%,i%)| 00006ef0 0d 22 c4 1f f2 68 61 63 6b 66 6c 61 67 73 28 77 |."...hackflags(w| 00006f00 25 2c 69 25 2c 30 2c 26 34 30 30 30 30 30 29 0d |%,i%,0,&400000).| 00006f10 22 ce 05 e1 0d 22 d8 04 0d 22 e2 15 dd 20 f2 64 |"...."..."... .d| 00006f20 69 73 61 62 6c 65 28 77 25 2c 69 25 29 0d 22 ec |isable(w%,i%).".| 00006f30 25 f2 68 61 63 6b 66 6c 61 67 73 28 77 25 2c 69 |%.hackflags(w%,i| 00006f40 25 2c 26 34 30 30 30 30 30 2c 26 34 30 30 30 30 |%,&400000,&40000| 00006f50 30 29 0d 22 f6 05 e1 0d 23 00 04 0d 23 0a 14 dd |0)."....#...#...| 00006f60 20 f2 73 65 6c 65 63 74 28 77 25 2c 69 25 29 0d | .select(w%,i%).| 00006f70 23 14 25 f2 68 61 63 6b 66 6c 61 67 73 28 77 25 |#.%.hackflags(w%| 00006f80 2c 69 25 2c 26 32 30 30 30 30 30 2c 26 32 30 30 |,i%,&200000,&200| 00006f90 30 30 30 29 0d 23 1e 05 e1 0d 23 28 04 0d 23 32 |000).#....#(..#2| 00006fa0 16 dd 20 f2 64 65 73 65 6c 65 63 74 28 77 25 2c |.. .deselect(w%,| 00006fb0 69 25 29 0d 23 3c 1f f2 68 61 63 6b 66 6c 61 67 |i%).#<..hackflag| 00006fc0 73 28 77 25 2c 69 25 2c 30 2c 26 32 30 30 30 30 |s(w%,i%,0,&20000| 00006fd0 30 29 0d 23 46 05 e1 0d 23 50 04 0d 23 5a 14 dd |0).#F...#P..#Z..| 00006fe0 20 f2 74 6f 65 64 69 74 28 66 69 6c 65 24 29 0d | .toedit(file$).| 00006ff0 23 64 1c 21 70 6f 69 6e 74 65 72 25 3d 28 34 38 |#d.!pointer%=(48| 00007000 2b a9 66 69 6c 65 24 29 80 ac 33 0d 23 6e 11 70 |+.file$)..3.#n.p| 00007010 6f 69 6e 74 65 72 25 21 31 32 3d 30 0d 23 78 11 |ointer%!12=0.#x.| 00007020 70 6f 69 6e 74 65 72 25 21 31 36 3d 35 0d 23 82 |pointer%!16=5.#.| 00007030 12 70 6f 69 6e 74 65 72 25 21 33 36 3d 2d 32 0d |.pointer%!36=-2.| 00007040 23 8c 14 70 6f 69 6e 74 65 72 25 21 34 30 3d 26 |#..pointer%!40=&| 00007050 46 46 46 0d 23 96 1b 24 28 70 6f 69 6e 74 65 72 |FFF.#..$(pointer| 00007060 25 2b 34 34 29 3d 66 69 6c 65 24 2b bd 30 0d 23 |%+44)=file$+.0.#| 00007070 a0 27 c8 99 20 22 57 69 6d 70 5f 53 65 6e 64 4d |.'.. "Wimp_SendM| 00007080 65 73 73 61 67 65 22 2c 31 38 2c 70 6f 69 6e 74 |essage",18,point| 00007090 65 72 25 2c 30 0d 23 aa 05 e1 0d 23 b4 04 0d 23 |er%,0.#....#...#| 000070a0 be 16 dd 20 f2 74 6f 63 75 72 73 6f 72 28 74 65 |... .tocursor(te| 000070b0 78 74 24 29 0d 23 c8 17 e3 20 6b 65 79 25 3d 31 |xt$).#... key%=1| 000070c0 20 b8 20 a9 28 74 65 78 74 24 29 0d 23 d2 2a c8 | . .(text$).#.*.| 000070d0 99 20 22 57 69 6d 70 5f 50 72 6f 63 65 73 73 4b |. "Wimp_ProcessK| 000070e0 65 79 22 2c 97 28 c1 74 65 78 74 24 2c 6b 65 79 |ey",.(.text$,key| 000070f0 25 2c 31 29 29 0d 23 dc 20 c8 99 20 22 57 69 6d |%,1)).#. .. "Wim| 00007100 70 5f 50 6f 6c 6c 22 2c 2c 71 25 20 b8 20 72 65 |p_Poll",,q% . re| 00007110 61 73 6f 6e 25 0d 23 e6 32 c8 99 20 22 49 6e 74 |ason%.#.2.. "Int| 00007120 65 72 66 61 63 65 5f 50 72 65 50 72 6f 63 65 73 |erface_PreProces| 00007130 73 4b 65 79 22 2c 72 65 61 73 6f 6e 25 2c 71 25 |sKey",reason%,q%| 00007140 2c 74 61 73 6b 68 25 0d 23 f0 27 c8 99 20 22 49 |,taskh%.#.'.. "I| 00007150 6e 74 65 72 66 61 63 65 5f 50 6f 6c 6c 22 2c 72 |nterface_Poll",r| 00007160 65 61 73 6f 6e 25 2c 2c 74 61 73 6b 68 25 0d 23 |eason%,,taskh%.#| 00007170 fa 10 c8 8e 20 72 65 61 73 6f 6e 25 20 ca 0d 24 |.... reason% ..$| 00007180 04 12 20 c9 20 31 20 3a 20 f2 72 65 64 72 61 77 |.. . 1 : .redraw| 00007190 0d 24 0e 23 20 c9 20 32 20 3a 20 c8 99 20 22 57 |.$.# . 2 : .. "W| 000071a0 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c |imp_OpenWindow",| 000071b0 2c 71 25 0d 24 18 24 20 c9 20 33 20 3a 20 c8 99 |,q%.$.$ . 3 : ..| 000071c0 20 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 | "Wimp_CloseWind| 000071d0 6f 77 22 2c 2c 71 25 0d 24 22 16 20 c9 20 36 20 |ow",,q%.$". . 6 | 000071e0 3a 20 f2 63 68 65 63 6b 6d 6f 75 73 65 0d 24 2c |: .checkmouse.$,| 000071f0 23 20 c9 20 37 20 3a 20 66 24 3d a4 6c 61 73 74 |# . 7 : f$=.last| 00007200 62 69 74 28 66 24 29 3a f2 64 72 61 67 65 6e 64 |bit(f$):.dragend| 00007210 0d 24 36 18 20 c9 20 39 20 3a 20 f2 70 72 6f 63 |.$6. . 9 : .proc| 00007220 65 73 73 5f 6d 65 6e 75 0d 24 40 17 20 c9 20 31 |ess_menu.$@. . 1| 00007230 37 2c 31 38 20 3a 20 f2 6d 65 73 73 61 67 65 0d |7,18 : .message.| 00007240 24 4a 05 cb 0d 24 54 05 ed 0d 24 5e 05 e1 0d 24 |$J...$T...$^...$| 00007250 68 04 0d 24 72 16 dd 20 f2 74 69 63 6b 6d 65 6e |h..$r.. .tickmen| 00007260 75 28 62 25 2c 6e 25 29 0d 24 7c 25 62 25 21 28 |u(b%,n%).$|%b%!(| 00007270 32 38 2b 32 34 2a 6e 25 29 3d 62 25 21 28 32 38 |28+24*n%)=b%!(28| 00007280 2b 32 34 2a 6e 25 29 20 82 20 26 30 31 0d 24 86 |+24*n%) . &01.$.| 00007290 05 e1 0d 24 90 04 0d 24 9a 16 dd 20 f2 67 72 65 |...$...$... .gre| 000072a0 79 6d 65 6e 75 28 62 25 2c 6e 25 29 0d 24 a4 31 |ymenu(b%,n%).$.1| 000072b0 62 25 21 28 28 32 38 2b 32 34 2a 6e 25 29 2b 38 |b%!((28+24*n%)+8| 000072c0 29 3d 62 25 21 28 28 32 38 2b 32 34 2a 6e 25 29 |)=b%!((28+24*n%)| 000072d0 2b 38 29 20 82 20 26 34 30 30 30 30 30 0d 24 ae |+8) . &400000.$.| 000072e0 05 e1 0d 24 b8 04 0d 24 c2 23 dd 20 f2 77 69 6e |...$...$.#. .win| 000072f0 64 6f 77 5f 63 65 6e 74 72 65 28 68 61 6e 64 6c |dow_centre(handl| 00007300 65 25 2c 77 25 2c 68 25 29 0d 24 cc 14 78 25 3d |e%,w%,h%).$..x%=| 00007310 28 28 31 32 38 30 2d 77 25 29 2f 32 29 0d 24 d6 |((1280-w%)/2).$.| 00007320 19 79 25 3d 28 28 28 31 30 32 34 2d 68 25 29 2f |.y%=(((1024-h%)/| 00007330 32 29 2b 68 25 29 0d 24 e0 20 f2 6f 70 65 6e 75 |2)+h%).$. .openu| 00007340 70 28 68 61 6e 64 6c 65 25 2c 78 25 2c 79 25 2c |p(handle%,x%,y%,| 00007350 77 25 2c 68 25 29 0d 24 ea 05 e1 0d 24 f4 04 0d |w%,h%).$....$...| 00007360 24 fe 13 dd 20 f2 66 6f 72 63 65 5f 72 65 64 72 |$... .force_redr| 00007370 61 77 0d 25 08 33 c8 99 20 22 57 69 6d 70 5f 46 |aw.%.3.. "Wimp_F| 00007380 6f 72 63 65 52 65 64 72 61 77 22 2c 66 6f 6e 74 |orceRedraw",font| 00007390 73 65 6c 65 63 74 25 2c 30 2c 30 2d 34 30 30 2c |select%,0,0-400,| 000073a0 37 30 30 2c 30 0d 25 12 05 e1 0d 25 1c 04 0d 25 |700,0.%....%...%| 000073b0 26 22 dd 20 f2 74 72 61 63 6b 65 72 5f 6c 6f 61 |&". .tracker_loa| 000073c0 64 69 74 28 66 24 29 3a 74 75 6e 65 24 3d 66 24 |dit(f$):tune$=f$| 000073d0 0d 25 30 44 c8 99 20 22 54 72 61 63 6b 65 72 5f |.%0D.. "Tracker_| 000073e0 53 74 6f 70 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 3a |Stop",,,,,lock%:| 000073f0 f4 20 52 65 6c 65 61 73 65 20 73 6f 20 6e 65 78 |. Release so nex| 00007400 74 20 63 61 6c 6c 20 77 6f 6e 27 74 20 63 6f 72 |t call won't cor| 00007410 72 75 70 74 0d 25 3a 2e e7 20 77 6f 72 6b 73 70 |rupt.%:.. worksp| 00007420 63 25 3e 30 20 c8 99 20 22 4f 53 5f 48 65 61 70 |c%>0 .. "OS_Heap| 00007430 22 2c 33 2c 62 75 66 66 25 2c 77 6f 72 6b 73 70 |",3,buff%,worksp| 00007440 63 25 0d 25 44 1b 68 25 3d ad 28 66 24 29 3a 6c |c%.%D.h%=.(f$):l| 00007450 65 6e 25 3d a2 23 68 25 3a d9 23 68 25 0d 25 4e |en%=.#h%:.#h%.%N| 00007460 32 c8 99 20 22 4f 53 5f 48 65 61 70 22 2c 32 2c |2.. "OS_Heap",2,| 00007470 62 75 66 66 25 2c 2c 6c 65 6e 25 20 b8 20 2c 2c |buff%,,len% . ,,| 00007480 77 6f 72 6b 73 70 63 25 3b 66 6c 61 67 73 25 0d |workspc%;flags%.| 00007490 25 58 4d e7 20 28 66 6c 61 67 73 25 20 80 20 31 |%XM. (flags% . 1| 000074a0 29 3d 31 20 f2 74 65 6c 6c 65 6d 6f 66 66 28 22 |)=1 .tellemoff("| 000074b0 42 75 66 66 65 72 20 73 69 7a 65 20 69 73 20 69 |Buffer size is i| 000074c0 6e 61 64 65 71 75 61 74 65 3a 20 50 6c 65 61 73 |nadequate: Pleas| 000074d0 65 20 65 78 74 65 6e 64 22 29 3a e1 0d 25 62 20 |e extend"):..%b | 000074e0 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 26 46 46 |.. "OS_File",&FF| 000074f0 2c 66 24 2c 77 6f 72 6b 73 70 63 25 0d 25 6c 31 |,f$,workspc%.%l1| 00007500 c8 99 20 22 54 72 61 63 6b 65 72 5f 4d 65 6d 6f |.. "Tracker_Memo| 00007510 72 79 4c 6f 61 64 22 2c 77 6f 72 6b 73 70 63 25 |ryLoad",workspc%| 00007520 2c 6c 65 6e 25 2c 2c 2c 6c 6f 63 6b 25 0d 25 76 |,len%,,,lock%.%v| 00007530 22 c8 99 20 22 53 6f 75 6e 64 5f 53 70 65 61 6b |".. "Sound_Speak| 00007540 65 72 22 2c 31 3a 73 70 65 61 6b 65 72 3d a3 0d |er",1:speaker=..| 00007550 25 80 26 e7 20 6c 61 70 25 20 c8 99 20 22 54 72 |%.&. lap% .. "Tr| 00007560 61 63 6b 65 72 5f 50 6c 61 79 22 2c 2c 2c 2c 2c |acker_Play",,,,,| 00007570 6c 6f 63 6b 25 0d 25 8a 32 e7 20 72 65 67 69 73 |lock%.%.2. regis| 00007580 74 65 72 65 64 25 20 f2 6f 70 65 6e 75 70 28 63 |tered% .openup(c| 00007590 6f 6e 74 72 6f 6c 25 2c 30 2c 31 30 32 34 2c 36 |ontrol%,0,1024,6| 000075a0 32 35 2c 33 32 35 29 0d 25 94 24 f2 70 75 74 69 |25,325).%.$.puti| 000075b0 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f |consprite(contro| 000075c0 6c 25 2c 30 2c 22 72 65 76 22 29 0d 25 9e 26 f2 |l%,0,"rev").%.&.| 000075d0 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f |puticonsprite(co| 000075e0 6e 74 72 6f 6c 25 2c 31 2c 22 70 61 75 73 65 22 |ntrol%,1,"pause"| 000075f0 29 0d 25 a8 51 e7 20 6c 61 70 25 20 f2 70 75 74 |).%.Q. lap% .put| 00007600 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 |iconsprite(contr| 00007610 6f 6c 25 2c 32 2c 22 73 74 6f 70 22 29 20 8b 20 |ol%,2,"stop") . | 00007620 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 |.puticonsprite(c| 00007630 6f 6e 74 72 6f 6c 25 2c 32 2c 22 73 74 6f 70 31 |ontrol%,2,"stop1| 00007640 22 29 0d 25 b2 51 e7 20 6c 61 70 25 20 f2 70 75 |").%.Q. lap% .pu| 00007650 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 |ticonsprite(cont| 00007660 72 6f 6c 25 2c 33 2c 22 70 6c 61 79 31 22 29 20 |rol%,3,"play1") | 00007670 8b 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 |. .puticonsprite| 00007680 28 63 6f 6e 74 72 6f 6c 25 2c 33 2c 22 70 6c 61 |(control%,3,"pla| 00007690 79 22 29 0d 25 bc 24 f2 70 75 74 69 63 6f 6e 73 |y").%.$.puticons| 000076a0 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 34 |prite(control%,4| 000076b0 2c 22 66 77 64 22 29 0d 25 c6 31 c8 99 20 22 54 |,"fwd").%.1.. "T| 000076c0 72 61 63 6b 65 72 5f 52 65 61 64 50 6f 73 22 2c |racker_ReadPos",| 000076d0 2c 2c 2c 2c 6c 6f 63 6b 25 20 b8 20 63 75 72 72 |,,,,lock% . curr| 000076e0 65 6e 74 2c 2c 6d 61 78 0d 25 d0 22 f2 70 75 74 |ent,,max.%.".put| 000076f0 69 63 6f 6e 64 61 74 61 28 63 6f 6e 74 72 6f 6c |icondata(control| 00007700 25 2c 31 30 2c c3 6d 61 78 29 0d 25 da 34 e7 20 |%,10,.max).%.4. | 00007710 72 65 67 69 73 74 65 72 65 64 25 20 f2 6f 70 65 |registered% .ope| 00007720 6e 75 70 28 74 75 6e 65 69 6e 66 6f 25 2c 35 38 |nup(tuneinfo%,58| 00007730 30 2c 35 33 30 2c 37 30 30 2c 34 33 30 29 0d 25 |0,530,700,430).%| 00007740 e4 20 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 74 |. .puticondata(t| 00007750 75 6e 65 69 6e 66 6f 25 2c 31 2c 66 24 29 0d 25 |uneinfo%,1,f$).%| 00007760 ee 1b 68 25 3d ad 28 66 24 29 3a 6c 65 6e 25 3d |..h%=.(f$):len%=| 00007770 a2 23 68 25 3a d9 23 68 25 0d 25 f8 5c f2 70 75 |.#h%:.#h%.%.\.pu| 00007780 74 69 63 6f 6e 64 61 74 61 28 74 75 6e 65 69 6e |ticondata(tunein| 00007790 66 6f 25 2c 33 2c c3 6c 65 6e 25 2b 22 20 62 79 |fo%,3,.len%+" by| 000077a0 74 65 73 20 2d 2d 20 22 2b c3 28 a4 69 6e 74 28 |tes -- "+.(.int(| 000077b0 28 6c 65 6e 25 2f 31 30 32 34 29 2b 30 2e 34 29 |(len%/1024)+0.4)| 000077c0 29 2b 22 4b 22 29 3a 6c 65 6e 62 79 74 65 73 25 |)+"K"):lenbytes%| 000077d0 3d 6c 65 6e 25 0d 26 02 43 c8 99 20 22 54 72 61 |=len%.&.C.. "Tra| 000077e0 63 6b 65 72 5f 54 75 6e 65 49 6e 66 6f 22 2c 2c |cker_TuneInfo",,| 000077f0 2c 2c 2c 6c 6f 63 6b 25 20 b8 20 6c 65 6e 31 25 |,,,lock% . len1%| 00007800 2c 76 6f 69 63 65 73 25 2c 73 70 65 65 64 25 2c |,voices%,speed%,| 00007810 6e 61 6d 65 24 2c 61 25 0d 26 0c 29 e7 20 61 25 |name$,a%.&.). a%| 00007820 3e 30 20 61 75 74 68 6f 72 24 3d a4 72 74 6f 7a |>0 author$=.rtoz| 00007830 28 61 25 29 20 8b 20 61 75 74 68 6f 72 24 3d 22 |(a%) . author$="| 00007840 22 0d 26 16 17 6e 61 6d 65 24 3d a4 73 74 72 69 |".&..name$=.stri| 00007850 70 28 6e 61 6d 65 24 29 0d 26 20 26 f2 70 75 74 |p(name$).& &.put| 00007860 69 63 6f 6e 64 61 74 61 28 74 75 6e 65 69 6e 66 |icondata(tuneinf| 00007870 6f 25 2c 35 2c c3 76 6f 69 63 65 73 25 29 0d 26 |o%,5,.voices%).&| 00007880 2a 25 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 74 |*%.puticondata(t| 00007890 75 6e 65 69 6e 66 6f 25 2c 37 2c c3 73 70 65 65 |uneinfo%,7,.spee| 000078a0 64 25 29 0d 26 34 24 f2 70 75 74 69 63 6f 6e 64 |d%).&4$.puticond| 000078b0 61 74 61 28 74 75 6e 65 69 6e 66 6f 25 2c 39 2c |ata(tuneinfo%,9,| 000078c0 c3 6c 65 6e 31 25 29 0d 26 3e 24 f2 70 75 74 69 |.len1%).&>$.puti| 000078d0 63 6f 6e 64 61 74 61 28 74 75 6e 65 69 6e 66 6f |condata(tuneinfo| 000078e0 25 2c 31 31 2c 6e 61 6d 65 24 29 0d 26 48 26 f2 |%,11,name$).&H&.| 000078f0 70 75 74 69 63 6f 6e 64 61 74 61 28 74 75 6e 65 |puticondata(tune| 00007900 69 6e 66 6f 25 2c 31 33 2c 61 75 74 68 6f 72 24 |info%,13,author$| 00007910 29 0d 26 52 28 f2 70 75 74 69 63 6f 6e 64 61 74 |).&R(.puticondat| 00007920 61 28 74 75 6e 65 69 6e 66 6f 25 2c 31 35 2c a4 |a(tuneinfo%,15,.| 00007930 66 6d 61 74 28 66 24 29 29 0d 26 5c 23 f2 70 75 |fmat(f$)).&\#.pu| 00007940 74 69 63 6f 6e 64 61 74 61 28 63 6f 6e 74 72 6f |ticondata(contro| 00007950 6c 25 2c 31 34 2c 6e 61 6d 65 24 29 0d 26 66 41 |l%,14,name$).&fA| 00007960 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 35 2c 66 |.. "OS_File",5,f| 00007970 24 20 b8 20 2c 2c 6c 6f 61 64 25 3a 74 79 70 65 |$ . ,,load%:type| 00007980 25 3d 28 6c 6f 61 64 25 3e 3e 3e 38 29 80 26 46 |%=(load%>>>8).&F| 00007990 46 46 3a c8 8e 20 74 79 70 65 25 20 ca 0d 26 70 |FF:.. type% ..&p| 000079a0 32 c9 20 26 30 30 31 20 3a 20 f2 70 75 74 69 63 |2. &001 : .putic| 000079b0 6f 6e 64 61 74 61 28 74 75 6e 65 69 6e 66 6f 25 |ondata(tuneinfo%| 000079c0 2c 31 37 2c 22 53 54 72 61 63 6b 65 72 22 29 0d |,17,"STracker").| 000079d0 26 7a 32 c9 20 26 43 42 36 20 3a 20 f2 70 75 74 |&z2. &CB6 : .put| 000079e0 69 63 6f 6e 64 61 74 61 28 74 75 6e 65 69 6e 66 |icondata(tuneinf| 000079f0 6f 25 2c 31 37 2c 22 53 54 4d 6f 64 75 6c 65 22 |o%,17,"STModule"| 00007a00 29 0d 26 84 32 c9 20 26 43 43 35 20 3a 20 f2 70 |).&.2. &CC5 : .p| 00007a10 75 74 69 63 6f 6e 64 61 74 61 28 74 75 6e 65 69 |uticondata(tunei| 00007a20 6e 66 6f 25 2c 31 37 2c 22 54 65 71 4d 75 73 69 |nfo%,17,"TeqMusi| 00007a30 63 22 29 0d 26 8e 32 c9 20 26 37 30 31 20 3a 20 |c").&.2. &701 : | 00007a40 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 74 75 6e |.puticondata(tun| 00007a50 65 69 6e 66 6f 25 2c 31 37 2c 22 50 72 6f 54 72 |einfo%,17,"ProTr| 00007a60 61 63 6b 22 29 0d 26 98 05 cb 0d 26 a2 22 e7 20 |ack").&....&.". | 00007a70 61 66 73 25 20 c8 99 20 22 4f 53 5f 46 69 6c 65 |afs% .. "OS_File| 00007a80 22 2c 31 38 2c 66 24 2c 26 43 42 36 0d 26 ac 11 |",18,f$,&CB6.&..| 00007a90 f2 73 61 6d 70 6c 65 73 5f 64 72 61 77 0d 26 b6 |.samples_draw.&.| 00007aa0 19 f2 72 65 64 6f 5f 62 75 66 66 28 6c 65 6e 62 |..redo_buff(lenb| 00007ab0 79 74 65 73 25 29 0d 26 c0 2a e7 20 63 6f 70 65 |ytes%).&.*. cope| 00007ac0 6e 25 3d a3 20 63 6f 70 65 6e 25 3d b9 3a f2 74 |n%=. copen%=.:.t| 00007ad0 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 2c 30 29 |ickmenu(open%,0)| 00007ae0 0d 26 ca 2a e7 20 74 6f 70 65 6e 25 3d a3 20 74 |.&.*. topen%=. t| 00007af0 6f 70 65 6e 25 3d b9 3a f2 74 69 63 6b 6d 65 6e |open%=.:.tickmen| 00007b00 75 28 6f 70 65 6e 25 2c 31 29 0d 26 d4 0e 70 6c |u(open%,1).&..pl| 00007b10 61 79 69 6e 67 25 3d b9 0d 26 de 05 e1 0d 26 e8 |aying%=..&....&.| 00007b20 04 0d 26 f2 16 dd 20 f2 72 65 64 6f 5f 62 75 66 |..&... .redo_buf| 00007b30 66 28 6c 65 6e 25 29 0d 26 fc 15 e7 20 62 75 66 |f(len%).&... buf| 00007b40 66 65 72 73 69 7a 65 25 3e 30 20 8c 0d 27 06 47 |fersize%>0 ..'.G| 00007b50 20 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 62 75 | .puticondata(bu| 00007b60 66 66 65 72 25 2c 31 30 2c c3 6c 65 6e 25 2b 22 |ffer%,10,.len%+"| 00007b70 20 62 79 74 65 73 20 2d 2d 20 22 2b c3 28 a4 69 | bytes -- "+.(.i| 00007b80 6e 74 28 6c 65 6e 25 2f 31 30 32 34 29 29 2b 22 |nt(len%/1024))+"| 00007b90 4b 22 29 0d 27 10 24 20 c8 99 20 22 4f 53 5f 48 |K").'.$ .. "OS_H| 00007ba0 65 61 70 22 2c 31 2c 62 75 66 66 25 20 b8 20 2c |eap",1,buff% . ,| 00007bb0 2c 2c 66 72 65 65 25 0d 27 1a 4b 20 f2 70 75 74 |,,free%.'.K .put| 00007bc0 69 63 6f 6e 64 61 74 61 28 62 75 66 66 65 72 25 |icondata(buffer%| 00007bd0 2c 31 31 2c c3 28 66 72 65 65 25 29 2b 22 20 62 |,11,.(free%)+" b| 00007be0 79 74 65 73 20 2d 2d 20 22 2b c3 28 a4 69 6e 74 |ytes -- "+.(.int| 00007bf0 28 66 72 65 65 25 2f 31 30 32 34 29 29 2b 22 4b |(free%/1024))+"K| 00007c00 22 29 0d 27 24 05 cc 0d 27 2e 31 20 f2 70 75 74 |").'$...'.1 .put| 00007c10 69 63 6f 6e 64 61 74 61 28 62 75 66 66 65 72 25 |icondata(buffer%| 00007c20 2c 31 30 2c 22 4e 6f 20 62 75 66 66 65 72 20 64 |,10,"No buffer d| 00007c30 65 66 69 6e 65 64 22 29 0d 27 38 31 20 f2 70 75 |efined").'81 .pu| 00007c40 74 69 63 6f 6e 64 61 74 61 28 62 75 66 66 65 72 |ticondata(buffer| 00007c50 25 2c 31 31 2c 22 4e 6f 20 62 75 66 66 65 72 20 |%,11,"No buffer | 00007c60 64 65 66 69 6e 65 64 22 29 0d 27 42 05 cd 0d 27 |defined").'B...'| 00007c70 4c 05 e1 0d 27 56 04 0d 27 60 0c dd 20 f2 63 6c |L...'V..'`.. .cl| 00007c80 65 61 72 0d 27 6a 2e f2 70 75 74 69 63 6f 6e 64 |ear.'j..puticond| 00007c90 61 74 61 28 74 75 6e 65 69 6e 66 6f 25 2c 31 2c |ata(tuneinfo%,1,| 00007ca0 22 4e 6f 20 54 75 6e 65 20 4c 6f 61 64 65 64 22 |"No Tune Loaded"| 00007cb0 29 0d 27 74 2e f2 70 75 74 69 63 6f 6e 64 61 74 |).'t..puticondat| 00007cc0 61 28 74 75 6e 65 69 6e 66 6f 25 2c 33 2c 22 4e |a(tuneinfo%,3,"N| 00007cd0 6f 20 54 75 6e 65 20 4c 6f 61 64 65 64 22 29 0d |o Tune Loaded").| 00007ce0 27 7e 21 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 |'~!.puticondata(| 00007cf0 74 75 6e 65 69 6e 66 6f 25 2c 35 2c 22 30 22 29 |tuneinfo%,5,"0")| 00007d00 0d 27 88 21 f2 70 75 74 69 63 6f 6e 64 61 74 61 |.'.!.puticondata| 00007d10 28 74 75 6e 65 69 6e 66 6f 25 2c 37 2c 22 30 22 |(tuneinfo%,7,"0"| 00007d20 29 0d 27 92 21 f2 70 75 74 69 63 6f 6e 64 61 74 |).'.!.puticondat| 00007d30 61 28 74 75 6e 65 69 6e 66 6f 25 2c 39 2c 22 30 |a(tuneinfo%,9,"0| 00007d40 22 29 0d 27 9c 2f f2 70 75 74 69 63 6f 6e 64 61 |").'./.puticonda| 00007d50 74 61 28 74 75 6e 65 69 6e 66 6f 25 2c 31 31 2c |ta(tuneinfo%,11,| 00007d60 22 4e 6f 20 54 75 6e 65 20 4c 6f 61 64 65 64 22 |"No Tune Loaded"| 00007d70 29 0d 27 a6 2f f2 70 75 74 69 63 6f 6e 64 61 74 |).'./.puticondat| 00007d80 61 28 74 75 6e 65 69 6e 66 6f 25 2c 31 33 2c 22 |a(tuneinfo%,13,"| 00007d90 4e 6f 20 54 75 6e 65 20 4c 6f 61 64 65 64 22 29 |No Tune Loaded")| 00007da0 0d 27 b0 22 f2 70 75 74 69 63 6f 6e 64 61 74 61 |.'.".puticondata| 00007db0 28 74 75 6e 65 69 6e 66 6f 25 2c 31 35 2c 22 30 |(tuneinfo%,15,"0| 00007dc0 22 29 0d 27 ba 2f f2 70 75 74 69 63 6f 6e 64 61 |").'./.puticonda| 00007dd0 74 61 28 74 75 6e 65 69 6e 66 6f 25 2c 31 37 2c |ta(tuneinfo%,17,| 00007de0 22 4e 6f 20 54 75 6e 65 20 4c 6f 61 64 65 64 22 |"No Tune Loaded"| 00007df0 29 0d 27 c4 20 f2 70 75 74 69 63 6f 6e 64 61 74 |).'. .puticondat| 00007e00 61 28 63 6f 6e 74 72 6f 6c 25 2c 31 34 2c 22 22 |a(control%,14,""| 00007e10 29 0d 27 ce 05 e1 0d 27 d8 04 0d 27 e2 13 dd 20 |).'....'...'... | 00007e20 a4 73 74 72 69 70 28 74 65 78 74 24 29 0d 27 ec |.strip(text$).'.| 00007e30 31 c8 95 20 97 28 c2 74 65 78 74 24 2c 31 29 29 |1.. .(.text$,1))| 00007e40 3c 33 33 3a 74 65 78 74 24 3d c0 74 65 78 74 24 |<33:text$=.text$| 00007e50 2c 28 a9 74 65 78 74 24 29 2d 31 29 3a ce 0d 27 |,(.text$)-1):..'| 00007e60 f6 31 c8 95 20 97 28 c0 74 65 78 74 24 2c 31 29 |.1.. .(.text$,1)| 00007e70 29 3c 33 33 3a 74 65 78 74 24 3d c2 74 65 78 74 |)<33:text$=.text| 00007e80 24 2c 28 a9 74 65 78 74 24 29 2d 31 29 3a ce 0d |$,(.text$)-1):..| 00007e90 28 00 0a 3d 74 65 78 74 24 0d 28 0a 04 0d 28 14 |(..=text$.(...(.| 00007ea0 0f dd 20 a4 66 6d 61 74 28 66 24 29 0d 28 1e 0d |.. .fmat(f$).(..| 00007eb0 c8 8e 20 6d 61 6b 25 20 ca 0d 28 28 15 c9 20 b9 |.. mak% ..((.. .| 00007ec0 20 3a 20 3d a4 6d 61 6e 64 6b 28 66 24 29 0d 28 | : =.mandk(f$).(| 00007ed0 32 14 c9 20 a3 3a 20 3d a4 78 62 79 74 65 28 66 |2.. .: =.xbyte(f| 00007ee0 24 29 0d 28 3c 05 cb 0d 28 46 04 0d 28 50 10 dd |$).(<...(F..(P..| 00007ef0 20 a4 78 62 79 74 65 28 66 24 29 0d 28 5a 0c 68 | .xbyte(f$).(Z.h| 00007f00 25 3d ad 28 66 24 29 0d 28 64 0c cf 23 68 25 3d |%=.(f$).(d..#h%=| 00007f10 34 37 31 0d 28 6e 0a 61 3d 9a 23 68 25 0d 28 78 |471.(n.a=.#h%.(x| 00007f20 08 d9 23 68 25 0d 28 82 19 e7 20 61 3d 26 37 38 |..#h%.(... a=&78| 00007f30 20 3d 22 31 35 22 20 8b 20 3d 22 33 31 22 0d 28 | ="15" . ="31".(| 00007f40 8c 04 0d 28 96 10 dd 20 a4 6d 61 6e 64 6b 28 66 |...(... .mandk(f| 00007f50 24 29 0d 28 a0 0c 68 25 3d ad 28 66 24 29 0d 28 |$).(..h%=.(f$).(| 00007f60 aa 0d cf 23 68 25 3d 31 30 38 30 0d 28 b4 22 71 |...#h%=1080.(."q| 00007f70 24 3d 22 22 3a e3 20 49 25 3d 31 20 b8 20 34 3a |$="":. I%=1 . 4:| 00007f80 71 24 2b 3d bd 28 9a 23 68 25 29 3a ed 0d 28 be |q$+=.(.#h%):..(.| 00007f90 08 d9 23 68 25 0d 28 c8 35 e7 20 71 24 3d 22 4d |..#h%.(.5. q$="M| 00007fa0 2e 4b 2e 22 20 84 20 71 24 3d 22 46 4c 54 34 22 |.K." . q$="FLT4"| 00007fb0 20 84 20 71 24 3d 22 46 4c 54 38 22 20 3d 22 33 | . q$="FLT8" ="3| 00007fc0 31 22 20 8b 20 3d 22 31 35 22 0d 28 d2 34 f4 20 |1" . ="15".(.4. | 00007fd0 43 68 65 63 6b 20 66 6f 72 20 53 74 61 72 74 72 |Check for Startr| 00007fe0 65 6b 6b 65 72 20 61 73 20 77 65 6c 6c 20 61 73 |ekker as well as| 00007ff0 20 50 72 6f 54 72 61 63 6b 65 72 20 49 44 0d 28 | ProTracker ID.(| 00008000 dc 04 0d 28 e6 15 dd 20 f2 73 74 65 72 65 6f 28 |...(... .stereo(| 00008010 63 68 2c 70 6f 73 29 0d 28 f0 22 c8 99 20 22 53 |ch,pos).(.".. "S| 00008020 6f 75 6e 64 5f 53 74 65 72 65 6f 22 2c 63 68 2c |ound_Stereo",ch,| 00008030 a4 70 6f 73 28 70 6f 73 29 0d 28 fa 05 e1 0d 29 |.pos(pos).(....)| 00008040 04 04 0d 29 0e 0f dd 20 a4 70 6f 73 28 70 6f 73 |...)... .pos(pos| 00008050 29 0d 29 18 0c c8 8e 20 70 6f 73 20 ca 0d 29 22 |).).... pos ..)"| 00008060 10 20 c9 20 31 20 3a 20 3d 2d 31 32 37 0d 29 2c |. . 1 : =-127.),| 00008070 0f 20 c9 20 32 20 3a 20 3d 2d 37 39 0d 29 36 0f |. . 2 : =-79.)6.| 00008080 20 c9 20 33 20 3a 20 3d 2d 34 37 0d 29 40 0d 20 | . 3 : =-47.)@. | 00008090 c9 20 34 20 3a 20 3d 30 0d 29 4a 0e 20 c9 20 35 |. 4 : =0.)J. . 5| 000080a0 20 3a 20 3d 34 37 0d 29 54 0e 20 c9 20 36 20 3a | : =47.)T. . 6 :| 000080b0 20 3d 37 39 0d 29 5e 0f 20 c9 20 37 20 3a 20 3d | =79.)^. . 7 : =| 000080c0 31 32 37 0d 29 68 05 cb 0d 29 72 04 0d 29 7c 2c |127.)h...)r..)|,| 000080d0 dd 20 a4 63 72 65 61 74 65 28 77 77 2c 77 68 2c |. .create(ww,wh,| 000080e0 74 66 2c 74 62 2c 73 63 2c 54 24 2c 77 66 2c 77 |tf,tb,sc,T$,wf,w| 000080f0 62 2c 66 6c 61 67 73 29 0d 29 86 24 70 6f 69 6e |b,flags).).$poin| 00008100 74 65 72 25 21 32 34 3d 2d 31 3a 70 6f 69 6e 74 |ter%!24=-1:point| 00008110 65 72 25 21 32 38 3d 66 6c 61 67 73 0d 29 90 21 |er%!28=flags.).!| 00008120 70 6f 69 6e 74 65 72 25 3f 33 32 3d 74 66 3a 70 |pointer%?32=tf:p| 00008130 6f 69 6e 74 65 72 25 3f 33 33 3d 74 62 0d 29 9a |ointer%?33=tb.).| 00008140 21 70 6f 69 6e 74 65 72 25 3f 33 34 3d 77 66 3a |!pointer%?34=wf:| 00008150 70 6f 69 6e 74 65 72 25 3f 33 35 3d 77 62 0d 29 |pointer%?35=wb.)| 00008160 a4 1f 70 6f 69 6e 74 65 72 25 3f 33 36 3d 33 3a |..pointer%?36=3:| 00008170 70 6f 69 6e 74 65 72 25 3f 33 37 3d 31 0d 29 ae |pointer%?37=1.).| 00008180 20 70 6f 69 6e 74 65 72 25 3f 33 38 3d 73 63 3a | pointer%?38=sc:| 00008190 70 6f 69 6e 74 65 72 25 3f 33 39 3d 30 0d 29 b8 |pointer%?39=0.).| 000081a0 20 70 6f 69 6e 74 65 72 25 21 34 30 3d 30 3a 70 | pointer%!40=0:p| 000081b0 6f 69 6e 74 65 72 25 21 34 34 3d 77 68 0d 29 c2 |ointer%!44=wh.).| 000081c0 20 70 6f 69 6e 74 65 72 25 21 34 38 3d 77 77 3a | pointer%!48=ww:| 000081d0 70 6f 69 6e 74 65 72 25 21 35 32 3d 30 0d 29 cc |pointer%!52=0.).| 000081e0 21 70 6f 69 6e 74 65 72 25 21 35 36 3d 26 33 44 |!pointer%!56=&3D| 000081f0 3a 70 6f 69 6e 74 65 72 25 21 36 30 3d 30 0d 29 |:pointer%!60=0.)| 00008200 d6 1f 70 6f 69 6e 74 65 72 25 21 36 34 3d 30 3a |..pointer%!64=0:| 00008210 70 6f 69 6e 74 65 72 25 21 36 38 3d 30 0d 29 e0 |pointer%!68=0.).| 00008220 15 24 28 70 6f 69 6e 74 65 72 25 2b 37 32 29 3d |.$(pointer%+72)=| 00008230 54 24 0d 29 ea 11 70 6f 69 6e 74 65 72 25 21 38 |T$.)..pointer%!8| 00008240 34 3d 30 0d 29 f4 29 c8 99 20 22 57 69 6d 70 5f |4=0.).).. "Wimp_| 00008250 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 70 |CreateWindow",,p| 00008260 6f 69 6e 74 65 72 25 20 b8 20 68 25 0d 29 fe 07 |ointer% . h%.)..| 00008270 3d 68 25 0d 2a 08 04 0d 2a 12 3e dd 20 f2 63 72 |=h%.*...*.>. .cr| 00008280 65 61 74 65 5f 69 63 6f 6e 28 68 61 6e 64 6c 65 |eate_icon(handle| 00008290 2c 61 64 64 72 2c 6d 69 6e 78 2c 6d 61 78 78 2c |,addr,minx,maxx,| 000082a0 6d 69 6e 79 2c 68 74 2c 74 24 2c 66 6c 61 67 73 |miny,ht,t$,flags| 000082b0 2c 6c 65 6e 29 0d 2a 1c 25 70 6f 69 6e 74 65 72 |,len).*.%pointer| 000082c0 25 21 30 3d 68 61 6e 64 6c 65 3a 70 6f 69 6e 74 |%!0=handle:point| 000082d0 65 72 25 21 34 3d 6d 69 6e 78 0d 2a 26 24 70 6f |er%!4=minx.*&$po| 000082e0 69 6e 74 65 72 25 21 38 3d 6d 69 6e 79 3a 70 6f |inter%!8=miny:po| 000082f0 69 6e 74 65 72 25 21 31 32 3d 6d 61 78 78 0d 2a |inter%!12=maxx.*| 00008300 30 29 70 6f 69 6e 74 65 72 25 21 31 36 3d 6d 69 |0)pointer%!16=mi| 00008310 6e 79 2b 68 74 3a 70 6f 69 6e 74 65 72 25 21 32 |ny+ht:pointer%!2| 00008320 30 3d 66 6c 61 67 73 0d 2a 3a 0e e7 20 61 64 64 |0=flags.*:.. add| 00008330 72 3d 30 20 8c 0d 2a 44 15 24 28 70 6f 69 6e 74 |r=0 ..*D.$(point| 00008340 65 72 25 2b 32 34 29 3d 74 24 0d 2a 4e 05 cc 0d |er%+24)=t$.*N...| 00008350 2a 58 14 70 6f 69 6e 74 65 72 25 21 32 34 3d 61 |*X.pointer%!24=a| 00008360 64 64 72 0d 2a 62 30 e7 20 74 24 3d 22 a4 22 20 |ddr.*b0. t$="." | 00008370 70 6f 69 6e 74 65 72 25 21 32 38 3d 76 61 6c 69 |pointer%!28=vali| 00008380 64 25 20 8b 20 70 6f 69 6e 74 65 72 25 21 32 38 |d% . pointer%!28| 00008390 3d 2d 31 0d 2a 6c 13 70 6f 69 6e 74 65 72 25 21 |=-1.*l.pointer%!| 000083a0 33 32 3d 6c 65 6e 0d 2a 76 05 cd 0d 2a 80 22 c8 |32=len.*v...*.".| 000083b0 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 |. "Wimp_CreateIc| 000083c0 6f 6e 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 2a 8a |on",,pointer%.*.| 000083d0 05 e1 0d 2a 94 04 0d 2a 9e 11 dd 20 f2 73 61 6d |...*...*... .sam| 000083e0 70 73 5f 77 69 6e 64 0d 2a a8 11 73 74 61 72 74 |ps_wind.*..start| 000083f0 25 3d 73 61 6d 70 73 25 0d 2a b2 15 76 6f 6c 73 |%=samps%.*..vols| 00008400 74 61 72 74 25 3d 76 6f 6c 75 6d 65 25 0d 2a bc |tart%=volume%.*.| 00008410 17 73 61 6d 70 73 74 61 72 74 25 3d 73 61 6d 70 |.sampstart%=samp| 00008420 6c 65 6e 25 0d 2a c6 39 73 61 6d 70 6c 65 73 25 |len%.*.9samples%| 00008430 3d a4 63 72 65 61 74 65 28 37 30 30 2c 2d 31 32 |=.create(700,-12| 00008440 30 30 2c 37 2c 32 2c 31 32 2c 22 53 61 6d 70 6c |00,7,2,12,"Sampl| 00008450 65 73 22 2c 37 2c 31 2c 25 31 31 31 29 0d 2a d0 |es",7,1,%111).*.| 00008460 0c 6d 69 6e 79 3d 2d 36 30 0d 2a da 3e f2 63 72 |.miny=-60.*.>.cr| 00008470 65 61 74 65 5f 69 63 6f 6e 28 73 61 6d 70 6c 65 |eate_icon(sample| 00008480 73 25 2c 74 65 78 74 25 2c 31 30 2c 38 30 2c 6d |s%,text%,10,80,m| 00008490 69 6e 79 2c 35 32 2c 22 a4 22 2c 26 31 37 30 30 |iny,52,".",&1700| 000084a0 30 31 32 31 2c 30 29 0d 2a e4 41 f2 63 72 65 61 |0121,0).*.A.crea| 000084b0 74 65 5f 69 63 6f 6e 28 73 61 6d 70 6c 65 73 25 |te_icon(samples%| 000084c0 2c 74 65 78 74 25 2b 38 2c 39 30 2c 32 30 30 2c |,text%+8,90,200,| 000084d0 6d 69 6e 79 2c 35 32 2c 22 a4 22 2c 26 31 37 30 |miny,52,".",&170| 000084e0 30 30 31 32 31 2c 30 29 0d 2a ee 43 f2 63 72 65 |00121,0).*.C.cre| 000084f0 61 74 65 5f 69 63 6f 6e 28 73 61 6d 70 6c 65 73 |ate_icon(samples| 00008500 25 2c 74 65 78 74 25 2b 31 36 2c 35 30 30 2c 35 |%,text%+16,500,5| 00008510 39 30 2c 6d 69 6e 79 2c 35 32 2c 22 a4 22 2c 26 |90,miny,52,".",&| 00008520 31 37 30 30 30 31 32 31 2c 30 29 0d 2a f8 43 f2 |17000121,0).*.C.| 00008530 63 72 65 61 74 65 5f 69 63 6f 6e 28 73 61 6d 70 |create_icon(samp| 00008540 6c 65 73 25 2c 74 65 78 74 25 2b 32 34 2c 36 30 |les%,text%+24,60| 00008550 30 2c 36 39 30 2c 6d 69 6e 79 2c 35 32 2c 22 a4 |0,690,miny,52,".| 00008560 22 2c 26 31 37 30 30 30 31 32 31 2c 30 29 0d 2b |",&17000121,0).+| 00008570 02 0c 6d 69 6e 79 2d 3d 36 30 0d 2b 0c 0c 63 6f |..miny-=60.+..co| 00008580 75 6e 74 25 3d 31 0d 2b 16 0e e3 20 49 3d 31 20 |unt%=1.+... I=1 | 00008590 b8 20 33 31 0d 2b 20 0e 24 73 61 6d 70 73 25 3d |. 31.+ .$samps%=| 000085a0 22 22 0d 2b 2a 0f 24 76 6f 6c 75 6d 65 25 3d 22 |"".+*.$volume%="| 000085b0 22 0d 2b 34 10 24 73 61 6d 70 6c 65 6e 25 3d 22 |".+4.$samplen%="| 000085c0 22 0d 2b 3e 38 f2 63 72 65 61 74 65 5f 69 63 6f |".+>8.create_ico| 000085d0 6e 28 73 61 6d 70 6c 65 73 25 2c 30 2c 31 30 2c |n(samples%,0,10,| 000085e0 38 30 2c 6d 69 6e 79 2c 33 36 2c c3 49 2c 26 37 |80,miny,36,.I,&7| 000085f0 30 30 30 30 32 31 2c 30 29 0d 2b 48 3f f2 63 72 |000021,0).+H?.cr| 00008600 65 61 74 65 5f 69 63 6f 6e 28 73 61 6d 70 6c 65 |eate_icon(sample| 00008610 73 25 2c 73 61 6d 70 73 25 2c 39 30 2c 34 39 30 |s%,samps%,90,490| 00008620 2c 6d 69 6e 79 2c 33 36 2c 22 22 2c 26 37 30 31 |,miny,36,"",&701| 00008630 36 31 32 31 2c 33 32 29 0d 2b 52 41 f2 63 72 65 |6121,32).+RA.cre| 00008640 61 74 65 5f 69 63 6f 6e 28 73 61 6d 70 6c 65 73 |ate_icon(samples| 00008650 25 2c 76 6f 6c 75 6d 65 25 2c 35 30 30 2c 35 39 |%,volume%,500,59| 00008660 30 2c 6d 69 6e 79 2c 33 36 2c 22 22 2c 26 37 30 |0,miny,36,"",&70| 00008670 30 30 31 32 31 2c 33 32 29 0d 2b 5c 42 f2 63 72 |00121,32).+\B.cr| 00008680 65 61 74 65 5f 69 63 6f 6e 28 73 61 6d 70 6c 65 |eate_icon(sample| 00008690 73 25 2c 73 61 6d 70 6c 65 6e 25 2c 36 30 30 2c |s%,samplen%,600,| 000086a0 36 39 30 2c 6d 69 6e 79 2c 33 36 2c 22 22 2c 26 |690,miny,36,"",&| 000086b0 37 30 30 30 31 32 31 2c 33 32 29 0d 2b 66 38 6d |7000121,32).+f8m| 000086c0 69 6e 79 2d 3d 33 36 3a 73 61 6d 70 73 25 2b 3d |iny-=36:samps%+=| 000086d0 33 32 3a 76 6f 6c 75 6d 65 25 2b 3d 34 3a 73 61 |32:volume%+=4:sa| 000086e0 6d 70 6c 65 6e 25 2b 3d 36 3a 63 6f 75 6e 74 25 |mplen%+=6:count%| 000086f0 2b 3d 31 0d 2b 70 05 ed 0d 2b 7a 11 73 61 6d 70 |+=1.+p...+z.samp| 00008700 73 25 3d 73 74 61 72 74 25 0d 2b 84 15 76 6f 6c |s%=start%.+..vol| 00008710 75 6d 65 25 3d 76 6f 6c 73 74 61 72 74 25 0d 2b |ume%=volstart%.+| 00008720 8e 17 73 61 6d 70 6c 65 6e 25 3d 73 61 6d 70 73 |..samplen%=samps| 00008730 74 61 72 74 25 0d 2b 98 05 e1 0d 2b a2 05 3a 0d |tart%.+....+..:.| 00008740 2b ac 13 dd 20 f2 73 61 6d 70 6c 65 73 5f 64 72 |+... .samples_dr| 00008750 61 77 0d 2b b6 0e 73 61 6d 70 73 6e 75 6d 3d 30 |aw.+..sampsnum=0| 00008760 0d 2b c0 11 73 74 61 72 74 25 3d 73 61 6d 70 73 |.+..start%=samps| 00008770 25 0d 2b ca 15 76 6f 6c 73 74 61 72 74 25 3d 76 |%.+..volstart%=v| 00008780 6f 6c 75 6d 65 25 0d 2b d4 17 73 61 6d 70 73 74 |olume%.+..sampst| 00008790 61 72 74 25 3d 73 61 6d 70 6c 65 6e 25 0d 2b de |art%=samplen%.+.| 000087a0 0e e3 20 49 3d 31 20 b8 20 33 31 0d 2b e8 3e c8 |.. I=1 . 31.+.>.| 000087b0 99 20 22 54 72 61 63 6b 65 72 5f 52 65 61 64 53 |. "Tracker_ReadS| 000087c0 61 6d 70 6c 65 54 61 62 6c 65 22 2c 49 2c 2c 2c |ampleTable",I,,,| 000087d0 2c 6c 6f 63 6b 25 20 b8 20 6e 6f 25 2c 61 24 2c |,lock% . no%,a$,| 000087e0 76 6f 6c 25 2c 6c 65 6e 25 0d 2b f2 2c f2 70 75 |vol%,len%.+.,.pu| 000087f0 74 69 63 6f 6e 74 65 78 74 28 73 61 6d 70 6c 65 |ticontext(sample| 00008800 73 25 2c 28 32 2a 49 29 2b 33 2c 73 61 6d 70 73 |s%,(2*I)+3,samps| 00008810 25 2c 61 24 29 0d 2b fc 66 e7 20 76 6f 6c 25 3c |%,a$).+.f. vol%<| 00008820 3e 30 20 f2 70 75 74 69 63 6f 6e 74 65 78 74 28 |>0 .puticontext(| 00008830 73 61 6d 70 6c 65 73 25 2c 28 32 2a 49 29 2b 34 |samples%,(2*I)+4| 00008840 2c 76 6f 6c 75 6d 65 25 2c c3 76 6f 6c 25 29 20 |,volume%,.vol%) | 00008850 8b 20 f2 70 75 74 69 63 6f 6e 74 65 78 74 28 73 |. .puticontext(s| 00008860 61 6d 70 6c 65 73 25 2c 28 32 2a 49 29 2b 34 2c |amples%,(2*I)+4,| 00008870 76 6f 6c 75 6d 65 25 2c 22 22 29 0d 2c 06 74 e7 |volume%,"").,.t.| 00008880 20 6c 65 6e 25 3c 3e 30 20 f2 70 75 74 69 63 6f | len%<>0 .putico| 00008890 6e 74 65 78 74 28 73 61 6d 70 6c 65 73 25 2c 28 |ntext(samples%,(| 000088a0 32 2a 49 29 2b 35 2c 73 61 6d 70 6c 65 6e 25 2c |2*I)+5,samplen%,| 000088b0 c3 6c 65 6e 25 29 20 8b 20 f2 70 75 74 69 63 6f |.len%) . .putico| 000088c0 6e 74 65 78 74 28 73 61 6d 70 6c 65 73 25 2c 28 |ntext(samples%,(| 000088d0 32 2a 49 29 2b 35 2c 73 61 6d 70 6c 65 6e 25 2c |2*I)+5,samplen%,| 000088e0 22 22 29 3a 73 61 6d 70 73 6e 75 6d 2b 3d 31 0d |""):sampsnum+=1.| 000088f0 2c 10 25 73 61 6d 70 73 25 2b 3d 33 32 3a 76 6f |,.%samps%+=32:vo| 00008900 6c 75 6d 65 25 2b 3d 34 3a 73 61 6d 70 6c 65 6e |lume%+=4:samplen| 00008910 25 2b 3d 36 0d 2c 1a 05 ed 0d 2c 24 11 73 61 6d |%+=6.,....,$.sam| 00008920 70 73 25 3d 73 74 61 72 74 25 0d 2c 2e 15 76 6f |ps%=start%.,..vo| 00008930 6c 75 6d 65 25 3d 76 6f 6c 73 74 61 72 74 25 0d |lume%=volstart%.| 00008940 2c 38 17 73 61 6d 70 6c 65 6e 25 3d 73 61 6d 70 |,8.samplen%=samp| 00008950 73 74 61 72 74 25 0d 2c 42 05 e1 0d 2c 4c 04 0d |start%.,B...,L..| 00008960 2c 56 2f dd 20 f2 70 75 74 69 63 6f 6e 74 65 78 |,V/. .puticontex| 00008970 74 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c |t(window%,icon%,| 00008980 62 75 66 66 65 72 25 2c 74 65 78 74 24 29 0d 2c |buffer%,text$).,| 00008990 60 12 24 62 75 66 66 65 72 25 3d 74 65 78 74 24 |`.$buffer%=text$| 000089a0 0d 2c 6a 27 70 6f 69 6e 74 65 72 25 21 30 3d 77 |.,j'pointer%!0=w| 000089b0 69 6e 64 6f 77 25 3a 70 6f 69 6e 74 65 72 25 21 |indow%:pointer%!| 000089c0 34 3d 69 63 6f 6e 25 0d 2c 74 1e 70 6f 69 6e 74 |4=icon%.,t.point| 000089d0 65 72 25 21 38 3d 30 3a 70 6f 69 6e 74 65 72 25 |er%!8=0:pointer%| 000089e0 21 31 32 3d 30 0d 2c 7e 24 c8 99 20 22 57 69 6d |!12=0.,~$.. "Wim| 000089f0 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c |p_SetIconState",| 00008a00 2c 70 6f 69 6e 74 65 72 25 0d 2c 88 05 e1 0d 2c |,pointer%.,....,| 00008a10 92 04 0d 2c 9c 09 dd 20 f2 6b 70 0d 2c a6 1e c8 |...,... .kp.,...| 00008a20 99 20 22 57 69 6d 70 5f 50 72 6f 63 65 73 73 4b |. "Wimp_ProcessK| 00008a30 65 79 22 2c 71 25 21 32 34 0d 2c b0 0d c8 8e 20 |ey",q%!24.,.... | 00008a40 71 25 21 30 20 ca 0d 2c ba 0e 20 c9 20 62 75 66 |q%!0 ..,.. . buf| 00008a50 66 65 72 25 0d 2c c4 0e 20 c8 8e 20 71 25 21 34 |fer%.,.. .. q%!4| 00008a60 20 ca 0d 2c ce 09 20 20 c9 20 33 0d 2c d8 10 20 | ..,.. . 3.,.. | 00008a70 20 c8 8e 20 71 25 21 32 34 20 ca 0d 2c e2 34 20 | .. q%!24 ..,.4 | 00008a80 20 20 c9 20 31 33 20 3a 20 71 25 21 38 3d 34 3a | . 13 : q%!8=4:| 00008a90 71 25 21 31 32 3d 62 75 66 66 65 72 25 3a 71 25 |q%!12=buffer%:q%| 00008aa0 21 31 36 3d 35 3a f2 73 6c 61 62 69 63 6f 6e 0d |!16=5:.slabicon.| 00008ab0 2c ec 34 20 20 20 20 20 20 20 20 20 20 20 20 20 |,.4 | 00008ac0 f2 62 75 66 66 65 72 28 bb 28 a4 67 65 74 69 63 |.buffer(.(.getic| 00008ad0 6f 6e 64 61 74 61 28 62 75 66 66 65 72 25 2c 33 |ondata(buffer%,3| 00008ae0 29 29 29 0d 2c f6 07 20 20 cb 0d 2d 00 06 20 cb |))).,.. ..-.. .| 00008af0 0d 2d 0a 10 20 c9 20 77 61 76 65 66 6f 72 6d 25 |.-.. . waveform%| 00008b00 0d 2d 14 0e 20 c8 8e 20 71 25 21 34 20 ca 0d 2d |.-.. .. q%!4 ..-| 00008b10 1e 09 20 20 c9 20 31 0d 2d 28 10 20 20 c8 8e 20 |.. . 1.-(. .. | 00008b20 71 25 21 32 34 20 ca 0d 2d 32 43 20 20 20 c9 20 |q%!24 ..-2C . | 00008b30 31 33 20 3a 20 73 68 6f 77 25 3d b9 3a c8 99 20 |13 : show%=.:.. | 00008b40 22 57 69 6d 70 5f 46 6f 72 63 65 52 65 64 72 61 |"Wimp_ForceRedra| 00008b50 77 22 2c 77 61 76 65 70 61 6e 65 25 2c 30 2c 2d |w",wavepane%,0,-| 00008b60 32 35 36 2c 32 31 31 32 2c 30 0d 2d 3c 07 20 20 |256,2112,0.-<. | 00008b70 cb 0d 2d 46 06 20 cb 0d 2d 50 05 cb 0d 2d 5a 0e |..-F. ..-P...-Z.| 00008b80 c8 8e 20 71 25 21 32 34 20 ca 0d 2d 64 3e 20 c9 |.. q%!24 ..-d> .| 00008b90 20 33 38 35 20 3a 20 73 70 65 61 6b 65 72 3d ac | 385 : speaker=.| 00008ba0 73 70 65 61 6b 65 72 3a f2 74 6f 67 67 6c 65 6f |speaker:.toggleo| 00008bb0 70 74 73 28 73 70 65 61 6b 65 72 2c 63 6f 6e 74 |pts(speaker,cont| 00008bc0 72 6f 6c 25 2c 31 32 29 0d 2d 6e 45 20 20 20 20 |rol%,12).-nE | 00008bd0 20 20 20 20 20 20 20 20 e7 20 73 70 65 61 6b 65 | . speake| 00008be0 72 20 c8 99 20 22 53 6f 75 6e 64 5f 53 70 65 61 |r .. "Sound_Spea| 00008bf0 6b 65 72 22 2c 32 20 8b 20 c8 99 20 22 53 6f 75 |ker",2 . .. "Sou| 00008c00 6e 64 5f 53 70 65 61 6b 65 72 22 2c 31 0d 2d 78 |nd_Speaker",1.-x| 00008c10 38 20 c9 20 33 38 36 20 3a 20 6d 75 74 65 25 3d |8 . 386 : mute%=| 00008c20 ac 6d 75 74 65 25 3a f2 74 6f 67 67 6c 65 6f 70 |.mute%:.toggleop| 00008c30 74 73 28 6d 75 74 65 25 2c 63 6f 6e 74 72 6f 6c |ts(mute%,control| 00008c40 25 2c 31 35 29 0d 2d 82 41 20 20 20 20 20 20 20 |%,15).-.A | 00008c50 20 20 20 20 20 e7 20 6d 75 74 65 25 20 c8 99 20 | . mute% .. | 00008c60 22 53 6f 75 6e 64 5f 45 6e 61 62 6c 65 22 2c 31 |"Sound_Enable",1| 00008c70 20 8b 20 c8 99 20 22 53 6f 75 6e 64 5f 45 6e 61 | . .. "Sound_Ena| 00008c80 62 6c 65 22 2c 32 0d 2d 8c 1a 20 c9 20 33 38 37 |ble",2.-.. . 387| 00008c90 20 3a 20 e7 20 72 65 67 69 73 74 65 72 25 20 8c | : . register% .| 00008ca0 0d 2d 96 34 20 20 20 20 20 20 20 20 20 20 20 20 |.-.4 | 00008cb0 20 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 50 6f | .. "Wimp_GetPo| 00008cc0 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 70 6f 69 6e |interInfo",,poin| 00008cd0 74 65 72 25 0d 2d a0 4b 20 20 20 20 20 20 20 20 |ter%.-.K | 00008ce0 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 43 | .. "Wimp_C| 00008cf0 72 65 61 74 65 4d 65 6e 75 22 2c 2c 73 61 76 65 |reateMenu",,save| 00008d00 61 73 25 2c 70 6f 69 6e 74 65 72 25 21 30 2d 36 |as%,pointer%!0-6| 00008d10 34 2c 70 6f 69 6e 74 65 72 25 21 34 2b 36 34 0d |4,pointer%!4+64.| 00008d20 2d aa 11 20 20 20 20 20 20 20 20 20 20 20 20 cd |-.. .| 00008d30 0d 2d b4 3e 20 c9 20 33 38 38 20 3a 20 f2 70 75 |.-.> . 388 : .pu| 00008d40 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 |ticonsprite(cont| 00008d50 72 6f 6c 25 2c 30 2c 22 72 65 76 31 22 29 3a 73 |rol%,0,"rev1"):s| 00008d60 69 63 6e 25 3d 30 3a 6e 73 63 6e 25 3d b9 0d 2d |icn%=0:nscn%=..-| 00008d70 be 44 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 |.D ..| 00008d80 20 22 54 72 61 63 6b 65 72 5f 52 65 61 64 50 6f | "Tracker_ReadPo| 00008d90 73 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 20 b8 20 63 |s",,,,,lock% . c| 00008da0 2c 2c 6d 3a 63 2d 3d 31 3a e7 20 63 3c 30 20 63 |,,m:c-=1:. c<0 c| 00008db0 3d 6d 0d 2d c8 2e 20 20 20 20 20 20 20 20 20 20 |=m.-.. | 00008dc0 20 20 c8 99 20 22 54 72 61 63 6b 65 72 5f 53 65 | .. "Tracker_Se| 00008dd0 74 50 6f 73 22 2c 63 2c 2c 2c 2c 6c 6f 63 6b 25 |tPos",c,,,,lock%| 00008de0 0d 2d d2 29 20 c9 20 33 38 39 20 3a 20 c8 99 20 |.-.) . 389 : .. | 00008df0 22 54 72 61 63 6b 65 72 5f 50 61 75 73 65 22 2c |"Tracker_Pause",| 00008e00 2c 2c 2c 2c 6c 6f 63 6b 25 0d 2d dc 33 20 20 20 |,,,,lock%.-.3 | 00008e10 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 6f | .putico| 00008e20 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 |nsprite(control%| 00008e30 2c 31 2c 22 70 61 75 73 65 31 22 29 0d 2d e6 31 |,1,"pause1").-.1| 00008e40 20 20 20 20 20 20 20 20 20 20 20 20 f2 70 75 74 | .put| 00008e50 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 |iconsprite(contr| 00008e60 6f 6c 25 2c 32 2c 22 73 74 6f 70 22 29 0d 2d f0 |ol%,2,"stop").-.| 00008e70 31 20 20 20 20 20 20 20 20 20 20 20 20 f2 70 75 |1 .pu| 00008e80 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 |ticonsprite(cont| 00008e90 72 6f 6c 25 2c 33 2c 22 70 6c 61 79 22 29 0d 2d |rol%,3,"play").-| 00008ea0 fa 15 20 c9 20 33 39 30 20 3a 20 e7 20 64 6f 73 |.. . 390 : . dos| 00008eb0 25 20 8c 0d 2e 04 2d 20 20 20 20 20 20 20 20 20 |% ....- | 00008ec0 20 20 20 20 20 c8 99 20 22 54 72 61 63 6b 65 72 | .. "Tracker| 00008ed0 5f 53 74 6f 70 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 |_Stop",,,,,lock%| 00008ee0 0d 2e 0e 34 20 20 20 20 20 20 20 20 20 20 20 20 |...4 | 00008ef0 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 | .puticonsprite| 00008f00 28 63 6f 6e 74 72 6f 6c 25 2c 31 2c 22 70 61 75 |(control%,1,"pau| 00008f10 73 65 22 29 0d 2e 18 34 20 20 20 20 20 20 20 20 |se")...4 | 00008f20 20 20 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 | .puticonsp| 00008f30 72 69 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 32 2c |rite(control%,2,| 00008f40 22 73 74 6f 70 31 22 29 0d 2e 22 33 20 20 20 20 |"stop1").."3 | 00008f50 20 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 63 | .putic| 00008f60 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 6f 6c |onsprite(control| 00008f70 25 2c 33 2c 22 70 6c 61 79 22 29 0d 2e 2c 2e 20 |%,3,"play")..,. | 00008f80 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 70 75 | .pu| 00008f90 74 69 63 6f 6e 64 61 74 61 28 63 6f 6e 74 72 6f |ticondata(contro| 00008fa0 6c 25 2c 39 2c 22 30 22 29 0d 2e 36 2f 20 20 20 |l%,9,"0")..6/ | 00008fb0 20 20 20 20 20 20 20 20 20 20 20 f2 70 75 74 69 | .puti| 00008fc0 63 6f 6e 64 61 74 61 28 63 6f 6e 74 72 6f 6c 25 |condata(control%| 00008fd0 2c 31 30 2c 22 30 22 29 0d 2e 40 23 20 20 20 20 |,10,"0")..@# | 00008fe0 20 20 20 20 20 20 20 20 20 20 f2 63 6c 65 61 72 | .clear| 00008ff0 3a 70 6c 61 79 69 6e 67 25 3d a3 0d 2e 4a 11 20 |:playing%=...J. | 00009000 20 20 20 20 20 20 20 20 20 20 20 cc 0d 2e 54 2e | ...T.| 00009010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 | ..| 00009020 20 22 54 72 61 63 6b 65 72 5f 50 61 75 73 65 22 | "Tracker_Pause"| 00009030 2c 2c 2c 2c 2c 6c 6f 63 6b 25 0d 2e 5e 30 20 20 |,,,,,lock%..^0 | 00009040 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 | .. "| 00009050 54 72 61 63 6b 65 72 5f 53 65 74 50 6f 73 22 2c |Tracker_SetPos",| 00009060 30 2c 2c 2c 2c 6c 6f 63 6b 25 0d 2e 68 34 20 20 |0,,,,lock%..h4 | 00009070 20 20 20 20 20 20 20 20 20 20 20 20 f2 70 75 74 | .put| 00009080 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 72 |iconsprite(contr| 00009090 6f 6c 25 2c 31 2c 22 70 61 75 73 65 22 29 0d 2e |ol%,1,"pause")..| 000090a0 72 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |r4 | 000090b0 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 |.puticonsprite(c| 000090c0 6f 6e 74 72 6f 6c 25 2c 32 2c 22 73 74 6f 70 31 |ontrol%,2,"stop1| 000090d0 22 29 0d 2e 7c 33 20 20 20 20 20 20 20 20 20 20 |")..|3 | 000090e0 20 20 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 | .puticonspri| 000090f0 74 65 28 63 6f 6e 74 72 6f 6c 25 2c 33 2c 22 70 |te(control%,3,"p| 00009100 6c 61 79 22 29 0d 2e 86 11 20 20 20 20 20 20 20 |lay").... | 00009110 20 20 20 20 20 cd 0d 2e 90 28 20 c9 20 33 39 31 | ....( . 391| 00009120 20 3a 20 c8 99 20 22 54 72 61 63 6b 65 72 5f 50 | : .. "Tracker_P| 00009130 6c 61 79 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 0d 2e |lay",,,,,lock%..| 00009140 9a 32 20 20 20 20 20 20 20 20 20 20 20 20 f2 70 |.2 .p| 00009150 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e |uticonsprite(con| 00009160 74 72 6f 6c 25 2c 31 2c 22 70 61 75 73 65 22 29 |trol%,1,"pause")| 00009170 0d 2e a4 31 20 20 20 20 20 20 20 20 20 20 20 20 |...1 | 00009180 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 |.puticonsprite(c| 00009190 6f 6e 74 72 6f 6c 25 2c 32 2c 22 73 74 6f 70 22 |ontrol%,2,"stop"| 000091a0 29 0d 2e ae 32 20 20 20 20 20 20 20 20 20 20 20 |)...2 | 000091b0 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 | .puticonsprite(| 000091c0 63 6f 6e 74 72 6f 6c 25 2c 33 2c 22 70 6c 61 79 |control%,3,"play| 000091d0 31 22 29 0d 2e b8 3e 20 c9 20 33 39 32 20 3a 20 |1")...> . 392 : | 000091e0 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 |.puticonsprite(c| 000091f0 6f 6e 74 72 6f 6c 25 2c 34 2c 22 66 77 64 31 22 |ontrol%,4,"fwd1"| 00009200 29 3a 73 69 63 6e 25 3d 34 3a 6e 73 63 6e 25 3d |):sicn%=4:nscn%=| 00009210 b9 0d 2e c2 44 20 20 20 20 20 20 20 20 20 20 20 |....D | 00009220 20 c8 99 20 22 54 72 61 63 6b 65 72 5f 52 65 61 | .. "Tracker_Rea| 00009230 64 50 6f 73 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 20 |dPos",,,,,lock% | 00009240 b8 20 63 2c 2c 6d 3a 63 2b 3d 31 3a e7 20 63 3e |. c,,m:c+=1:. c>| 00009250 6d 20 63 3d 30 0d 2e cc 2e 20 20 20 20 20 20 20 |m c=0.... | 00009260 20 20 20 20 20 c8 99 20 22 54 72 61 63 6b 65 72 | .. "Tracker| 00009270 5f 53 65 74 50 6f 73 22 2c 63 2c 2c 2c 2c 6c 6f |_SetPos",c,,,,lo| 00009280 63 6b 25 0d 2e d6 1c 20 c9 20 34 30 31 20 3a 20 |ck%.... . 401 : | 00009290 e7 20 72 65 67 69 73 74 65 72 65 64 25 20 8c 0d |. registered% ..| 000092a0 2e e0 33 20 20 20 20 20 20 20 20 20 20 20 20 20 |..3 | 000092b0 20 63 6f 70 65 6e 25 3d ac 63 6f 70 65 6e 25 3a | copen%=.copen%:| 000092c0 f2 74 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 2c |.tickmenu(open%,| 000092d0 30 29 0d 2e ea 3b 20 20 20 20 20 20 20 20 20 20 |0)...; | 000092e0 20 20 20 20 e7 20 63 6f 70 65 6e 25 20 f2 6f 70 | . copen% .op| 000092f0 65 6e 75 70 28 63 6f 6e 74 72 6f 6c 25 2c 30 2c |enup(control%,0,| 00009300 31 30 32 34 2c 36 32 35 2c 33 32 35 29 0d 2e f4 |1024,625,325)...| 00009310 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 |, .| 00009320 20 ac 20 63 6f 70 65 6e 25 20 f2 73 68 75 74 28 | . copen% .shut(| 00009330 63 6f 6e 74 72 6f 6c 25 29 0d 2e fe 11 20 20 20 |control%).... | 00009340 20 20 20 20 20 20 20 20 20 cd 0d 2f 08 1c 20 c9 | ../.. .| 00009350 20 34 30 32 20 3a 20 e7 20 72 65 67 69 73 74 65 | 402 : . registe| 00009360 72 65 64 25 20 8c 0d 2f 12 33 20 20 20 20 20 20 |red% ../.3 | 00009370 20 20 20 20 20 20 20 20 74 6f 70 65 6e 25 3d ac | topen%=.| 00009380 74 6f 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 |topen%:.tickmenu| 00009390 28 6f 70 65 6e 25 2c 31 29 0d 2f 1c 3d 20 20 20 |(open%,1)./.= | 000093a0 20 20 20 20 20 20 20 20 20 20 20 e7 20 74 6f 70 | . top| 000093b0 65 6e 25 20 f2 6f 70 65 6e 75 70 28 74 75 6e 65 |en% .openup(tune| 000093c0 69 6e 66 6f 25 2c 35 38 30 2c 35 33 30 2c 37 30 |info%,580,530,70| 000093d0 30 2c 34 33 30 29 0d 2f 26 2d 20 20 20 20 20 20 |0,430)./&- | 000093e0 20 20 20 20 20 20 20 20 e7 20 ac 20 74 6f 70 65 | . . tope| 000093f0 6e 25 20 f2 73 68 75 74 28 74 75 6e 65 69 6e 66 |n% .shut(tuneinf| 00009400 6f 25 29 0d 2f 30 11 20 20 20 20 20 20 20 20 20 |o%)./0. | 00009410 20 20 20 cd 0d 2f 3a 1c 20 c9 20 34 30 33 20 3a | ../:. . 403 :| 00009420 20 e7 20 72 65 67 69 73 74 65 72 65 64 25 20 8c | . registered% .| 00009430 0d 2f 44 33 20 20 20 20 20 20 20 20 20 20 20 20 |./D3 | 00009440 20 20 73 6f 70 65 6e 25 3d ac 73 6f 70 65 6e 25 | sopen%=.sopen%| 00009450 3a f2 74 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 |:.tickmenu(open%| 00009460 2c 32 29 0d 2f 4e 3b 20 20 20 20 20 20 20 20 20 |,2)./N; | 00009470 20 20 20 20 20 e7 20 73 6f 70 65 6e 25 20 f2 77 | . sopen% .w| 00009480 69 6e 64 6f 77 5f 63 65 6e 74 72 65 28 73 74 65 |indow_centre(ste| 00009490 72 65 6f 25 2c 31 31 31 30 2c 32 35 30 29 0d 2f |reo%,1110,250)./| 000094a0 58 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |X+ | 000094b0 e7 20 ac 20 73 6f 70 65 6e 25 20 f2 73 68 75 74 |. . sopen% .shut| 000094c0 28 73 74 65 72 65 6f 25 29 0d 2f 62 11 20 20 20 |(stereo%)./b. | 000094d0 20 20 20 20 20 20 20 20 20 cd 0d 2f 6c 1c 20 c9 | ../l. .| 000094e0 20 34 30 34 20 3a 20 e7 20 72 65 67 69 73 74 65 | 404 : . registe| 000094f0 72 65 64 25 20 8c 0d 2f 76 33 20 20 20 20 20 20 |red% ../v3 | 00009500 20 20 20 20 20 20 20 20 76 6f 70 65 6e 25 3d ac | vopen%=.| 00009510 76 6f 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 |vopen%:.tickmenu| 00009520 28 6f 70 65 6e 25 2c 33 29 0d 2f 80 3d 20 20 20 |(open%,3)./.= | 00009530 20 20 20 20 20 20 20 20 20 20 20 e7 20 76 6f 70 | . vop| 00009540 65 6e 25 20 f2 6f 70 65 6e 62 61 63 6b 28 73 61 |en% .openback(sa| 00009550 6d 70 6c 65 73 25 2c 30 2c 31 30 30 30 2c 37 30 |mples%,0,1000,70| 00009560 30 2c 38 35 30 29 0d 2f 8a 2c 20 20 20 20 20 20 |0,850)./., | 00009570 20 20 20 20 20 20 20 20 e7 20 ac 20 76 6f 70 65 | . . vope| 00009580 6e 25 20 f2 73 68 75 74 28 73 61 6d 70 6c 65 73 |n% .shut(samples| 00009590 25 29 0d 2f 94 11 20 20 20 20 20 20 20 20 20 20 |%)./.. | 000095a0 20 20 cd 0d 2f 9e 1c 20 c9 20 34 30 35 20 3a 20 | ../.. . 405 : | 000095b0 e7 20 72 65 67 69 73 74 65 72 65 64 25 20 8c 0d |. registered% ..| 000095c0 2f a8 33 20 20 20 20 20 20 20 20 20 20 20 20 20 |/.3 | 000095d0 20 62 6f 70 65 6e 25 3d ac 62 6f 70 65 6e 25 3a | bopen%=.bopen%:| 000095e0 f2 74 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 2c |.tickmenu(open%,| 000095f0 34 29 0d 2f b2 3a 20 20 20 20 20 20 20 20 20 20 |4)./.: | 00009600 20 20 20 20 e7 20 62 6f 70 65 6e 25 20 f2 77 69 | . bopen% .wi| 00009610 6e 64 6f 77 5f 63 65 6e 74 72 65 28 62 75 66 66 |ndow_centre(buff| 00009620 65 72 25 2c 37 30 30 2c 34 37 35 29 0d 2f bc 2b |er%,700,475)./.+| 00009630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 | . | 00009640 ac 20 62 6f 70 65 6e 25 20 f2 73 68 75 74 28 62 |. bopen% .shut(b| 00009650 75 66 66 65 72 25 29 0d 2f c6 11 20 20 20 20 20 |uffer%)./.. | 00009660 20 20 20 20 20 20 20 cd 0d 2f d0 1c 20 c9 20 34 | ../.. . 4| 00009670 30 36 20 3a 20 e7 20 72 65 67 69 73 74 65 72 65 |06 : . registere| 00009680 64 25 20 8c 0d 2f da 33 20 20 20 20 20 20 20 20 |d% ../.3 | 00009690 20 20 20 20 20 20 6f 6f 70 65 6e 25 3d ac 6f 6f | oopen%=.oo| 000096a0 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 28 6f |pen%:.tickmenu(o| 000096b0 70 65 6e 25 2c 35 29 0d 2f e4 3b 20 20 20 20 20 |pen%,5)./.; | 000096c0 20 20 20 20 20 20 20 20 20 e7 20 6f 6f 70 65 6e | . oopen| 000096d0 25 20 f2 77 69 6e 64 6f 77 5f 63 65 6e 74 72 65 |% .window_centre| 000096e0 28 6f 70 74 69 6f 6e 73 25 2c 37 36 38 2c 33 36 |(options%,768,36| 000096f0 37 29 0d 2f ee 2c 20 20 20 20 20 20 20 20 20 20 |7)./., | 00009700 20 20 20 20 e7 20 ac 20 6f 6f 70 65 6e 25 20 f2 | . . oopen% .| 00009710 73 68 75 74 28 6f 70 74 69 6f 6e 73 25 29 0d 2f |shut(options%)./| 00009720 f8 11 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d |.. ..| 00009730 30 02 1c 20 c9 20 34 30 37 20 3a 20 e7 20 72 65 |0.. . 407 : . re| 00009740 67 69 73 74 65 72 65 64 25 20 8c 0d 30 0c 35 20 |gistered% ..0.5 | 00009750 20 20 20 20 20 20 20 20 20 20 20 20 20 76 75 6f | vuo| 00009760 70 65 6e 25 3d ac 76 75 6f 70 65 6e 25 3a f2 74 |pen%=.vuopen%:.t| 00009770 69 63 6b 6d 65 6e 75 28 6f 70 65 6e 25 2c 36 29 |ickmenu(open%,6)| 00009780 0d 30 16 3d 20 20 20 20 20 20 20 20 20 20 20 20 |.0.= | 00009790 20 20 e7 20 76 75 6f 70 65 6e 25 20 f2 6f 70 65 | . vuopen% .ope| 000097a0 6e 75 70 28 76 75 6d 65 74 65 72 25 2c 39 37 30 |nup(vumeter%,970| 000097b0 2c 39 30 30 2c 33 31 30 2c 32 38 30 29 0d 30 20 |,900,310,280).0 | 000097c0 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 |- .| 000097d0 20 ac 20 76 75 6f 70 65 6e 25 20 f2 73 68 75 74 | . vuopen% .shut| 000097e0 28 76 75 6d 65 74 65 72 25 29 0d 30 2a 11 20 20 |(vumeter%).0*. | 000097f0 20 20 20 20 20 20 20 20 20 20 cd 0d 30 34 1c 20 | ..04. | 00009800 c9 20 34 30 38 20 3a 20 e7 20 72 65 67 69 73 74 |. 408 : . regist| 00009810 65 72 65 64 25 20 8c 0d 30 3e 33 20 20 20 20 20 |ered% ..0>3 | 00009820 20 20 20 20 20 20 20 20 20 77 6f 70 65 6e 25 3d | wopen%=| 00009830 ac 77 6f 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e |.wopen%:.tickmen| 00009840 75 28 6f 70 65 6e 25 2c 37 29 0d 30 48 4d 20 20 |u(open%,7).0HM | 00009850 20 20 20 20 20 20 20 20 20 20 20 20 e7 20 77 6f | . wo| 00009860 70 65 6e 25 20 f2 6f 70 65 6e 6c 69 6e 6b 65 64 |pen% .openlinked| 00009870 28 77 61 76 65 66 6f 72 6d 25 2c 77 61 76 65 70 |(waveform%,wavep| 00009880 61 6e 65 25 2c 31 32 38 30 2c 33 39 30 2c 32 31 |ane%,1280,390,21| 00009890 31 32 2c 32 35 36 29 0d 30 52 3e 20 20 20 20 20 |12,256).0R> | 000098a0 20 20 20 20 20 20 20 20 20 e7 20 ac 20 77 6f 70 | . . wop| 000098b0 65 6e 25 20 f2 73 68 75 74 28 77 61 76 65 66 6f |en% .shut(wavefo| 000098c0 72 6d 25 29 3a f2 73 68 75 74 28 77 61 76 65 70 |rm%):.shut(wavep| 000098d0 61 6e 65 25 29 0d 30 5c 11 20 20 20 20 20 20 20 |ane%).0\. | 000098e0 20 20 20 20 20 cd 0d 30 66 1c 20 c9 20 34 30 39 | ..0f. . 409| 000098f0 20 3a 20 e7 20 72 65 67 69 73 74 65 72 65 64 25 | : . registered%| 00009900 20 8c 0d 30 70 35 20 20 20 20 20 20 20 20 20 20 | ..0p5 | 00009910 20 20 20 20 63 72 6f 70 65 6e 25 3d ac 63 72 6f | cropen%=.cro| 00009920 70 65 6e 25 3a f2 74 69 63 6b 6d 65 6e 75 28 6f |pen%:.tickmenu(o| 00009930 70 65 6e 25 2c 38 29 0d 30 7a 39 20 20 20 20 20 |pen%,8).0z9 | 00009940 20 20 20 20 20 20 20 20 20 e7 20 63 72 6f 70 65 | . crope| 00009950 6e 25 20 f2 6f 70 65 6e 75 70 28 63 72 6f 25 2c |n% .openup(cro%,| 00009960 37 30 30 2c 35 30 30 2c 31 35 30 2c 32 30 30 29 |700,500,150,200)| 00009970 0d 30 84 29 20 20 20 20 20 20 20 20 20 20 20 20 |.0.) | 00009980 20 20 e7 20 ac 20 63 72 6f 70 65 6e 25 20 f2 73 | . . cropen% .s| 00009990 68 75 74 28 63 72 6f 25 29 0d 30 8e 11 20 20 20 |hut(cro%).0.. | 000099a0 20 20 20 20 20 20 20 20 20 cd 0d 30 98 1c 20 c9 | ..0.. .| 000099b0 20 34 37 34 20 3a 20 e7 20 72 65 67 69 73 74 65 | 474 : . registe| 000099c0 72 65 64 25 20 8c 0d 30 a2 1a 20 20 20 20 20 20 |red% ..0.. | 000099d0 20 20 20 20 20 20 20 20 f2 6d 6f 6e 69 74 6f 72 | .monitor| 000099e0 0d 30 ac 11 20 20 20 20 20 20 20 20 20 20 20 20 |.0.. | 000099f0 cd 0d 30 b6 27 20 c9 20 33 39 33 20 3a 20 63 76 |..0.' . 393 : cv| 00009a00 6f 6c 25 2d 3d 35 3a e7 20 63 76 6f 6c 25 3c 30 |ol%-=5:. cvol%<0| 00009a10 20 63 76 6f 6c 25 3d 30 0d 30 c0 26 20 20 20 20 | cvol%=0.0.& | 00009a20 20 20 20 20 20 20 20 20 78 25 3d a4 69 6e 74 28 | x%=.int(| 00009a30 63 76 6f 6c 25 2f 76 6f 6c 75 6e 69 74 29 0d 30 |cvol%/volunit).0| 00009a40 ca 31 20 20 20 20 20 20 20 20 20 20 20 20 70 6f |.1 po| 00009a50 69 6e 74 65 72 25 21 30 3d 63 6f 6e 74 72 6f 6c |inter%!0=control| 00009a60 25 3a 70 6f 69 6e 74 65 72 25 21 34 3d 31 38 0d |%:pointer%!4=18.| 00009a70 30 d4 30 20 20 20 20 20 20 20 20 20 20 20 20 c8 |0.0 .| 00009a80 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 |. "Wimp_GetIconS| 00009a90 74 61 74 65 22 2c 2c 70 6f 69 6e 74 65 72 25 0d |tate",,pointer%.| 00009aa0 30 de 2e 20 20 20 20 20 20 20 20 20 20 20 20 c8 |0.. .| 00009ab0 99 20 22 57 69 6d 70 5f 44 65 6c 65 74 65 49 63 |. "Wimp_DeleteIc| 00009ac0 6f 6e 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 30 e8 |on",,pointer%.0.| 00009ad0 29 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 69 |) poi| 00009ae0 6e 74 65 72 25 21 31 36 3d 70 6f 69 6e 74 65 72 |nter%!16=pointer| 00009af0 25 21 38 2b 78 25 0d 30 f2 44 20 20 20 20 20 20 |%!8+x%.0.D | 00009b00 20 20 20 20 20 20 70 6f 69 6e 74 65 72 25 21 34 | pointer%!4| 00009b10 3d 63 6f 6e 74 72 6f 6c 25 3a c8 99 20 22 57 69 |=control%:.. "Wi| 00009b20 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e 22 2c 2c |mp_CreateIcon",,| 00009b30 70 6f 69 6e 74 65 72 25 2b 34 0d 30 fc 3e 20 20 |pointer%+4.0.> | 00009b40 20 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 | pointe| 00009b50 72 25 21 34 3d 31 39 3a c8 99 20 22 57 69 6d 70 |r%!4=19:.. "Wimp| 00009b60 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c |_GetIconState",,| 00009b70 70 6f 69 6e 74 65 72 25 0d 31 06 5f 20 20 20 20 |pointer%.1._ | 00009b80 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 | .. "Wimp| 00009b90 5f 46 6f 72 63 65 52 65 64 72 61 77 22 2c 70 6f |_ForceRedraw",po| 00009ba0 69 6e 74 65 72 25 21 30 2c 70 6f 69 6e 74 65 72 |inter%!0,pointer| 00009bb0 25 21 38 2c 70 6f 69 6e 74 65 72 25 21 31 32 2c |%!8,pointer%!12,| 00009bc0 70 6f 69 6e 74 65 72 25 21 31 36 2c 70 6f 69 6e |pointer%!16,poin| 00009bd0 74 65 72 25 21 32 30 0d 31 10 2b 20 c9 20 34 35 |ter%!20.1.+ . 45| 00009be0 38 20 3a 20 63 76 6f 6c 25 2b 3d 35 3a e7 20 63 |8 : cvol%+=5:. c| 00009bf0 76 6f 6c 25 3e 32 35 35 20 63 76 6f 6c 25 3d 32 |vol%>255 cvol%=2| 00009c00 35 35 0d 31 1a 26 20 20 20 20 20 20 20 20 20 20 |55.1.& | 00009c10 20 20 78 25 3d a4 69 6e 74 28 63 76 6f 6c 25 2f | x%=.int(cvol%/| 00009c20 76 6f 6c 75 6e 69 74 29 0d 31 24 31 20 20 20 20 |volunit).1$1 | 00009c30 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 25 | pointer%| 00009c40 21 30 3d 63 6f 6e 74 72 6f 6c 25 3a 70 6f 69 6e |!0=control%:poin| 00009c50 74 65 72 25 21 34 3d 31 38 0d 31 2e 30 20 20 20 |ter%!4=18.1.0 | 00009c60 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d | .. "Wim| 00009c70 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c |p_GetIconState",| 00009c80 2c 70 6f 69 6e 74 65 72 25 0d 31 38 2e 20 20 20 |,pointer%.18. | 00009c90 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d | .. "Wim| 00009ca0 70 5f 44 65 6c 65 74 65 49 63 6f 6e 22 2c 2c 70 |p_DeleteIcon",,p| 00009cb0 6f 69 6e 74 65 72 25 0d 31 42 29 20 20 20 20 20 |ointer%.1B) | 00009cc0 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 25 21 | pointer%!| 00009cd0 31 36 3d 70 6f 69 6e 74 65 72 25 21 38 2b 78 25 |16=pointer%!8+x%| 00009ce0 0d 31 4c 44 20 20 20 20 20 20 20 20 20 20 20 20 |.1LD | 00009cf0 70 6f 69 6e 74 65 72 25 21 34 3d 63 6f 6e 74 72 |pointer%!4=contr| 00009d00 6f 6c 25 3a c8 99 20 22 57 69 6d 70 5f 43 72 65 |ol%:.. "Wimp_Cre| 00009d10 61 74 65 49 63 6f 6e 22 2c 2c 70 6f 69 6e 74 65 |ateIcon",,pointe| 00009d20 72 25 2b 34 0d 31 56 3e 20 20 20 20 20 20 20 20 |r%+4.1V> | 00009d30 20 20 20 20 70 6f 69 6e 74 65 72 25 21 34 3d 31 | pointer%!4=1| 00009d40 39 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 |9:.. "Wimp_GetIc| 00009d50 6f 6e 53 74 61 74 65 22 2c 2c 70 6f 69 6e 74 65 |onState",,pointe| 00009d60 72 25 0d 31 60 5f 20 20 20 20 20 20 20 20 20 20 |r%.1`_ | 00009d70 20 20 c8 99 20 22 57 69 6d 70 5f 46 6f 72 63 65 | .. "Wimp_Force| 00009d80 52 65 64 72 61 77 22 2c 70 6f 69 6e 74 65 72 25 |Redraw",pointer%| 00009d90 21 30 2c 70 6f 69 6e 74 65 72 25 21 38 2c 70 6f |!0,pointer%!8,po| 00009da0 69 6e 74 65 72 25 21 31 32 2c 70 6f 69 6e 74 65 |inter%!12,pointe| 00009db0 72 25 21 31 36 2c 70 6f 69 6e 74 65 72 25 21 32 |r%!16,pointer%!2| 00009dc0 30 0d 31 6a 16 20 c9 20 34 35 39 20 3a 20 63 76 |0.1j. . 459 : cv| 00009dd0 6f 6c 25 3d 32 35 35 0d 31 74 26 20 20 20 20 20 |ol%=255.1t& | 00009de0 20 20 20 20 20 20 20 78 25 3d a4 69 6e 74 28 63 | x%=.int(c| 00009df0 76 6f 6c 25 2f 76 6f 6c 75 6e 69 74 29 0d 31 7e |vol%/volunit).1~| 00009e00 31 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 69 |1 poi| 00009e10 6e 74 65 72 25 21 30 3d 63 6f 6e 74 72 6f 6c 25 |nter%!0=control%| 00009e20 3a 70 6f 69 6e 74 65 72 25 21 34 3d 31 38 0d 31 |:pointer%!4=18.1| 00009e30 88 30 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 |.0 ..| 00009e40 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 | "Wimp_GetIconSt| 00009e50 61 74 65 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 31 |ate",,pointer%.1| 00009e60 92 2e 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 |.. ..| 00009e70 20 22 57 69 6d 70 5f 44 65 6c 65 74 65 49 63 6f | "Wimp_DeleteIco| 00009e80 6e 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 31 9c 29 |n",,pointer%.1.)| 00009e90 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 69 6e | poin| 00009ea0 74 65 72 25 21 31 36 3d 70 6f 69 6e 74 65 72 25 |ter%!16=pointer%| 00009eb0 21 38 2b 78 25 0d 31 a6 44 20 20 20 20 20 20 20 |!8+x%.1.D | 00009ec0 20 20 20 20 20 70 6f 69 6e 74 65 72 25 21 34 3d | pointer%!4=| 00009ed0 63 6f 6e 74 72 6f 6c 25 3a c8 99 20 22 57 69 6d |control%:.. "Wim| 00009ee0 70 5f 43 72 65 61 74 65 49 63 6f 6e 22 2c 2c 70 |p_CreateIcon",,p| 00009ef0 6f 69 6e 74 65 72 25 2b 34 0d 31 b0 3e 20 20 20 |ointer%+4.1.> | 00009f00 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 | pointer| 00009f10 25 21 34 3d 31 39 3a c8 99 20 22 57 69 6d 70 5f |%!4=19:.. "Wimp_| 00009f20 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 70 |GetIconState",,p| 00009f30 6f 69 6e 74 65 72 25 0d 31 ba 5f 20 20 20 20 20 |ointer%.1._ | 00009f40 20 20 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f | .. "Wimp_| 00009f50 46 6f 72 63 65 52 65 64 72 61 77 22 2c 70 6f 69 |ForceRedraw",poi| 00009f60 6e 74 65 72 25 21 30 2c 70 6f 69 6e 74 65 72 25 |nter%!0,pointer%| 00009f70 21 38 2c 70 6f 69 6e 74 65 72 25 21 31 32 2c 70 |!8,pointer%!12,p| 00009f80 6f 69 6e 74 65 72 25 21 31 36 2c 70 6f 69 6e 74 |ointer%!16,point| 00009f90 65 72 25 21 32 30 0d 31 c4 2e 20 20 20 20 20 20 |er%!20.1.. | 00009fa0 20 20 20 20 20 20 c8 99 20 22 54 72 61 63 6b 65 | .. "Tracke| 00009fb0 72 5f 53 65 74 50 6f 73 22 2c 30 2c 2c 2c 2c 6c |r_SetPos",0,,,,l| 00009fc0 6f 63 6b 25 0d 31 ce 2b 20 20 20 20 20 20 20 20 |ock%.1.+ | 00009fd0 20 20 20 20 c8 99 20 22 54 72 61 63 6b 65 72 5f | .. "Tracker_| 00009fe0 50 6c 61 79 22 2c 2c 2c 2c 2c 6c 6f 63 6b 25 0d |Play",,,,,lock%.| 00009ff0 31 d8 32 20 20 20 20 20 20 20 20 20 20 20 20 f2 |1.2 .| 0000a000 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f |puticonsprite(co| 0000a010 6e 74 72 6f 6c 25 2c 31 2c 22 70 61 75 73 65 22 |ntrol%,1,"pause"| 0000a020 29 0d 31 e2 31 20 20 20 20 20 20 20 20 20 20 20 |).1.1 | 0000a030 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 | .puticonsprite(| 0000a040 63 6f 6e 74 72 6f 6c 25 2c 32 2c 22 73 74 6f 70 |control%,2,"stop| 0000a050 22 29 0d 31 ec 32 20 20 20 20 20 20 20 20 20 20 |").1.2 | 0000a060 20 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 | .puticonsprite| 0000a070 28 63 6f 6e 74 72 6f 6c 25 2c 33 2c 22 70 6c 61 |(control%,3,"pla| 0000a080 79 31 22 29 0d 31 f6 38 20 20 20 20 20 20 20 20 |y1").1.8 | 0000a090 20 20 20 20 c8 99 20 22 53 6f 75 6e 64 5f 53 70 | .. "Sound_Sp| 0000a0a0 65 61 6b 65 72 22 2c 31 3a c8 99 20 22 53 6f 75 |eaker",1:.. "Sou| 0000a0b0 6e 64 5f 45 6e 61 62 6c 65 22 2c 32 0d 32 00 21 |nd_Enable",2.2.!| 0000a0c0 20 20 20 20 20 20 20 20 20 20 20 20 73 70 65 61 | spea| 0000a0d0 6b 65 72 3d a3 3a 6d 75 74 65 25 3d a3 0d 32 0a |ker=.:mute%=..2.| 0000a0e0 34 20 20 20 20 20 20 20 20 20 20 20 20 f2 70 75 |4 .pu| 0000a0f0 74 69 63 6f 6e 73 70 72 69 74 65 28 63 6f 6e 74 |ticonsprite(cont| 0000a100 72 6f 6c 25 2c 31 32 2c 22 73 65 6c 6f 66 66 22 |rol%,12,"seloff"| 0000a110 29 0d 32 14 34 20 20 20 20 20 20 20 20 20 20 20 |).2.4 | 0000a120 20 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 | .puticonsprite(| 0000a130 63 6f 6e 74 72 6f 6c 25 2c 31 35 2c 22 73 65 6c |control%,15,"sel| 0000a140 6f 66 66 22 29 0d 32 1e 1c 20 c9 20 34 37 34 20 |off").2.. . 474 | 0000a150 3a 20 e7 20 72 65 67 69 73 74 65 72 65 64 25 20 |: . registered% | 0000a160 8c 0d 32 28 2b 20 20 20 20 20 20 20 20 20 20 20 |..2(+ | 0000a170 20 20 20 70 6f 69 6e 74 65 72 25 21 30 3d 31 3a | pointer%!0=1:| 0000a180 70 6f 69 6e 74 65 72 25 21 34 3d 39 0d 32 32 39 |pointer%!4=9.229| 0000a190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c8 99 | ..| 0000a1a0 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 | "Wimp_SendMessa| 0000a1b0 67 65 22 2c 39 2c 70 6f 69 6e 74 65 72 25 2c 74 |ge",9,pointer%,t| 0000a1c0 61 73 6b 68 25 0d 32 3c 11 20 20 20 20 20 20 20 |askh%.2<. | 0000a1d0 20 20 20 20 20 cd 0d 32 46 05 cb 0d 32 50 05 e1 | ..2F...2P..| 0000a1e0 0d 32 5a 04 0d 32 64 14 dd 20 f2 62 75 66 66 65 |.2Z..2d.. .buffe| 0000a1f0 72 28 73 69 7a 65 25 29 0d 32 6e 3f e7 20 70 6c |r(size%).2n?. pl| 0000a200 61 79 69 6e 67 25 20 f2 74 65 6c 6c 65 6d 6f 66 |aying% .tellemof| 0000a210 66 28 22 43 61 6e 27 74 20 61 6c 74 65 72 20 62 |f("Can't alter b| 0000a220 75 66 66 65 72 20 77 68 69 6c 65 20 70 6c 61 79 |uffer while play| 0000a230 69 6e 67 22 29 3a e1 0d 32 78 23 e7 20 62 75 66 |ing"):..2x#. buf| 0000a240 66 25 3e 30 20 8c 20 f2 72 65 6c 65 61 73 65 5f |f%>0 . .release_| 0000a250 72 6d 61 28 62 75 66 66 25 29 0d 32 82 35 ff 28 |rma(buff%).2.5.(| 0000a260 22 52 4d 41 46 72 65 65 20 22 2b c3 28 73 69 7a |"RMAFree "+.(siz| 0000a270 65 25 29 2b 22 20 45 72 72 6f 72 20 30 20 49 6e |e%)+" Error 0 In| 0000a280 73 75 66 66 69 63 65 6e 74 20 52 4d 41 22 29 0d |sufficent RMA").| 0000a290 32 8c 22 62 75 66 66 65 72 73 69 7a 65 25 3d 28 |2."buffersize%=(| 0000a2a0 73 69 7a 65 25 2a 31 30 32 34 29 20 80 20 ac 20 |size%*1024) . . | 0000a2b0 33 0d 32 96 21 62 75 66 66 25 3d a4 63 6c 61 69 |3.2.!buff%=.clai| 0000a2c0 6d 5f 72 6d 61 28 62 75 66 66 65 72 73 69 7a 65 |m_rma(buffersize| 0000a2d0 25 29 0d 32 a0 25 c8 99 20 22 4f 53 5f 48 65 61 |%).2.%.. "OS_Hea| 0000a2e0 70 22 2c 30 2c 62 75 66 66 25 2c 2c 62 75 66 66 |p",0,buff%,,buff| 0000a2f0 65 72 73 69 7a 65 25 0d 32 aa 19 f2 72 65 64 6f |ersize%.2...redo| 0000a300 5f 62 75 66 66 28 6c 65 6e 62 79 74 65 73 25 29 |_buff(lenbytes%)| 0000a310 0d 32 b4 05 e1 0d 32 be 04 0d 32 c8 17 dd 20 f2 |.2....2...2... .| 0000a320 68 6f 6c 64 5f 69 74 28 77 69 6e 64 6f 77 25 29 |hold_it(window%)| 0000a330 0d 32 d2 0d ea 20 66 69 6e 69 73 68 25 0d 32 dc |.2... finish%.2.| 0000a340 10 c8 8e 20 77 69 6e 64 6f 77 25 20 ca 0d 32 e6 |... window% ..2.| 0000a350 29 c9 20 6f 64 64 25 20 3a 20 f2 77 69 6e 64 6f |). odd% : .windo| 0000a360 77 5f 63 65 6e 74 72 65 28 6f 64 64 25 2c 37 35 |w_centre(odd%,75| 0000a370 30 2c 33 30 30 29 0d 32 f0 2a c9 20 68 65 6c 70 |0,300).2.*. help| 0000a380 25 3a 20 f2 77 69 6e 64 6f 77 5f 63 65 6e 74 72 |%: .window_centr| 0000a390 65 28 68 65 6c 70 25 2c 38 30 30 2c 34 30 30 29 |e(help%,800,400)| 0000a3a0 0d 32 fa 05 cb 0d 33 04 3b 70 6f 69 6e 74 65 72 |.2....3.;pointer| 0000a3b0 25 21 30 3d 77 69 6e 64 6f 77 25 3a c8 99 20 22 |%!0=window%:.. "| 0000a3c0 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 4f 75 |Wimp_GetWindowOu| 0000a3d0 74 6c 69 6e 65 22 2c 2c 70 6f 69 6e 74 65 72 25 |tline",,pointer%| 0000a3e0 0d 33 0e 43 78 6d 69 6e 25 3d 70 6f 69 6e 74 65 |.3.Cxmin%=pointe| 0000a3f0 72 25 21 34 3a 79 6d 69 6e 25 3d 70 6f 69 6e 74 |r%!4:ymin%=point| 0000a400 65 72 25 21 38 3a 78 73 69 7a 65 25 3d 70 6f 69 |er%!8:xsize%=poi| 0000a410 6e 74 65 72 25 21 31 32 2d 70 6f 69 6e 74 65 72 |nter%!12-pointer| 0000a420 25 21 34 0d 33 18 41 79 73 69 7a 65 25 3d 70 6f |%!4.3.Aysize%=po| 0000a430 69 6e 74 65 72 25 21 31 36 2d 70 6f 69 6e 74 65 |inter%!16-pointe| 0000a440 72 25 21 38 3a c8 97 20 c8 93 20 78 6d 69 6e 25 |r%!8:.. .. xmin%| 0000a450 2c 79 6d 69 6e 25 2c 78 73 69 7a 65 25 2c 79 73 |,ymin%,xsize%,ys| 0000a460 69 7a 65 25 0d 33 22 0d 66 69 6e 69 73 68 25 3d |ize%.3".finish%=| 0000a470 a3 0d 33 2c 05 f5 0d 33 36 21 c8 99 20 22 57 69 |..3,...36!.. "Wi| 0000a480 6d 70 5f 50 6f 6c 6c 22 2c 2c 70 6f 69 6e 74 65 |mp_Poll",,pointe| 0000a490 72 25 20 b8 20 72 25 0d 33 40 0b c8 8e 20 72 25 |r% . r%.3@... r%| 0000a4a0 20 ca 0d 33 4a 12 c9 20 31 20 3a 20 f2 72 65 64 | ..3J.. 1 : .red| 0000a4b0 72 61 77 32 0d 33 54 28 c9 20 32 20 3a 20 c8 99 |raw2.3T(. 2 : ..| 0000a4c0 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f | "Wimp_OpenWindo| 0000a4d0 77 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 33 5e 29 |w",,pointer%.3^)| 0000a4e0 c9 20 33 20 3a 20 c8 99 20 22 57 69 6d 70 5f 43 |. 3 : .. "Wimp_C| 0000a4f0 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 70 6f 69 |loseWindow",,poi| 0000a500 6e 74 65 72 25 0d 33 68 16 c9 20 36 20 3a 20 f2 |nter%.3h.. 6 : .| 0000a510 63 68 65 63 6b 6d 6f 75 73 65 32 0d 33 72 ab c9 |checkmouse2.3r..| 0000a520 20 31 37 2c 31 38 20 3a 20 e7 20 70 6f 69 6e 74 | 17,18 : . point| 0000a530 65 72 25 21 31 36 3d 30 20 c8 99 20 22 49 6e 74 |er%!16=0 .. "Int| 0000a540 65 72 66 61 63 65 5f 43 6c 6f 73 65 44 6f 77 6e |erface_CloseDown| 0000a550 22 2c 74 61 73 6b 68 25 3a c8 99 20 22 53 6f 75 |",taskh%:.. "Sou| 0000a560 6e 64 5f 53 70 65 61 6b 65 72 22 2c 6f 6c 64 73 |nd_Speaker",olds| 0000a570 70 65 61 6b 25 3a c8 99 20 22 53 6f 75 6e 64 5f |peak%:.. "Sound_| 0000a580 45 6e 61 62 6c 65 22 2c 6f 6c 64 6d 75 74 65 25 |Enable",oldmute%| 0000a590 3a c8 99 20 22 54 72 61 63 6b 65 72 5f 55 6e 6c |:.. "Tracker_Unl| 0000a5a0 6f 63 6b 22 2c 6c 6f 63 6b 25 3a f2 74 69 64 79 |ock",lock%:.tidy| 0000a5b0 3a c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 |:.. "Wimp_CloseD| 0000a5c0 6f 77 6e 22 3a e0 0d 33 7c 45 20 20 20 20 20 20 |own":..3|E | 0000a5d0 20 20 20 20 20 20 20 e7 20 70 6f 69 6e 74 65 72 | . pointer| 0000a5e0 25 21 31 36 3d 26 34 30 30 43 31 20 c8 97 20 c8 |%!16=&400C1 .. .| 0000a5f0 93 20 78 6d 69 6e 25 2c 79 6d 69 6e 25 2c 78 73 |. xmin%,ymin%,xs| 0000a600 69 7a 65 25 2c 79 73 69 7a 65 25 0d 33 86 05 cb |ize%,ysize%.3...| 0000a610 0d 33 90 0d fd 20 66 69 6e 69 73 68 25 0d 33 9a |.3... finish%.3.| 0000a620 12 f2 73 68 75 74 28 77 69 6e 64 6f 77 25 29 0d |..shut(window%).| 0000a630 33 a4 2a c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f |3.*.. "OS_ReadMo| 0000a640 64 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c 34 |deVariable",-1,4| 0000a650 20 b8 20 2c 2c 45 69 67 25 0d 33 ae 2e c8 99 20 | . ,,Eig%.3.... | 0000a660 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 |"OS_ReadModeVari| 0000a670 61 62 6c 65 22 2c 2d 31 2c 31 31 20 b8 20 2c 2c |able",-1,11 . ,,| 0000a680 45 78 74 65 6e 74 25 0d 33 b8 1c 78 73 69 7a 65 |Extent%.3..xsize| 0000a690 25 3d 28 45 78 74 65 6e 74 25 2b 31 29 3c 3c 45 |%=(Extent%+1)<<E| 0000a6a0 69 67 25 0d 33 c2 2a c8 99 20 22 4f 53 5f 52 65 |ig%.3.*.. "OS_Re| 0000a6b0 61 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 2c |adModeVariable",| 0000a6c0 2d 31 2c 35 20 b8 20 2c 2c 45 69 67 25 0d 33 cc |-1,5 . ,,Eig%.3.| 0000a6d0 2e c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 |... "OS_ReadMode| 0000a6e0 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c 31 32 20 |Variable",-1,12 | 0000a6f0 b8 20 2c 2c 45 78 74 65 6e 74 25 0d 33 d6 1c 79 |. ,,Extent%.3..y| 0000a700 73 69 7a 65 25 3d 28 45 78 74 65 6e 74 25 2b 31 |size%=(Extent%+1| 0000a710 29 3c 3c 45 69 67 25 0d 33 e0 1b c8 97 20 c8 93 |)<<Eig%.3.... ..| 0000a720 20 30 2c 30 2c 78 73 69 7a 65 25 2c 79 73 69 7a | 0,0,xsize%,ysiz| 0000a730 65 25 0d 33 ea 05 e1 0d 33 f4 04 0d 33 fe 12 dd |e%.3....3...3...| 0000a740 20 f2 63 68 65 63 6b 6d 6f 75 73 65 32 0d 34 08 | .checkmouse2.4.| 0000a750 14 c8 8e 20 70 6f 69 6e 74 65 72 25 21 31 32 20 |... pointer%!12 | 0000a760 ca 0d 34 12 0a c9 20 6f 64 64 25 0d 34 1c 13 c8 |..4... odd%.4...| 0000a770 8e 20 70 6f 69 6e 74 65 72 25 21 38 20 ca 0d 34 |. pointer%!8 ..4| 0000a780 26 1a c9 20 34 20 3a 20 c8 8e 20 70 6f 69 6e 74 |&.. 4 : .. point| 0000a790 65 72 25 21 31 36 20 ca 0d 34 30 32 c9 20 36 20 |er%!16 ..402. 6 | 0000a7a0 3a 20 f2 73 6c 61 62 69 63 6f 6e 32 3a f2 74 72 |: .slabicon2:.tr| 0000a7b0 61 63 6b 65 72 5f 6c 6f 61 64 69 74 28 66 24 29 |acker_loadit(f$)| 0000a7c0 3a 66 69 6e 69 73 68 25 3d b9 0d 34 3a 1e c9 20 |:finish%=..4:.. | 0000a7d0 37 20 3a 20 f2 73 6c 61 62 69 63 6f 6e 32 3a 66 |7 : .slabicon2:f| 0000a7e0 69 6e 69 73 68 25 3d b9 0d 34 44 3a c9 20 38 20 |inish%=..4D:. 8 | 0000a7f0 3a 20 f2 73 6c 61 62 69 63 6f 6e 32 3a f2 73 65 |: .slabicon2:.se| 0000a800 74 75 70 5f 68 65 6c 70 3a f2 68 6f 6c 64 5f 69 |tup_help:.hold_i| 0000a810 74 28 68 65 6c 70 25 29 3a 66 69 6e 69 73 68 25 |t(help%):finish%| 0000a820 3d b9 0d 34 4e 05 cb 0d 34 58 05 cb 0d 34 62 0b |=..4N...4X...4b.| 0000a830 c9 20 68 65 6c 70 25 0d 34 6c 13 c8 8e 20 70 6f |. help%.4l... po| 0000a840 69 6e 74 65 72 25 21 38 20 ca 0d 34 76 1a c9 20 |inter%!8 ..4v.. | 0000a850 34 20 3a 20 c8 8e 20 70 6f 69 6e 74 65 72 25 21 |4 : .. pointer%!| 0000a860 31 36 20 ca 0d 34 80 1e c9 20 39 20 3a 20 f2 73 |16 ..4... 9 : .s| 0000a870 6c 61 62 69 63 6f 6e 32 3a 66 69 6e 69 73 68 25 |labicon2:finish%| 0000a880 3d b9 0d 34 8a 05 cb 0d 34 94 05 cb 0d 34 9e 05 |=..4....4....4..| 0000a890 cb 0d 34 a8 05 e1 0d 34 b2 04 0d 34 bc 11 dd 20 |..4....4...4... | 0000a8a0 f2 73 65 74 75 70 5f 68 65 6c 70 0d 34 c6 0f f2 |.setup_help.4...| 0000a8b0 63 6c 65 61 72 5f 68 65 6c 70 0d 34 d0 35 f2 70 |clear_help.4.5.p| 0000a8c0 75 74 69 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 |uticondata(help%| 0000a8d0 2c 33 2c 22 50 6c 61 79 54 72 61 63 6b 20 63 61 |,3,"PlayTrack ca| 0000a8e0 6e 20 6f 6e 6c 79 20 68 61 6e 64 6c 65 22 29 0d |n only handle").| 0000a8f0 34 da 32 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 |4.2.puticondata(| 0000a900 68 65 6c 70 25 2c 34 2c 22 63 65 72 74 61 69 6e |help%,4,"certain| 0000a910 20 74 79 70 65 73 20 6f 66 20 66 69 6c 65 2e 22 | types of file."| 0000a920 29 0d 34 e4 36 f2 70 75 74 69 63 6f 6e 64 61 74 |).4.6.puticondat| 0000a930 61 28 68 65 6c 70 25 2c 35 2c 22 48 6f 77 65 76 |a(help%,5,"Howev| 0000a940 65 72 2c 20 69 74 20 6d 61 79 20 62 65 20 61 62 |er, it may be ab| 0000a950 6c 65 20 74 6f 22 29 0d 34 ee 37 f2 70 75 74 69 |le to").4.7.puti| 0000a960 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c 36 2c |condata(help%,6,| 0000a970 22 6c 6f 61 64 20 6d 75 73 69 63 20 66 69 6c 65 |"load music file| 0000a980 73 20 69 6e 20 66 6f 72 6d 61 74 73 22 29 0d 34 |s in formats").4| 0000a990 f8 34 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 68 |.4.puticondata(h| 0000a9a0 65 6c 70 25 2c 37 2c 22 69 74 20 64 6f 65 73 6e |elp%,7,"it doesn| 0000a9b0 27 74 20 27 6b 6e 6f 77 27 20 61 62 6f 75 74 2c |'t 'know' about,| 0000a9c0 22 29 0d 35 02 37 f2 70 75 74 69 63 6f 6e 64 61 |").5.7.puticonda| 0000a9d0 74 61 28 68 65 6c 70 25 2c 38 2c 22 73 6f 20 79 |ta(help%,8,"so y| 0000a9e0 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 68 65 61 |ou can still hea| 0000a9f0 72 20 74 68 65 6d 2e 22 29 0d 35 0c 05 e1 0d 35 |r them.").5....5| 0000aa00 16 04 0d 35 20 12 dd 20 f2 73 65 74 75 70 5f 6d |...5 .. .setup_m| 0000aa10 65 73 73 31 0d 35 2a 0f f2 63 6c 65 61 72 5f 68 |ess1.5*..clear_h| 0000aa20 65 6c 70 0d 35 34 33 f2 70 75 74 69 63 6f 6e 64 |elp.543.puticond| 0000aa30 61 74 61 28 68 65 6c 70 25 2c 33 2c 22 54 68 69 |ata(help%,3,"Thi| 0000aa40 73 20 69 73 20 61 6e 20 75 6e 72 65 67 69 73 74 |s is an unregist| 0000aa50 65 72 65 64 22 29 0d 35 3e 37 f2 70 75 74 69 63 |ered").5>7.putic| 0000aa60 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c 34 2c 22 |ondata(help%,4,"| 0000aa70 63 6f 70 79 20 6f 66 20 21 50 6c 61 79 54 72 61 |copy of !PlayTra| 0000aa80 63 6b 2c 20 74 68 61 74 20 69 73 22 29 0d 35 48 |ck, that is").5H| 0000aa90 39 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 68 65 |9.puticondata(he| 0000aaa0 6c 70 25 2c 35 2c 22 72 65 73 74 72 69 63 74 65 |lp%,5,"restricte| 0000aab0 64 20 69 6e 20 77 68 61 74 20 69 74 20 63 61 6e |d in what it can| 0000aac0 20 64 6f 2e 22 29 0d 35 52 37 f2 70 75 74 69 63 | do.").5R7.putic| 0000aad0 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c 36 2c 22 |ondata(help%,6,"| 0000aae0 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 |If you want to u| 0000aaf0 73 65 20 74 68 65 20 6d 6f 72 65 22 29 0d 35 5c |se the more").5\| 0000ab00 35 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 68 65 |5.puticondata(he| 0000ab10 6c 70 25 2c 37 2c 22 61 64 76 61 6e 63 65 64 20 |lp%,7,"advanced | 0000ab20 66 61 63 69 6c 69 74 69 65 73 2c 20 74 68 65 6e |facilities, then| 0000ab30 22 29 0d 35 66 2d f2 70 75 74 69 63 6f 6e 64 61 |").5f-.puticonda| 0000ab40 74 61 28 68 65 6c 70 25 2c 38 2c 22 79 6f 75 20 |ta(help%,8,"you | 0000ab50 63 61 6e 20 72 65 67 69 73 74 65 72 2e 22 29 0d |can register.").| 0000ab60 35 70 05 e1 0d 35 7a 04 0d 35 84 12 dd 20 f2 73 |5p...5z..5... .s| 0000ab70 65 74 75 70 5f 6d 65 73 73 32 0d 35 8e 0f f2 63 |etup_mess2.5...c| 0000ab80 6c 65 61 72 5f 68 65 6c 70 0d 35 98 36 f2 70 75 |lear_help.5.6.pu| 0000ab90 74 69 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c |ticondata(help%,| 0000aba0 33 2c 22 54 68 69 73 20 63 6f 70 79 20 6f 66 20 |3,"This copy of | 0000abb0 21 50 6c 61 79 54 72 61 63 6b 20 69 73 22 29 0d |!PlayTrack is").| 0000abc0 35 a2 32 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 |5.2.puticondata(| 0000abd0 68 65 6c 70 25 2c 34 2c 22 6e 6f 77 20 72 65 67 |help%,4,"now reg| 0000abe0 69 73 74 65 72 65 64 20 74 6f 20 74 68 69 73 22 |istered to this"| 0000abf0 29 0d 35 ac 31 f2 70 75 74 69 63 6f 6e 64 61 74 |).5.1.puticondat| 0000ac00 61 28 68 65 6c 70 25 2c 35 2c 22 6d 61 63 68 69 |a(help%,5,"machi| 0000ac10 6e 65 2e 20 20 50 6c 65 61 73 65 20 71 75 69 74 |ne. Please quit| 0000ac20 22 29 0d 35 b6 34 f2 70 75 74 69 63 6f 6e 64 61 |").5.4.puticonda| 0000ac30 74 61 28 68 65 6c 70 25 2c 36 2c 22 21 50 6c 61 |ta(help%,6,"!Pla| 0000ac40 79 54 72 61 63 6b 20 61 6e 64 20 72 65 6c 6f 61 |yTrack and reloa| 0000ac50 64 20 74 6f 22 29 0d 35 c0 31 f2 70 75 74 69 63 |d to").5.1.putic| 0000ac60 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c 37 2c 22 |ondata(help%,7,"| 0000ac70 75 73 65 20 74 68 65 20 6d 6f 72 65 20 61 64 76 |use the more adv| 0000ac80 61 6e 63 65 64 22 29 0d 35 ca 27 f2 70 75 74 69 |anced").5.'.puti| 0000ac90 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c 38 2c |condata(help%,8,| 0000aca0 22 66 61 63 69 6c 69 74 69 65 73 2e 22 29 0d 35 |"facilities.").5| 0000acb0 d4 05 e1 0d 35 de 04 0d 35 e8 12 dd 20 f2 73 65 |....5...5... .se| 0000acc0 74 75 70 5f 6d 65 73 73 33 0d 35 f2 0f f2 63 6c |tup_mess3.5...cl| 0000acd0 65 61 72 5f 68 65 6c 70 0d 35 fc 32 f2 70 75 74 |ear_help.5.2.put| 0000ace0 69 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c 33 |icondata(help%,3| 0000acf0 2c 22 4f 6e 6c 79 20 50 49 4e 20 6e 75 6d 62 65 |,"Only PIN numbe| 0000ad00 72 73 20 75 70 20 74 6f 22 29 0d 36 06 2f f2 70 |rs up to").6./.p| 0000ad10 75 74 69 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 |uticondata(help%| 0000ad20 2c 34 2c 22 23 36 35 32 38 30 20 61 72 65 20 61 |,4,"#65280 are a| 0000ad30 6c 6c 6f 77 65 64 2e 22 29 0d 36 10 30 f2 70 75 |llowed.").6.0.pu| 0000ad40 74 69 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c |ticondata(help%,| 0000ad50 36 2c 22 50 6c 65 61 73 65 20 72 65 2d 65 6e 74 |6,"Please re-ent| 0000ad60 65 72 20 79 6f 75 72 22 29 0d 36 1a 27 f2 70 75 |er your").6.'.pu| 0000ad70 74 69 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c |ticondata(help%,| 0000ad80 37 2c 22 50 49 4e 20 6e 75 6d 62 65 72 2e 22 29 |7,"PIN number.")| 0000ad90 0d 36 24 05 e1 0d 36 2e 04 0d 36 38 12 dd 20 f2 |.6$...6...68.. .| 0000ada0 73 65 74 75 70 5f 6d 65 73 73 34 0d 36 42 0f f2 |setup_mess4.6B..| 0000adb0 63 6c 65 61 72 5f 68 65 6c 70 0d 36 4c 36 f2 70 |clear_help.6L6.p| 0000adc0 75 74 69 63 6f 6e 64 61 74 61 28 68 65 6c 70 25 |uticondata(help%| 0000add0 2c 33 2c 22 54 68 69 73 20 63 6f 70 79 20 6f 66 |,3,"This copy of| 0000ade0 20 21 50 6c 61 79 54 72 61 63 6b 20 69 73 22 29 | !PlayTrack is")| 0000adf0 0d 36 56 32 f2 70 75 74 69 63 6f 6e 64 61 74 61 |.6V2.puticondata| 0000ae00 28 68 65 6c 70 25 2c 34 2c 22 6e 6f 74 20 72 65 |(help%,4,"not re| 0000ae10 67 69 73 74 65 72 65 64 20 74 6f 20 74 68 69 73 |gistered to this| 0000ae20 22 29 0d 36 60 24 f2 70 75 74 69 63 6f 6e 64 61 |").6`$.puticonda| 0000ae30 74 61 28 68 65 6c 70 25 2c 35 2c 22 6d 61 63 68 |ta(help%,5,"mach| 0000ae40 69 6e 65 2e 22 29 0d 36 6a 38 f2 70 75 74 69 63 |ine.").6j8.putic| 0000ae50 6f 6e 64 61 74 61 28 68 65 6c 70 25 2c 37 2c 22 |ondata(help%,7,"| 0000ae60 21 50 6c 61 79 54 72 61 63 6b 20 77 69 6c 6c 20 |!PlayTrack will | 0000ae70 6e 6f 77 20 72 75 6e 2c 20 62 75 74 22 29 0d 36 |now run, but").6| 0000ae80 74 30 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 68 |t0.puticondata(h| 0000ae90 65 6c 70 25 2c 38 2c 22 77 69 6c 6c 20 6e 6f 74 |elp%,8,"will not| 0000aea0 20 77 6f 72 6b 20 66 75 6c 6c 79 2e 22 29 0d 36 | work fully.").6| 0000aeb0 7e 05 e1 0d 36 88 04 0d 36 92 3a dd 20 f2 63 6c |~...6...6.:. .cl| 0000aec0 65 61 72 5f 68 65 6c 70 3a e3 20 49 25 3d 33 20 |ear_help:. I%=3 | 0000aed0 b8 20 38 3a f2 70 75 74 69 63 6f 6e 64 61 74 61 |. 8:.puticondata| 0000aee0 28 68 65 6c 70 25 2c 49 25 2c 22 22 29 3a ed 3a |(help%,I%,""):.:| 0000aef0 e1 0d 36 9c 04 0d 36 a6 0e dd 20 f2 72 65 64 72 |..6...6... .redr| 0000af00 61 77 32 0d 36 b0 2c c8 99 20 22 57 69 6d 70 5f |aw2.6.,.. "Wimp_| 0000af10 52 65 64 72 61 77 57 69 6e 64 6f 77 22 2c 2c 70 |RedrawWindow",,p| 0000af20 6f 69 6e 74 65 72 25 20 b8 20 6d 6f 72 65 25 0d |ointer% . more%.| 0000af30 36 ba 0f c8 95 20 6d 6f 72 65 25 3c 3e 30 0d 36 |6.... more%<>0.6| 0000af40 c4 2b c8 99 20 22 49 6e 74 65 72 66 61 63 65 5f |.+.. "Interface_| 0000af50 52 65 6e 64 65 72 33 64 57 69 6e 64 6f 77 22 2c |Render3dWindow",| 0000af60 2c 70 6f 69 6e 74 65 72 25 0d 36 ce 2c c8 99 20 |,pointer%.6.,.. | 0000af70 22 57 69 6d 70 5f 47 65 74 52 65 63 74 61 6e 67 |"Wimp_GetRectang| 0000af80 6c 65 22 2c 2c 70 6f 69 6e 74 65 72 25 20 b8 20 |le",,pointer% . | 0000af90 6d 6f 72 65 25 0d 36 d8 05 e1 0d 36 e2 04 0d 36 |more%.6....6...6| 0000afa0 ec 10 dd 20 f2 73 6c 61 62 69 63 6f 6e 32 0d 36 |... .slabicon2.6| 0000afb0 f6 27 c8 99 20 22 49 6e 74 65 72 66 61 63 65 5f |.'.. "Interface_| 0000afc0 53 6c 61 62 42 75 74 74 6f 6e 22 2c 2c 70 6f 69 |SlabButton",,poi| 0000afd0 6e 74 65 72 25 0d 37 00 10 70 6f 69 6e 74 65 72 |nter%.7..pointer| 0000afe0 25 21 38 3d 30 0d 37 0a 27 c8 99 20 22 49 6e 74 |%!8=0.7.'.. "Int| 0000aff0 65 72 66 61 63 65 5f 53 6c 61 62 42 75 74 74 6f |erface_SlabButto| 0000b000 6e 22 2c 2c 70 6f 69 6e 74 65 72 25 0d 37 14 05 |n",,pointer%.7..| 0000b010 e1 0d 37 1e 04 0d 37 28 18 dd 20 f2 72 65 67 69 |..7...7(.. .regi| 0000b020 73 74 65 72 28 73 74 72 69 6e 67 24 29 0d 37 32 |ster(string$).72| 0000b030 38 f2 70 75 74 69 63 6f 6e 64 61 74 61 28 69 6e |8.puticondata(in| 0000b040 66 6f 77 69 6e 64 25 2c 31 35 2c 22 52 65 67 69 |fowind%,15,"Regi| 0000b050 73 74 65 72 65 64 20 74 6f 3a 20 22 2b 73 74 72 |stered to: "+str| 0000b060 69 6e 67 24 29 0d 37 3c 05 e1 0d 37 46 04 0d 37 |ing$).7<...7F..7| 0000b070 50 13 dd 20 f2 67 65 74 5f 72 65 67 69 73 74 65 |P.. .get_registe| 0000b080 72 0d 37 5a 24 68 25 3d ad 28 22 3c 50 6c 61 79 |r.7Z$h%=.("<Play| 0000b090 54 72 61 63 6b 24 44 69 72 3e 2e 52 65 67 69 73 |Track$Dir>.Regis| 0000b0a0 74 65 72 22 29 0d 37 64 10 6c 25 3d a2 23 68 25 |ter").7d.l%=.#h%| 0000b0b0 3a d9 23 68 25 0d 37 6e 19 62 6c 6f 63 6b 25 3d |:.#h%.7n.block%=| 0000b0c0 a4 63 6c 61 69 6d 5f 72 6d 61 28 6c 25 29 0d 37 |.claim_rma(l%).7| 0000b0d0 78 36 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 32 |x6.. "OS_File",2| 0000b0e0 35 35 2c 22 3c 50 6c 61 79 54 72 61 63 6b 24 44 |55,"<PlayTrack$D| 0000b0f0 69 72 3e 2e 52 65 67 69 73 74 65 72 22 2c 62 6c |ir>.Register",bl| 0000b100 6f 63 6b 25 0d 37 82 34 e3 20 49 25 3d 30 20 b8 |ock%.7.4. I%=0 .| 0000b110 20 6c 25 3a 62 6c 6f 63 6b 25 3f 49 25 3d 62 6c | l%:block%?I%=bl| 0000b120 6f 63 6b 25 3f 49 25 20 82 20 97 28 c0 c3 28 49 |ock%?I% . .(..(I| 0000b130 25 29 2c 31 29 29 3a ed 0d 37 8c 30 70 69 72 61 |%),1)):..7.0pira| 0000b140 74 65 25 3d a3 3a 70 69 6e 25 3d 21 62 6c 6f 63 |te%=.:pin%=!bloc| 0000b150 6b 25 3a 6e 61 6d 65 24 3d a4 72 74 6f 7a 28 62 |k%:name$=.rtoz(b| 0000b160 6c 6f 63 6b 25 2b 34 29 0d 37 96 1f e7 20 70 69 |lock%+4).7... pi| 0000b170 6e 25 3d 36 35 32 38 31 20 84 20 70 69 6e 25 3d |n%=65281 . pin%=| 0000b180 36 35 32 38 32 20 8c 0d 37 a0 14 20 20 e7 20 70 |65282 ..7.. . p| 0000b190 69 6e 25 3d 36 35 32 38 31 20 8c 0d 37 aa 2c 20 |in%=65281 ..7., | 0000b1a0 20 20 20 f2 72 65 67 69 73 74 65 72 28 6e 61 6d | .register(nam| 0000b1b0 65 24 29 3a 72 65 67 69 73 74 65 72 65 64 25 3d |e$):registered%=| 0000b1c0 a3 3a f2 62 65 65 70 0d 37 b4 07 20 20 cc 0d 37 |.:.beep.7.. ..7| 0000b1d0 be 26 20 20 20 20 f2 72 65 67 69 73 74 65 72 28 |.& .register(| 0000b1e0 6e 61 6d 65 24 29 3a 72 65 67 69 73 74 65 72 65 |name$):registere| 0000b1f0 64 25 3d b9 0d 37 c8 07 20 20 cd 0d 37 d2 05 cc |d%=..7.. ..7...| 0000b200 0d 37 dc 47 20 20 c8 99 20 22 4f 53 5f 42 79 74 |.7.G .. "OS_Byt| 0000b210 65 22 2c 31 36 31 2c 63 6d 6f 73 25 20 b8 20 2c |e",161,cmos% . ,| 0000b220 2c 72 65 67 25 3a c8 99 20 22 4f 53 5f 42 79 74 |,reg%:.. "OS_Byt| 0000b230 65 22 2c 31 36 31 2c 63 6d 6f 73 32 25 20 b8 20 |e",161,cmos2% . | 0000b240 2c 2c 72 65 67 32 25 0d 37 e6 1b 20 20 72 65 67 |,,reg2%.7.. reg| 0000b250 25 3d 28 32 35 36 2a 72 65 67 25 29 2b 72 65 67 |%=(256*reg%)+reg| 0000b260 32 25 0d 37 f0 79 20 20 e7 20 72 65 67 25 3c 3e |2%.7.y . reg%<>| 0000b270 70 69 6e 25 20 8c 20 f2 73 65 74 75 70 5f 6d 65 |pin% . .setup_me| 0000b280 73 73 34 3a f2 68 6f 6c 64 5f 69 74 28 68 65 6c |ss4:.hold_it(hel| 0000b290 70 25 29 3a 72 65 67 69 73 74 65 72 65 64 25 3d |p%):registered%=| 0000b2a0 a3 3a 70 69 72 61 74 65 25 3d b9 3a f2 72 65 67 |.:pirate%=.:.reg| 0000b2b0 69 73 74 65 72 28 22 50 49 52 41 54 45 20 43 4f |ister("PIRATE CO| 0000b2c0 50 59 22 29 3a f2 72 65 6c 65 61 73 65 5f 72 6d |PY"):.release_rm| 0000b2d0 61 28 62 6c 6f 63 6b 25 29 3a e1 0d 37 fa 24 20 |a(block%):..7.$ | 0000b2e0 20 f2 72 65 67 69 73 74 65 72 28 6e 61 6d 65 24 | .register(name$| 0000b2f0 29 3a 72 65 67 69 73 74 65 72 65 64 25 3d b9 0d |):registered%=..| 0000b300 38 04 05 cd 0d 38 0e 18 f2 72 65 6c 65 61 73 65 |8....8...release| 0000b310 5f 72 6d 61 28 62 6c 6f 63 6b 25 29 0d 38 18 05 |_rma(block%).8..| 0000b320 e1 0d 38 22 04 0d 38 2c 0b dd 20 f2 62 65 65 70 |..8"..8,.. .beep| 0000b330 0d 38 36 21 e3 20 49 3d 31 20 b8 20 37 3a ef 37 |.86!. I=1 . 7:.7| 0000b340 3a d1 3d 30 3a f5 20 fd 20 91 3d 35 30 3a ed 3a |:.=0:. . .=50:.:| 0000b350 e1 0d 38 40 04 0d 38 4a 17 dd 20 a4 63 6c 61 69 |..8@..8J.. .clai| 0000b360 6d 5f 72 6d 61 28 73 69 7a 65 25 29 0d 38 54 2e |m_rma(size%).8T.| 0000b370 c8 99 20 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 2c |.. "XOS_Module",| 0000b380 36 2c 2c 2c 73 69 7a 65 25 20 b8 20 2c 2c 61 64 |6,,,size% . ,,ad| 0000b390 64 72 25 3b 66 6c 61 67 73 25 0d 38 5e 16 e7 20 |dr%;flags%.8^.. | 0000b3a0 28 66 6c 61 67 73 25 20 80 20 31 29 3d 31 20 8c |(flags% . 1)=1 .| 0000b3b0 0d 38 68 2a 20 20 f2 74 65 6c 6c 65 6d 6f 66 66 |.8h* .tellemoff| 0000b3c0 28 22 45 72 72 6f 72 20 64 75 72 69 6e 67 20 52 |("Error during R| 0000b3d0 4d 41 20 63 6c 61 69 6d 22 29 0d 38 72 08 20 20 |MA claim").8r. | 0000b3e0 3d 30 0d 38 7c 05 cd 0d 38 86 0a 3d 61 64 64 72 |=0.8|...8..=addr| 0000b3f0 25 0d 38 90 04 0d 38 9a 19 dd 20 f2 72 65 6c 65 |%.8...8... .rele| 0000b400 61 73 65 5f 72 6d 61 28 61 64 64 72 25 29 0d 38 |ase_rma(addr%).8| 0000b410 a4 1b c8 99 20 22 4f 53 5f 4d 6f 64 75 6c 65 22 |.... "OS_Module"| 0000b420 2c 37 2c 2c 61 64 64 72 25 0d 38 ae 05 e1 0d 38 |,7,,addr%.8....8| 0000b430 b8 04 0d 38 c2 14 dd 20 f2 72 65 67 69 73 74 65 |...8... .registe| 0000b440 72 5f 63 6f 70 79 0d 38 cc 23 6e 61 6d 65 24 3d |r_copy.8.#name$=| 0000b450 a4 67 65 74 69 63 6f 6e 64 61 74 61 28 72 65 67 |.geticondata(reg| 0000b460 69 73 74 65 72 25 2c 34 29 0d 38 d6 26 70 69 6e |ister%,4).8.&pin| 0000b470 25 3d bb 28 a4 67 65 74 69 63 6f 6e 64 61 74 61 |%=.(.geticondata| 0000b480 28 72 65 67 69 73 74 65 72 25 2c 31 30 29 29 0d |(register%,10)).| 0000b490 38 e0 4f e7 20 70 69 6e 25 3e 36 35 32 38 30 20 |8.O. pin%>65280 | 0000b4a0 8c 20 f2 73 65 74 75 70 5f 6d 65 73 73 33 3a f2 |. .setup_mess3:.| 0000b4b0 68 6f 6c 64 5f 69 74 28 68 65 6c 70 25 29 3a f2 |hold_it(help%):.| 0000b4c0 70 75 74 69 63 6f 6e 64 61 74 61 28 72 65 67 69 |puticondata(regi| 0000b4d0 73 74 65 72 25 2c 31 30 2c 22 22 29 3a e1 0d 38 |ster%,10,""):..8| 0000b4e0 ea 13 6c 65 6e 25 3d 34 2b a9 6e 61 6d 65 24 2b |..len%=4+.name$+| 0000b4f0 31 0d 38 f4 1a 61 64 64 72 25 3d a4 63 6c 61 69 |1.8..addr%=.clai| 0000b500 6d 5f 72 6d 61 28 6c 65 6e 25 29 0d 38 fe 5c 21 |m_rma(len%).8.\!| 0000b510 61 64 64 72 25 3d 70 69 6e 25 3a 62 6c 6f 63 6b |addr%=pin%:block| 0000b520 25 3d 61 64 64 72 25 2b 34 3a 6e 61 6d 65 24 2b |%=addr%+4:name$+| 0000b530 3d bd 30 3a e3 20 49 25 3d 31 20 b8 20 a9 6e 61 |=.0:. I%=1 . .na| 0000b540 6d 65 24 3a 3f 62 6c 6f 63 6b 25 3d 97 28 c1 6e |me$:?block%=.(.n| 0000b550 61 6d 65 24 2c 49 25 2c 31 29 29 3a 62 6c 6f 63 |ame$,I%,1)):bloc| 0000b560 6b 25 2b 3d 31 3a ed 0d 39 08 32 e3 20 49 25 3d |k%+=1:..9.2. I%=| 0000b570 30 20 b8 20 6c 65 6e 25 3a 61 64 64 72 25 3f 49 |0 . len%:addr%?I| 0000b580 25 3d 61 64 64 72 25 3f 49 25 20 82 20 97 28 c0 |%=addr%?I% . .(.| 0000b590 c3 49 25 2c 31 29 29 3a ed 0d 39 12 45 c8 99 20 |.I%,1)):..9.E.. | 0000b5a0 22 4f 53 5f 46 69 6c 65 22 2c 31 30 2c 22 3c 50 |"OS_File",10,"<P| 0000b5b0 6c 61 79 54 72 61 63 6b 24 44 69 72 3e 2e 52 65 |layTrack$Dir>.Re| 0000b5c0 67 69 73 74 65 72 22 2c 26 46 46 44 2c 2c 61 64 |gister",&FFD,,ad| 0000b5d0 64 72 25 2c 61 64 64 72 25 2b 6c 65 6e 25 0d 39 |dr%,addr%+len%.9| 0000b5e0 1c 25 c8 99 20 22 4f 53 5f 42 79 74 65 22 2c 31 |.%.. "OS_Byte",1| 0000b5f0 36 32 2c 63 6d 6f 73 25 2c 70 69 6e 25 20 81 20 |62,cmos%,pin% . | 0000b600 32 35 36 0d 39 26 26 c8 99 20 22 4f 53 5f 42 79 |256.9&&.. "OS_By| 0000b610 74 65 22 2c 31 36 32 2c 63 6d 6f 73 32 25 2c 70 |te",162,cmos2%,p| 0000b620 69 6e 25 20 83 20 32 35 36 0d 39 30 20 f2 73 65 |in% . 256.90 .se| 0000b630 74 75 70 5f 6d 65 73 73 32 3a f2 68 6f 6c 64 5f |tup_mess2:.hold_| 0000b640 69 74 28 68 65 6c 70 25 29 0d 39 3a 05 e1 0d 39 |it(help%).9:...9| 0000b650 44 04 0d 39 4e 10 dd 20 f2 73 61 76 65 5f 6f 70 |D..9N.. .save_op| 0000b660 74 73 0d 39 58 23 68 25 3d ae 28 22 3c 50 6c 61 |ts.9X#h%=.("<Pla| 0000b670 79 54 72 61 63 6b 24 44 69 72 3e 2e 4f 70 74 69 |yTrack$Dir>.Opti| 0000b680 6f 6e 73 22 29 0d 39 62 24 63 6c 6f 63 6b 24 3d |ons").9b$clock$=| 0000b690 a4 67 65 74 69 63 6f 6e 64 61 74 61 28 6f 70 74 |.geticondata(opt| 0000b6a0 69 6f 6e 73 25 2c 31 33 29 0d 39 6c 23 62 75 66 |ions%,13).9l#buf| 0000b6b0 66 65 72 24 3d a4 67 65 74 69 63 6f 6e 64 61 74 |fer$=.geticondat| 0000b6c0 61 28 62 75 66 66 65 72 25 2c 33 29 0d 39 76 30 |a(buffer%,3).9v0| 0000b6d0 f1 23 68 25 2c 6c 61 70 25 2c 73 63 72 25 2c 64 |.#h%,lap%,scr%,d| 0000b6e0 6f 73 25 2c 61 66 73 25 2c 6d 61 6b 25 2c 63 6c |os%,afs%,mak%,cl| 0000b6f0 6f 63 6b 24 2c 62 75 66 66 65 72 24 0d 39 80 08 |ock$,buffer$.9..| 0000b700 d9 23 68 25 0d 39 8a 05 e1 0d 39 94 04 0d 39 9e |.#h%.9....9...9.| 0000b710 10 dd 20 f2 6c 6f 61 64 5f 6f 70 74 73 0d 39 a8 |.. .load_opts.9.| 0000b720 23 68 25 3d ad 28 22 3c 50 6c 61 79 54 72 61 63 |#h%=.("<PlayTrac| 0000b730 6b 24 44 69 72 3e 2e 4f 70 74 69 6f 6e 73 22 29 |k$Dir>.Options")| 0000b740 0d 39 b2 30 e8 23 68 25 2c 6c 61 70 25 2c 73 63 |.9.0.#h%,lap%,sc| 0000b750 72 25 2c 64 6f 73 25 2c 61 66 73 25 2c 6d 61 6b |r%,dos%,afs%,mak| 0000b760 25 2c 63 6c 6f 63 6b 24 2c 62 75 66 66 65 72 24 |%,clock$,buffer$| 0000b770 0d 39 bc 08 d9 23 68 25 0d 39 c6 2f 6c 61 70 24 |.9...#h%.9./lap$| 0000b780 3d 22 22 3a e7 20 6c 61 70 25 20 6c 61 70 24 3d |="":. lap% lap$=| 0000b790 22 73 65 6c 6f 6e 22 20 8b 20 6c 61 70 24 3d 22 |"selon" . lap$="| 0000b7a0 73 65 6c 6f 66 66 22 0d 39 d0 2f 73 63 72 24 3d |seloff".9./scr$=| 0000b7b0 22 22 3a e7 20 73 63 72 25 20 73 63 72 24 3d 22 |"":. scr% scr$="| 0000b7c0 73 65 6c 6f 6e 22 20 8b 20 73 63 72 24 3d 22 73 |selon" . scr$="s| 0000b7d0 65 6c 6f 66 66 22 0d 39 da 2f 64 6f 73 24 3d 22 |eloff".9./dos$="| 0000b7e0 22 3a e7 20 64 6f 73 25 20 64 6f 73 24 3d 22 73 |":. dos% dos$="s| 0000b7f0 65 6c 6f 6e 22 20 8b 20 64 6f 73 24 3d 22 73 65 |elon" . dos$="se| 0000b800 6c 6f 66 66 22 0d 39 e4 2f 61 66 73 24 3d 22 22 |loff".9./afs$=""| 0000b810 3a e7 20 61 66 73 25 20 61 66 73 24 3d 22 73 65 |:. afs% afs$="se| 0000b820 6c 6f 6e 22 20 8b 20 61 66 73 24 3d 22 73 65 6c |lon" . afs$="sel| 0000b830 6f 66 66 22 0d 39 ee 2f 6d 61 6b 24 3d 22 22 3a |off".9./mak$="":| 0000b840 e7 20 6d 61 6b 25 20 6d 61 6b 24 3d 22 73 65 6c |. mak% mak$="sel| 0000b850 6f 6e 22 20 8b 20 6d 61 6b 24 3d 22 73 65 6c 6f |on" . mak$="selo| 0000b860 66 66 22 0d 39 f8 23 f2 70 75 74 69 63 6f 6e 73 |ff".9.#.puticons| 0000b870 70 72 69 74 65 28 6f 70 74 69 6f 6e 73 25 2c 32 |prite(options%,2| 0000b880 2c 6c 61 70 24 29 0d 3a 02 23 f2 70 75 74 69 63 |,lap$).:.#.putic| 0000b890 6f 6e 73 70 72 69 74 65 28 6f 70 74 69 6f 6e 73 |onsprite(options| 0000b8a0 25 2c 34 2c 73 63 72 24 29 0d 3a 0c 23 f2 70 75 |%,4,scr$).:.#.pu| 0000b8b0 74 69 63 6f 6e 73 70 72 69 74 65 28 6f 70 74 69 |ticonsprite(opti| 0000b8c0 6f 6e 73 25 2c 36 2c 64 6f 73 24 29 0d 3a 16 23 |ons%,6,dos$).:.#| 0000b8d0 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 65 28 6f |.puticonsprite(o| 0000b8e0 70 74 69 6f 6e 73 25 2c 38 2c 61 66 73 24 29 0d |ptions%,8,afs$).| 0000b8f0 3a 20 24 f2 70 75 74 69 63 6f 6e 73 70 72 69 74 |: $.puticonsprit| 0000b900 65 28 6f 70 74 69 6f 6e 73 25 2c 31 31 2c 6d 61 |e(options%,11,ma| 0000b910 6b 24 29 0d 3a 2a 24 f2 70 75 74 69 63 6f 6e 64 |k$).:*$.puticond| 0000b920 61 74 61 28 6f 70 74 69 6f 6e 73 25 2c 31 33 2c |ata(options%,13,| 0000b930 63 6c 6f 63 6b 24 29 0d 3a 34 23 f2 70 75 74 69 |clock$).:4#.puti| 0000b940 63 6f 6e 64 61 74 61 28 62 75 66 66 65 72 25 2c |condata(buffer%,| 0000b950 33 2c 62 75 66 66 65 72 24 29 0d 3a 3e 05 e1 0d |3,buffer$).:>...| 0000b960 3a 48 04 0d 3a 52 2c dd 20 f2 6f 70 65 6e 6c 69 |:H..:R,. .openli| 0000b970 6e 6b 65 64 28 77 68 31 25 2c 77 68 32 25 2c 77 |nked(wh1%,wh2%,w| 0000b980 31 25 2c 68 31 25 2c 77 32 25 2c 68 32 25 29 0d |1%,h1%,w2%,h2%).| 0000b990 3a 5c 13 78 25 3d 28 31 32 38 30 2d 77 31 25 29 |:\.x%=(1280-w1%)| 0000b9a0 2f 32 0d 3a 66 19 79 25 3d 28 28 31 30 32 34 2d |/2.:f.y%=((1024-| 0000b9b0 68 31 25 29 2f 32 29 2b 68 31 25 0d 3a 70 1f f2 |h1%)/2)+h1%.:p..| 0000b9c0 6f 70 65 6e 75 70 28 77 68 31 25 2c 78 25 2c 79 |openup(wh1%,x%,y| 0000b9d0 25 2c 77 31 25 2c 68 31 25 29 0d 3a 7a 28 f2 6f |%,w1%,h1%).:z(.o| 0000b9e0 70 65 6e 75 70 28 77 68 32 25 2c 78 25 2b 32 30 |penup(wh2%,x%+20| 0000b9f0 2c 79 25 2d 38 30 2c 77 31 25 2d 34 30 2c 68 32 |,y%-80,w1%-40,h2| 0000ba00 25 29 0d 3a 84 05 e1 0d 3a 8e 04 0d 3a 98 0d dd |%).:....:...:...| 0000ba10 20 f2 76 6f 6c 75 6d 65 0d 3a a2 34 c8 99 20 22 | .volume.:.4.. "| 0000ba20 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 49 |Wimp_GetPointerI| 0000ba30 6e 66 6f 22 2c 2c 70 6f 69 6e 74 65 72 25 3a 78 |nfo",,pointer%:x| 0000ba40 25 3d 70 6f 69 6e 74 65 72 25 21 30 0d 3a ac 3a |%=pointer%!0.:.:| 0000ba50 70 6f 69 6e 74 65 72 25 21 30 3d 63 6f 6e 74 72 |pointer%!0=contr| 0000ba60 6f 6c 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 |ol%:.. "Wimp_Get| 0000ba70 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 70 6f |WindowState",,po| 0000ba80 69 6e 74 65 72 25 0d 3a b6 41 78 25 2d 3d 70 6f |inter%.:.Ax%-=po| 0000ba90 69 6e 74 65 72 25 21 34 3a 70 6f 69 6e 74 65 72 |inter%!4:pointer| 0000baa0 25 21 34 3d 31 39 3a c8 99 20 22 57 69 6d 70 5f |%!4=19:.. "Wimp_| 0000bab0 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 70 |GetIconState",,p| 0000bac0 6f 69 6e 74 65 72 25 0d 3a c0 36 78 25 2d 3d 70 |ointer%.:.6x%-=p| 0000bad0 6f 69 6e 74 65 72 25 21 38 3a f4 20 78 25 20 6e |ointer%!8:. x% n| 0000bae0 6f 77 20 69 73 20 64 69 73 74 61 6e 63 65 20 61 |ow is distance a| 0000baf0 6c 6f 6e 67 20 69 63 6f 6e 20 23 31 39 0d 3a ca |long icon #19.:.| 0000bb00 25 70 6f 69 6e 74 65 72 25 21 30 3d 63 6f 6e 74 |%pointer%!0=cont| 0000bb10 72 6f 6c 25 3a 70 6f 69 6e 74 65 72 25 21 34 3d |rol%:pointer%!4=| 0000bb20 31 38 0d 3a d4 24 c8 99 20 22 57 69 6d 70 5f 47 |18.:.$.. "Wimp_G| 0000bb30 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 70 6f |etIconState",,po| 0000bb40 69 6e 74 65 72 25 0d 3a de 22 c8 99 20 22 57 69 |inter%.:.".. "Wi| 0000bb50 6d 70 5f 44 65 6c 65 74 65 49 63 6f 6e 22 2c 2c |mp_DeleteIcon",,| 0000bb60 70 6f 69 6e 74 65 72 25 0d 3a e8 31 70 6f 69 6e |pointer%.:.1poin| 0000bb70 74 65 72 25 21 34 3d 63 6f 6e 74 72 6f 6c 25 3a |ter%!4=control%:| 0000bb80 70 6f 69 6e 74 65 72 25 21 31 36 3d 70 6f 69 6e |pointer%!16=poin| 0000bb90 74 65 72 25 21 38 2b 78 25 0d 3a f2 24 c8 99 20 |ter%!8+x%.:.$.. | 0000bba0 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e |"Wimp_CreateIcon| 0000bbb0 22 2c 2c 70 6f 69 6e 74 65 72 25 2b 34 0d 3a fc |",,pointer%+4.:.| 0000bbc0 46 70 6f 69 6e 74 65 72 25 21 30 3d 63 6f 6e 74 |Fpointer%!0=cont| 0000bbd0 72 6f 6c 25 3a 70 6f 69 6e 74 65 72 25 21 34 3d |rol%:pointer%!4=| 0000bbe0 31 39 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 49 |19:.. "Wimp_GetI| 0000bbf0 63 6f 6e 53 74 61 74 65 22 2c 2c 70 6f 69 6e 74 |conState",,point| 0000bc00 65 72 25 0d 3b 06 53 c8 99 20 22 57 69 6d 70 5f |er%.;.S.. "Wimp_| 0000bc10 46 6f 72 63 65 52 65 64 72 61 77 22 2c 70 6f 69 |ForceRedraw",poi| 0000bc20 6e 74 65 72 25 21 30 2c 70 6f 69 6e 74 65 72 25 |nter%!0,pointer%| 0000bc30 21 38 2c 70 6f 69 6e 74 65 72 25 21 31 32 2c 70 |!8,pointer%!12,p| 0000bc40 6f 69 6e 74 65 72 25 21 31 36 2c 70 6f 69 6e 74 |ointer%!16,point| 0000bc50 65 72 25 21 32 30 0d 3b 10 30 63 76 6f 6c 25 3d |er%!20.;.0cvol%=| 0000bc60 a4 69 6e 74 28 78 25 2a 76 6f 6c 75 6e 69 74 29 |.int(x%*volunit)| 0000bc70 3a e7 20 63 76 6f 6c 25 3e 32 35 35 20 63 76 6f |:. cvol%>255 cvo| 0000bc80 6c 25 3d 32 35 35 0d 3b 1a 05 e1 0d 3b 24 04 0d |l%=255.;....;$..| 0000bc90 3b 2e 0f dd 20 a4 69 6e 74 28 69 6e 74 29 0d 3b |;... .int(int).;| 0000bca0 38 0c 69 6e 74 2b 3d 30 2e 35 0d 3b 42 0b 3d a8 |8.int+=0.5.;B.=.| 0000bcb0 28 69 6e 74 29 0d 3b 4c 04 0d 3b 56 0e dd 20 f2 |(int).;L..;V.. .| 0000bcc0 76 6f 6c 66 69 6c 6c 0d 3b 60 10 e7 20 63 76 6f |volfill.;`.. cvo| 0000bcd0 6c 25 3e 31 30 20 8c 0d 3b 6a 12 20 20 73 63 3d |l%>10 ..;j. sc=| 0000bce0 63 76 6f 6c 25 2f 32 35 35 0d 3b 74 45 20 20 73 |cvol%/255.;tE s| 0000bcf0 63 63 62 25 21 32 30 3d a4 76 6f 6c 28 73 63 63 |ccb%!20=.vol(scc| 0000bd00 62 25 21 32 30 2c 73 63 29 3a 73 63 63 62 25 21 |b%!20,sc):sccb%!| 0000bd10 28 33 32 2b 32 30 29 3d a4 76 6f 6c 28 73 63 63 |(32+20)=.vol(scc| 0000bd20 62 25 21 28 33 32 2b 32 30 29 2c 73 63 29 0d 3b |b%!(32+20),sc).;| 0000bd30 7e 2a 20 20 73 63 63 62 25 21 28 36 34 2b 32 30 |~* sccb%!(64+20| 0000bd40 29 3d a4 76 6f 6c 28 73 63 63 62 25 21 28 36 34 |)=.vol(sccb%!(64| 0000bd50 2b 32 30 29 2c 73 63 29 0d 3b 88 2a 20 20 73 63 |+20),sc).;.* sc| 0000bd60 63 62 25 21 28 39 36 2b 32 30 29 3d a4 76 6f 6c |cb%!(96+20)=.vol| 0000bd70 28 73 63 63 62 25 21 28 39 36 2b 32 30 29 2c 73 |(sccb%!(96+20),s| 0000bd80 63 29 0d 3b 92 2c 20 20 73 63 63 62 25 21 28 31 |c).;., sccb%!(1| 0000bd90 32 38 2b 32 30 29 3d a4 76 6f 6c 28 73 63 63 62 |28+20)=.vol(sccb| 0000bda0 25 21 28 31 32 38 2b 32 30 29 2c 73 63 29 0d 3b |%!(128+20),sc).;| 0000bdb0 9c 2c 20 20 73 63 63 62 25 21 28 31 36 30 2b 32 |., sccb%!(160+2| 0000bdc0 30 29 3d a4 76 6f 6c 28 73 63 63 62 25 21 28 31 |0)=.vol(sccb%!(1| 0000bdd0 36 30 2b 32 30 29 2c 73 63 29 0d 3b a6 2c 20 20 |60+20),sc).;., | 0000bde0 73 63 63 62 25 21 28 31 39 32 2b 32 30 29 3d a4 |sccb%!(192+20)=.| 0000bdf0 76 6f 6c 28 73 63 63 62 25 21 28 31 39 32 2b 32 |vol(sccb%!(192+2| 0000be00 30 29 2c 73 63 29 0d 3b b0 2c 20 20 73 63 63 62 |0),sc).;., sccb| 0000be10 25 21 28 32 32 34 2b 32 30 29 3d a4 76 6f 6c 28 |%!(224+20)=.vol(| 0000be20 73 63 63 62 25 21 28 32 32 34 2b 32 30 29 2c 73 |sccb%!(224+20),s| 0000be30 63 29 0d 3b ba 05 cc 0d 3b c4 2b 20 20 e3 20 49 |c).;....;.+ . I| 0000be40 25 3d 30 20 b8 20 32 32 34 20 88 20 33 32 3a 73 |%=0 . 224 . 32:s| 0000be50 63 63 62 25 21 28 49 25 2b 32 30 29 3d 32 35 35 |ccb%!(I%+20)=255| 0000be60 3a ed 0d 3b ce 05 cd 0d 3b d8 05 e1 0d 3b e2 04 |:..;....;....;..| 0000be70 0d 3b ec 14 dd 20 a4 76 6f 6c 28 76 6f 6c 25 2c |.;... .vol(vol%,| 0000be80 73 63 6c 29 0d 3b f6 2f 76 6f 6c 31 3d 32 35 35 |scl).;./vol1=255| 0000be90 2d 76 6f 6c 25 3a 76 6f 6c 31 3d 76 6f 6c 31 2a |-vol%:vol1=vol1*| 0000bea0 73 63 6c 3a 3d a4 69 6e 74 28 32 35 35 2d 76 6f |scl:=.int(255-vo| 0000beb0 6c 31 29 0d 3c 00 04 0d 3c 0a 0f dd 20 f2 70 6c |l1).<...<... .pl| 0000bec0 61 79 6e 6f 74 65 0d 3c 14 32 73 61 6d 70 25 3d |aynote.<.2samp%=| 0000bed0 bb 28 a4 67 65 74 69 63 6f 6e 64 61 74 61 28 77 |.(.geticondata(w| 0000bee0 61 76 65 66 6f 72 6d 25 2c 31 29 29 3a e7 20 73 |aveform%,1)):. s| 0000bef0 61 6d 70 25 3d 30 20 e1 0d 3c 1e 43 c8 99 20 22 |amp%=0 ..<.C.. "| 0000bf00 54 72 61 63 6b 65 72 5f 52 65 61 64 53 61 6d 70 |Tracker_ReadSamp| 0000bf10 6c 65 54 61 62 6c 65 22 2c 73 61 6d 70 25 2c 2c |leTable",samp%,,| 0000bf20 2c 2c 6c 6f 63 6b 25 20 b8 20 2c 2c 6c 65 6e 25 |,,lock% . ,,len%| 0000bf30 3a e7 20 6c 65 6e 25 3d 30 20 e1 0d 3c 28 2e c8 |:. len%=0 ..<(..| 0000bf40 99 20 22 54 72 61 63 6b 65 72 5f 50 6c 61 79 4e |. "Tracker_PlayN| 0000bf50 6f 74 65 22 2c 31 2c 31 35 2c 73 61 6d 70 25 2c |ote",1,15,samp%,| 0000bf60 32 30 30 2c 6c 6f 63 6b 25 0d 3c 32 05 e1 0d 3c |200,lock%.<2...<| 0000bf70 3c 04 0d 3c 46 12 dd 20 f2 73 61 76 65 5f 72 6d |<..<F.. .save_rm| 0000bf80 28 66 24 29 0d 3c 50 4e e7 20 77 6f 72 6b 73 70 |(f$).<PN. worksp| 0000bf90 63 25 3d 30 20 f2 74 65 6c 6c 65 6d 6f 66 66 28 |c%=0 .tellemoff(| 0000bfa0 22 59 6f 75 20 68 61 76 65 20 74 6f 20 68 61 76 |"You have to hav| 0000bfb0 65 20 61 20 54 72 61 63 6b 65 72 20 74 75 6e 65 |e a Tracker tune| 0000bfc0 20 6c 6f 61 64 65 64 20 66 69 72 73 74 21 22 29 | loaded first!")| 0000bfd0 3a e1 0d 3c 5a 24 62 61 73 65 25 3d a4 63 6c 61 |:..<Z$base%=.cla| 0000bfe0 69 6d 5f 72 6d 61 28 6c 65 6e 62 79 74 65 73 25 |im_rma(lenbytes%| 0000bff0 2b 31 30 30 30 29 0d 3c 64 4c e7 20 62 61 73 65 |+1000).<dL. base| 0000c000 25 3d 30 20 f2 74 65 6c 6c 65 6d 6f 66 66 28 22 |%=0 .tellemoff("| 0000c010 43 61 6e 6e 6f 74 20 73 61 76 65 20 54 72 61 63 |Cannot save Trac| 0000c020 6b 65 72 20 74 75 6e 65 20 61 73 20 52 65 6c 6f |ker tune as Relo| 0000c030 63 61 74 61 62 6c 65 20 4d 6f 64 75 6c 65 22 29 |catable Module")| 0000c040 3a e1 0d 3c 6e 17 e3 20 70 61 73 73 25 3d 31 32 |:..<n.. pass%=12| 0000c050 20 b8 20 31 35 20 88 20 32 0d 3c 78 29 50 25 3d | . 15 . 2.<x)P%=| 0000c060 30 3a 4f 25 3d 62 61 73 65 25 3a 4c 25 3d 62 61 |0:O%=base%:L%=ba| 0000c070 73 65 25 2b 6c 65 6e 62 79 74 65 73 25 2b 31 35 |se%+lenbytes%+15| 0000c080 30 30 0d 3c 82 0e 5b 4f 50 54 20 70 61 73 73 25 |00.<..[OPT pass%| 0000c090 0d 3c 8c 0a 45 51 55 44 20 30 0d 3c 96 18 45 51 |.<..EQUD 0.<..EQ| 0000c0a0 55 44 20 6d 6f 64 5f 69 6e 69 74 69 61 6c 69 73 |UD mod_initialis| 0000c0b0 65 25 0d 3c a0 16 45 51 55 44 20 6d 6f 64 5f 66 |e%.<..EQUD mod_f| 0000c0c0 69 6e 61 6c 69 73 65 25 0d 3c aa 0a 45 51 55 44 |inalise%.<..EQUD| 0000c0d0 20 30 0d 3c b4 13 45 51 55 44 20 6d 6f 64 5f 74 | 0.<..EQUD mod_t| 0000c0e0 69 74 6c 65 25 0d 3c be 12 45 51 55 44 20 6d 6f |itle%.<..EQUD mo| 0000c0f0 64 5f 68 65 6c 70 25 0d 3c c8 05 5d 0d 3c d2 0c |d_help%.<..].<..| 0000c100 e7 20 63 6f 6d 25 20 8c 0d 3c dc 10 20 20 5b 4f |. com% ..<.. [O| 0000c110 50 54 20 70 61 73 73 25 0d 3c e6 17 20 20 45 51 |PT pass%.<.. EQ| 0000c120 55 44 20 6d 6f 64 5f 63 6f 6d 6d 61 6e 64 25 0d |UD mod_command%.| 0000c130 3c f0 07 20 20 5d 0d 3c fa 05 cc 0d 3d 04 10 20 |<.. ].<....=.. | 0000c140 20 5b 4f 50 54 20 70 61 73 73 25 0d 3d 0e 0c 20 | [OPT pass%.=.. | 0000c150 20 45 51 55 44 20 30 0d 3d 18 07 20 20 5d 0d 3d | EQUD 0.=.. ].=| 0000c160 22 05 cd 0d 3d 2c 0e 5b 4f 50 54 20 70 61 73 73 |"...=,.[OPT pass| 0000c170 25 0d 3d 36 0a 45 51 55 44 20 30 0d 3d 40 04 0d |%.=6.EQUD 0.=@..| 0000c180 3d 4a 14 2e 6d 6f 64 5f 69 6e 69 74 69 61 6c 69 |=J..mod_initiali| 0000c190 73 65 25 0d 3d 54 1a 53 54 4d 46 44 20 52 31 33 |se%.=T.STMFD R13| 0000c1a0 21 2c 7b 52 30 2d 52 38 2c 52 31 34 7d 0d 3d 5e |!,{R0-R8,R14}.=^| 0000c1b0 1e 53 57 49 20 22 4f 53 5f 52 65 61 64 4d 6f 6e |.SWI "OS_ReadMon| 0000c1c0 6f 74 6f 6e 69 63 54 69 6d 65 22 0d 3d 68 10 80 |otonicTime".=h..| 0000c1d0 20 52 30 2c 52 30 2c 23 32 35 36 0d 3d 72 14 53 | R0,R0,#256.=r.S| 0000c1e0 54 52 20 52 30 2c 6d 6f 64 5f 6c 6f 63 6b 25 0d |TR R0,mod_lock%.| 0000c1f0 3d 7c 16 53 57 49 20 22 54 72 61 63 6b 65 72 5f |=|.SWI "Tracker_| 0000c200 4c 6f 63 6b 22 0d 3d 86 19 41 44 52 20 52 30 2c |Lock".=..ADR R0,| 0000c210 6d 6f 64 5f 74 75 6e 65 73 74 61 72 74 25 0d 3d |mod_tunestart%.=| 0000c220 90 1a 4c 44 52 20 52 31 2c 6d 6f 64 5f 74 75 6e |..LDR R1,mod_tun| 0000c230 65 6c 65 6e 67 74 68 25 0d 3d 9a 14 4c 44 52 20 |elength%.=..LDR | 0000c240 52 34 2c 6d 6f 64 5f 6c 6f 63 6b 25 0d 3d a4 1c |R4,mod_lock%.=..| 0000c250 53 57 49 20 22 54 72 61 63 6b 65 72 5f 4d 65 6d |SWI "Tracker_Mem| 0000c260 6f 72 79 4c 6f 61 64 22 0d 3d ae 18 4c 44 52 20 |oryLoad".=..LDR | 0000c270 52 30 2c 6d 6f 64 5f 61 75 74 6f 70 6c 61 79 25 |R0,mod_autoplay%| 0000c280 0d 3d b8 0d 43 4d 50 20 52 30 2c 23 31 0d 3d c2 |.=..CMP R0,#1.=.| 0000c290 18 53 57 49 45 51 20 22 54 72 61 63 6b 65 72 5f |.SWIEQ "Tracker_| 0000c2a0 50 6c 61 79 22 0d 3d cc 19 4c 44 4d 46 44 20 52 |Play".=..LDMFD R| 0000c2b0 31 33 21 2c 7b 52 30 2d 52 38 2c 50 43 7d 0d 3d |13!,{R0-R8,PC}.=| 0000c2c0 d6 04 0d 3d e0 12 2e 6d 6f 64 5f 66 69 6e 61 6c |...=...mod_final| 0000c2d0 69 73 65 25 0d 3d ea 1a 53 54 4d 46 44 20 52 31 |ise%.=..STMFD R1| 0000c2e0 33 21 2c 7b 52 30 2d 52 38 2c 52 31 34 7d 0d 3d |3!,{R0-R8,R14}.=| 0000c2f0 f4 14 4c 44 52 20 52 34 2c 6d 6f 64 5f 6c 6f 63 |..LDR R4,mod_loc| 0000c300 6b 25 0d 3d fe 16 53 57 49 20 22 54 72 61 63 6b |k%.=..SWI "Track| 0000c310 65 72 5f 53 74 6f 70 22 0d 3e 08 0d 4d 4f 56 20 |er_Stop".>..MOV | 0000c320 52 30 2c 52 34 0d 3e 12 18 53 57 49 20 22 54 72 |R0,R4.>..SWI "Tr| 0000c330 61 63 6b 65 72 5f 55 6e 6c 6f 63 6b 22 0d 3e 1c |acker_Unlock".>.| 0000c340 19 4c 44 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d |.LDMFD R13!,{R0-| 0000c350 52 38 2c 50 43 7d 0d 3e 26 04 0d 3e 30 0f 2e 6d |R8,PC}.>&..>0..m| 0000c360 6f 64 5f 74 69 74 6c 65 25 0d 3e 3a 16 45 51 55 |od_title%.>:.EQU| 0000c370 53 20 22 4d 75 73 69 63 4d 6f 64 75 6c 65 22 0d |S "MusicModule".| 0000c380 3e 44 0a 45 51 55 42 20 30 0d 3e 4e 09 41 4c 49 |>D.EQUB 0.>N.ALI| 0000c390 47 4e 0d 3e 58 04 0d 3e 62 0e 2e 6d 6f 64 5f 68 |GN.>X..>b..mod_h| 0000c3a0 65 6c 70 25 0d 3e 6c 30 45 51 55 53 20 22 4d 75 |elp%.>l0EQUS "Mu| 0000c3b0 73 69 63 4d 6f 64 75 6c 65 22 2b bd 39 2b 22 30 |sicModule"+.9+"0| 0000c3c0 2e 31 30 20 28 22 2b c1 91 24 2c 35 2c 31 31 29 |.10 ("+..$,5,11)| 0000c3d0 2b 22 29 22 0d 3e 76 10 45 51 55 42 20 30 3a 41 |+")".>v.EQUB 0:A| 0000c3e0 4c 49 47 4e 0d 3e 80 04 0d 3e 8a 11 2e 6d 6f 64 |LIGN.>...>...mod| 0000c3f0 5f 63 6f 6d 6d 61 6e 64 25 0d 3e 94 12 45 51 55 |_command%.>..EQU| 0000c400 53 20 22 4d 75 73 69 63 4f 6e 22 0d 3e 9e 0a 45 |S "MusicOn".>..E| 0000c410 51 55 42 20 30 0d 3e a8 09 41 4c 49 47 4e 0d 3e |QUB 0.>..ALIGN.>| 0000c420 b2 15 45 51 55 44 20 6d 6f 64 5f 6d 75 73 69 63 |..EQUD mod_music| 0000c430 6f 6e 25 0d 3e bc 0a 45 51 55 44 20 30 0d 3e c6 |on%.>..EQUD 0.>.| 0000c440 1c 45 51 55 44 20 6d 6f 64 5f 6d 75 73 69 63 6f |.EQUD mod_musico| 0000c450 6e 5f 73 79 6e 74 61 78 25 0d 3e d0 1a 45 51 55 |n_syntax%.>..EQU| 0000c460 44 20 6d 6f 64 5f 6d 75 73 69 63 6f 6e 5f 68 65 |D mod_musicon_he| 0000c470 6c 70 25 0d 3e da 13 45 51 55 53 20 22 4d 75 73 |lp%.>..EQUS "Mus| 0000c480 69 63 4f 66 66 22 0d 3e e4 0a 45 51 55 42 20 30 |icOff".>..EQUB 0| 0000c490 0d 3e ee 09 41 4c 49 47 4e 0d 3e f8 16 45 51 55 |.>..ALIGN.>..EQU| 0000c4a0 44 20 6d 6f 64 5f 6d 75 73 69 63 6f 66 66 25 0d |D mod_musicoff%.| 0000c4b0 3f 02 0a 45 51 55 44 20 30 0d 3f 0c 1d 45 51 55 |?..EQUD 0.?..EQU| 0000c4c0 44 20 6d 6f 64 5f 6d 75 73 69 63 6f 66 66 5f 73 |D mod_musicoff_s| 0000c4d0 79 6e 74 61 78 25 0d 3f 16 1b 45 51 55 44 20 6d |yntax%.?..EQUD m| 0000c4e0 6f 64 5f 6d 75 73 69 63 6f 66 66 5f 68 65 6c 70 |od_musicoff_help| 0000c4f0 25 0d 3f 20 15 45 51 55 53 20 22 4d 75 73 69 63 |%.? .EQUS "Music| 0000c500 50 61 75 73 65 22 0d 3f 2a 0a 45 51 55 42 20 30 |Pause".?*.EQUB 0| 0000c510 0d 3f 34 09 41 4c 49 47 4e 0d 3f 3e 18 45 51 55 |.?4.ALIGN.?>.EQU| 0000c520 44 20 6d 6f 64 5f 6d 75 73 69 63 70 61 75 73 65 |D mod_musicpause| 0000c530 25 0d 3f 48 0a 45 51 55 44 20 30 0d 3f 52 1f 45 |%.?H.EQUD 0.?R.E| 0000c540 51 55 44 20 6d 6f 64 5f 6d 75 73 69 63 70 61 75 |QUD mod_musicpau| 0000c550 73 65 5f 73 79 6e 74 61 78 25 0d 3f 5c 1d 45 51 |se_syntax%.?\.EQ| 0000c560 55 44 20 6d 6f 64 5f 6d 75 73 69 63 70 61 75 73 |UD mod_musicpaus| 0000c570 65 5f 68 65 6c 70 25 0d 3f 66 0a 45 51 55 44 20 |e_help%.?f.EQUD | 0000c580 30 0d 3f 70 04 0d 3f 7a 11 2e 6d 6f 64 5f 6d 75 |0.?p..?z..mod_mu| 0000c590 73 69 63 6f 6e 25 0d 3f 84 1a 53 54 4d 46 44 20 |sicon%.?..STMFD | 0000c5a0 52 31 33 21 2c 7b 52 30 2d 52 38 2c 52 31 34 7d |R13!,{R0-R8,R14}| 0000c5b0 0d 3f 8e 14 4c 44 52 20 52 34 2c 6d 6f 64 5f 6c |.?..LDR R4,mod_l| 0000c5c0 6f 63 6b 25 0d 3f 98 16 53 57 49 20 22 54 72 61 |ock%.?..SWI "Tra| 0000c5d0 63 6b 65 72 5f 50 6c 61 79 22 0d 3f a2 19 4c 44 |cker_Play".?..LD| 0000c5e0 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d 52 38 2c |MFD R13!,{R0-R8,| 0000c5f0 50 43 7d 0d 3f ac 04 0d 3f b6 18 2e 6d 6f 64 5f |PC}.?...?...mod_| 0000c600 6d 75 73 69 63 6f 6e 5f 73 79 6e 74 61 78 25 0d |musicon_syntax%.| 0000c610 3f c0 1b 45 51 55 53 20 22 53 79 6e 74 61 78 3a |?..EQUS "Syntax:| 0000c620 20 2a 4d 75 73 69 63 4f 6e 22 0d 3f ca 0a 45 51 | *MusicOn".?..EQ| 0000c630 55 42 20 30 0d 3f d4 09 41 4c 49 47 4e 0d 3f de |UB 0.?..ALIGN.?.| 0000c640 04 0d 3f e8 16 2e 6d 6f 64 5f 6d 75 73 69 63 6f |..?...mod_musico| 0000c650 6e 5f 68 65 6c 70 25 0d 3f f2 3d 45 51 55 53 20 |n_help%.?.=EQUS | 0000c660 22 2a 4d 75 73 69 63 4f 6e 20 73 77 69 74 63 68 |"*MusicOn switch| 0000c670 65 73 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e |es the backgroun| 0000c680 64 20 54 72 61 63 6b 65 72 20 6d 75 73 69 63 20 |d Tracker music | 0000c690 6f 6e 2e 22 0d 3f fc 0a 45 51 55 42 20 30 0d 40 |on.".?..EQUB 0.@| 0000c6a0 06 09 41 4c 49 47 4e 0d 40 10 04 0d 40 1a 12 2e |..ALIGN.@...@...| 0000c6b0 6d 6f 64 5f 6d 75 73 69 63 6f 66 66 25 0d 40 24 |mod_musicoff%.@$| 0000c6c0 1a 53 54 4d 46 44 20 52 31 33 21 2c 7b 52 30 2d |.STMFD R13!,{R0-| 0000c6d0 52 38 2c 52 31 34 7d 0d 40 2e 14 4c 44 52 20 52 |R8,R14}.@..LDR R| 0000c6e0 34 2c 6d 6f 64 5f 6c 6f 63 6b 25 0d 40 38 17 53 |4,mod_lock%.@8.S| 0000c6f0 57 49 20 22 54 72 61 63 6b 65 72 5f 50 61 75 73 |WI "Tracker_Paus| 0000c700 65 22 0d 40 42 0d 4d 4f 56 20 52 30 2c 23 30 0d |e".@B.MOV R0,#0.| 0000c710 40 4c 18 53 57 49 20 22 54 72 61 63 6b 65 72 5f |@L.SWI "Tracker_| 0000c720 53 65 74 50 6f 73 22 0d 40 56 19 4c 44 4d 46 44 |SetPos".@V.LDMFD| 0000c730 20 52 31 33 21 2c 7b 52 30 2d 52 38 2c 50 43 7d | R13!,{R0-R8,PC}| 0000c740 0d 40 60 04 0d 40 6a 19 2e 6d 6f 64 5f 6d 75 73 |.@`..@j..mod_mus| 0000c750 69 63 6f 66 66 5f 73 79 6e 74 61 78 25 0d 40 74 |icoff_syntax%.@t| 0000c760 1c 45 51 55 53 20 22 53 79 6e 74 61 78 3a 20 2a |.EQUS "Syntax: *| 0000c770 4d 75 73 69 63 4f 66 66 22 0d 40 7e 0a 45 51 55 |MusicOff".@~.EQU| 0000c780 42 20 30 0d 40 88 09 41 4c 49 47 4e 0d 40 92 04 |B 0.@..ALIGN.@..| 0000c790 0d 40 9c 17 2e 6d 6f 64 5f 6d 75 73 69 63 6f 66 |.@...mod_musicof| 0000c7a0 66 5f 68 65 6c 70 25 0d 40 a6 3f 45 51 55 53 20 |f_help%.@.?EQUS | 0000c7b0 22 2a 4d 75 73 69 63 4f 66 66 20 73 77 69 74 63 |"*MusicOff switc| 0000c7c0 68 65 73 20 74 68 65 20 62 61 63 6b 67 72 6f 75 |hes the backgrou| 0000c7d0 6e 64 20 54 72 61 63 6b 65 72 20 6d 75 73 69 63 |nd Tracker music| 0000c7e0 20 6f 66 66 2e 22 0d 40 b0 0a 45 51 55 42 20 30 | off.".@..EQUB 0| 0000c7f0 0d 40 ba 09 41 4c 49 47 4e 0d 40 c4 04 0d 40 ce |.@..ALIGN.@...@.| 0000c800 14 2e 6d 6f 64 5f 6d 75 73 69 63 70 61 75 73 65 |..mod_musicpause| 0000c810 25 0d 40 d8 1a 53 54 4d 46 44 20 52 31 33 21 2c |%.@..STMFD R13!,| 0000c820 7b 52 30 2d 52 38 2c 52 31 34 7d 0d 40 e2 14 4c |{R0-R8,R14}.@..L| 0000c830 44 52 20 52 34 2c 6d 6f 64 5f 6c 6f 63 6b 25 0d |DR R4,mod_lock%.| 0000c840 40 ec 17 53 57 49 20 22 54 72 61 63 6b 65 72 5f |@..SWI "Tracker_| 0000c850 50 61 75 73 65 22 0d 40 f6 19 4c 44 4d 46 44 20 |Pause".@..LDMFD | 0000c860 52 31 33 21 2c 7b 52 30 2d 52 38 2c 50 43 7d 0d |R13!,{R0-R8,PC}.| 0000c870 41 00 04 0d 41 0a 1b 2e 6d 6f 64 5f 6d 75 73 69 |A...A...mod_musi| 0000c880 63 70 61 75 73 65 5f 73 79 6e 74 61 78 25 0d 41 |cpause_syntax%.A| 0000c890 14 1e 45 51 55 53 20 22 53 79 6e 74 61 78 3a 20 |..EQUS "Syntax: | 0000c8a0 2a 4d 75 73 69 63 50 61 75 73 65 22 0d 41 1e 0a |*MusicPause".A..| 0000c8b0 45 51 55 42 20 30 0d 41 28 09 41 4c 49 47 4e 0d |EQUB 0.A(.ALIGN.| 0000c8c0 41 32 04 0d 41 3c 19 2e 6d 6f 64 5f 6d 75 73 69 |A2..A<..mod_musi| 0000c8d0 63 70 61 75 73 65 5f 68 65 6c 70 25 0d 41 46 3b |cpause_help%.AF;| 0000c8e0 45 51 55 53 20 22 2a 4d 75 73 69 63 50 61 75 73 |EQUS "*MusicPaus| 0000c8f0 65 20 70 61 75 73 65 73 20 74 68 65 20 62 61 63 |e pauses the bac| 0000c900 6b 67 72 6f 75 6e 64 20 54 72 61 63 6b 65 72 20 |kground Tracker | 0000c910 6d 75 73 69 63 2e 22 0d 41 50 0a 45 51 55 42 20 |music.".AP.EQUB | 0000c920 30 0d 41 5a 09 41 4c 49 47 4e 0d 41 64 04 0d 41 |0.AZ.ALIGN.Ad..A| 0000c930 6e 12 2e 6d 6f 64 5f 61 75 74 6f 70 6c 61 79 25 |n..mod_autoplay%| 0000c940 0d 41 78 0a 45 51 55 44 20 31 0d 41 82 04 0d 41 |.Ax.EQUD 1.A...A| 0000c950 8c 0e 2e 6d 6f 64 5f 6c 6f 63 6b 25 0d 41 96 0a |...mod_lock%.A..| 0000c960 45 51 55 44 20 30 0d 41 a0 04 0d 41 aa 14 2e 6d |EQUD 0.A...A...m| 0000c970 6f 64 5f 74 75 6e 65 6c 65 6e 67 74 68 25 0d 41 |od_tunelength%.A| 0000c980 b4 0a 45 51 55 44 20 30 0d 41 be 04 0d 41 c8 13 |..EQUD 0.A...A..| 0000c990 2e 6d 6f 64 5f 74 75 6e 65 73 74 61 72 74 25 0d |.mod_tunestart%.| 0000c9a0 41 d2 05 5d 0d 41 dc 2f c8 99 20 22 4f 53 5f 46 |A..].A./.. "OS_F| 0000c9b0 69 6c 65 22 2c 26 46 46 2c 74 75 6e 65 24 2c 6d |ile",&FF,tune$,m| 0000c9c0 6f 64 5f 74 75 6e 65 73 74 61 72 74 25 2b 62 61 |od_tunestart%+ba| 0000c9d0 73 65 25 0d 41 e6 1f 50 25 2b 3d 6c 65 6e 62 79 |se%.A..P%+=lenby| 0000c9e0 74 65 73 25 3a 4f 25 2b 3d 6c 65 6e 62 79 74 65 |tes%:O%+=lenbyte| 0000c9f0 73 25 0d 41 f0 0b ed 20 70 61 73 73 25 0d 41 fa |s%.A... pass%.A.| 0000ca00 26 21 28 6d 6f 64 5f 74 75 6e 65 6c 65 6e 67 74 |&!(mod_tunelengt| 0000ca10 68 25 2b 62 61 73 65 25 29 3d 6c 65 6e 62 79 74 |h%+base%)=lenbyt| 0000ca20 65 73 25 0d 42 04 3f e7 20 61 70 25 20 8c 20 21 |es%.B.?. ap% . !| 0000ca30 28 6d 6f 64 5f 61 75 74 6f 70 6c 61 79 25 2b 62 |(mod_autoplay%+b| 0000ca40 61 73 65 25 29 3d 31 20 8b 20 21 28 6d 6f 64 5f |ase%)=1 . !(mod_| 0000ca50 61 75 74 6f 70 6c 61 79 25 2b 62 61 73 65 25 29 |autoplay%+base%)| 0000ca60 3d 30 0d 42 0e 2b c8 99 20 22 4f 53 5f 46 69 6c |=0.B.+.. "OS_Fil| 0000ca70 65 22 2c 26 41 2c 66 24 2c 26 46 46 41 2c 2c 62 |e",&A,f$,&FFA,,b| 0000ca80 61 73 65 25 2c 62 61 73 65 25 2b 50 25 0d 42 18 |ase%,base%+P%.B.| 0000ca90 17 f2 72 65 6c 65 61 73 65 5f 72 6d 61 28 62 61 |..release_rma(ba| 0000caa0 73 65 25 29 0d 42 22 05 e1 0d 42 2c 04 0d 42 36 |se%).B"...B,..B6| 0000cab0 19 dd 20 f2 6d 6f 6e 69 74 6f 72 3a 6f 6c 64 6d |.. .monitor:oldm| 0000cac0 6f 64 65 25 3d eb 0d 42 40 0c ea 20 74 72 61 63 |ode%=..B@.. trac| 0000cad0 6b 25 0d 42 4a 0e eb 31 32 3a 87 3a c8 97 20 87 |k%.BJ..12:.:.. .| 0000cae0 0d 42 54 24 e3 20 49 25 3d 30 20 b8 20 66 6f 6e |.BT$. I%=0 . fon| 0000caf0 74 6c 65 6e 25 2d 31 3a ef 20 66 6f 6e 74 25 3f |tlen%-1:. font%?| 0000cb00 49 25 3a ed 0d 42 5e 42 c8 99 20 22 54 72 61 63 |I%:..B^B.. "Trac| 0000cb10 6b 65 72 5f 54 75 6e 65 49 6e 66 6f 22 2c 2c 2c |ker_TuneInfo",,,| 0000cb20 2c 2c 6c 6f 63 6b 25 20 b8 20 6c 65 6e 25 2c 76 |,,lock% . len%,v| 0000cb30 6f 69 63 65 73 25 2c 73 70 65 65 64 25 2c 6e 61 |oices%,speed%,na| 0000cb40 6d 65 24 2c 61 25 0d 42 68 1a f1 8a 30 2c 30 29 |me$,a%.Bh...0,0)| 0000cb50 3b 22 54 72 61 63 6b 3a 20 22 2b 6e 61 6d 65 24 |;"Track: "+name$| 0000cb60 0d 42 72 36 f1 8a 34 38 2c 31 29 3b 22 56 6f 69 |.Br6..48,1);"Voi| 0000cb70 63 65 73 3a 20 22 2b c3 76 6f 69 63 65 73 25 2b |ces: "+.voices%+| 0000cb80 22 20 20 20 20 20 53 70 65 65 64 3a 20 22 2b c3 |" Speed: "+.| 0000cb90 73 70 65 65 64 25 0d 42 7c 43 f1 8a 34 38 2c 32 |speed%.B|C..48,2| 0000cba0 29 3b 22 50 61 74 74 65 72 6e 73 3a 20 22 2b c3 |);"Patterns: "+.| 0000cbb0 6c 65 6e 25 2b c4 33 2d a9 28 c3 6c 65 6e 25 29 |len%+.3-.(.len%)| 0000cbc0 2c 22 20 22 29 2b 22 20 56 6f 6c 75 6d 65 3a 20 |," ")+" Volume: | 0000cbd0 22 2b c3 7e 63 76 6f 6c 25 0d 42 86 4b f1 8a 34 |"+.~cvol%.B.K..4| 0000cbe0 38 2c 33 29 3b 22 50 6f 73 69 74 69 6f 6e 3a 20 |8,3);"Position: | 0000cbf0 30 20 20 20 6f 66 3a 20 22 2b c3 28 6c 65 6e 25 |0 of: "+.(len%| 0000cc00 2d 31 29 2b c4 33 2d a9 28 c3 28 6c 65 6e 25 2d |-1)+.3-.(.(len%-| 0000cc10 31 29 29 2c 22 20 22 29 2b 22 20 45 76 65 6e 74 |1))," ")+" Event| 0000cc20 3a 20 30 22 0d 42 90 50 f1 8a 31 32 2c 35 29 3b |: 0".B.P..12,5);| 0000cc30 22 50 69 74 63 68 20 41 63 63 20 50 69 74 63 68 |"Pitch Acc Pitch| 0000cc40 20 49 6e 63 20 42 79 74 65 20 4f 66 66 20 20 53 | Inc Byte Off S| 0000cc50 61 6d 70 20 4c 65 6e 20 20 53 61 6d 70 20 4e 6f |amp Len Samp No| 0000cc60 20 20 20 56 6f 6c 75 6d 65 20 20 20 20 50 65 72 | Volume Per| 0000cc70 69 6f 64 22 0d 42 9a 23 c8 99 20 22 4f 53 5f 48 |iod".B.#.. "OS_H| 0000cc80 65 61 70 22 2c 31 2c 62 75 66 66 25 20 b8 20 2c |eap",1,buff% . ,| 0000cc90 2c 2c 73 69 7a 65 25 0d 42 a4 37 f1 8a 30 2c 32 |,,size%.B.7..0,2| 0000cca0 30 29 3b 22 42 75 66 66 65 72 20 73 69 7a 65 20 |0);"Buffer size | 0000ccb0 63 75 72 72 65 6e 74 6c 79 20 26 22 2b c3 7e 73 |currently &"+.~s| 0000ccc0 69 7a 65 25 2b 22 20 62 79 74 65 73 2e 22 0d 42 |ize%+" bytes.".B| 0000ccd0 ae 44 f1 8a 30 2c 32 31 29 3b 22 4d 6f 64 75 6c |.D..0,21);"Modul| 0000cce0 65 20 6c 6f 61 64 65 64 20 61 74 20 26 22 2b c3 |e loaded at &"+.| 0000ccf0 7e 77 6f 72 6b 73 70 63 25 2b 22 2c 20 6c 65 6e |~workspc%+", len| 0000cd00 67 74 68 20 26 22 2b c3 7e 6c 65 6e 62 79 74 65 |gth &"+.~lenbyte| 0000cd10 73 25 0d 42 b8 30 f1 8a 30 2c 32 39 29 3b 22 53 |s%.B.0..0,29);"S| 0000cd20 79 73 74 65 6d 20 50 6c 61 79 54 72 61 63 6b 20 |ystem PlayTrack | 0000cd30 62 79 20 44 61 76 69 64 20 4a 2e 20 53 65 65 72 |by David J. Seer| 0000cd40 79 22 0d 42 c2 27 f1 8a 30 2c 33 31 29 3b a4 67 |y".B.'..0,31);.g| 0000cd50 65 74 69 63 6f 6e 64 61 74 61 28 69 6e 66 6f 77 |eticondata(infow| 0000cd60 69 6e 64 25 2c 31 35 29 3b 0d 42 cc 24 f5 3a c8 |ind%,15);.B.$.:.| 0000cd70 99 20 22 54 72 61 63 6b 65 72 5f 52 65 61 64 50 |. "Tracker_ReadP| 0000cd80 6f 73 22 20 b8 20 63 70 25 2c 65 76 25 0d 42 d6 |os" . cp%,ev%.B.| 0000cd90 64 f1 8a 34 38 2c 33 29 3b 22 50 6f 73 69 74 69 |d..48,3);"Positi| 0000cda0 6f 6e 3a 20 22 2b c3 63 70 25 2b c4 33 2d a9 28 |on: "+.cp%+.3-.(| 0000cdb0 c3 63 70 25 29 2c 22 20 22 29 2b 22 20 6f 66 3a |.cp%)," ")+" of:| 0000cdc0 20 22 2b c3 28 6c 65 6e 25 2d 31 29 2b c4 33 2d | "+.(len%-1)+.3-| 0000cdd0 a9 28 c3 28 6c 65 6e 25 2d 31 29 29 2c 22 20 22 |.(.(len%-1))," "| 0000cde0 29 2b 22 20 45 76 65 6e 74 3a 20 22 2b c3 65 76 |)+" Event: "+.ev| 0000cdf0 25 0d 42 e0 23 c8 99 20 22 54 72 61 63 6b 65 72 |%.B.#.. "Tracker| 0000ce00 5f 53 6f 75 6e 64 49 6e 66 6f 22 2c 70 6f 69 6e |_SoundInfo",poin| 0000ce10 74 65 72 25 0d 42 ea 22 e3 20 49 25 3d 30 20 b8 |ter%.B.". I%=0 .| 0000ce20 20 32 32 34 20 88 20 33 32 3a 74 72 61 63 6b 25 | 224 . 32:track%| 0000ce30 3d 49 25 2f 33 32 0d 42 f4 24 f1 8a 30 2c 36 2b |=I%/32.B.$..0,6+| 0000ce40 74 72 61 63 6b 25 29 3b 22 43 68 61 6e 6e 65 6c |track%);"Channel| 0000ce50 20 22 2b c3 74 72 61 63 6b 25 0d 42 fe 99 61 63 | "+.track%.B..ac| 0000ce60 63 25 3d 70 6f 69 6e 74 65 72 25 21 49 25 3a 69 |c%=pointer%!I%:i| 0000ce70 6e 63 25 3d 70 6f 69 6e 74 65 72 25 21 28 49 25 |nc%=pointer%!(I%| 0000ce80 2b 34 29 3a 73 6c 65 6e 25 3d 70 6f 69 6e 74 65 |+4):slen%=pointe| 0000ce90 72 25 21 28 49 25 2b 31 32 29 3a 73 6e 6f 25 3d |r%!(I%+12):sno%=| 0000cea0 70 6f 69 6e 74 65 72 25 21 28 49 25 2b 31 36 29 |pointer%!(I%+16)| 0000ceb0 3a 76 6f 6c 25 3d 70 6f 69 6e 74 65 72 25 21 28 |:vol%=pointer%!(| 0000cec0 49 25 2b 32 30 29 3a 6e 6f 74 65 25 3d 70 6f 69 |I%+20):note%=poi| 0000ced0 6e 74 65 72 25 21 28 49 25 2b 32 34 29 3a 70 65 |nter%!(I%+24):pe| 0000cee0 72 25 3d 70 6f 69 6e 74 65 72 25 21 28 49 25 2b |r%=pointer%!(I%+| 0000cef0 32 38 29 0d 43 08 45 c8 99 22 4f 53 5f 43 6f 6e |28).C.E.."OS_Con| 0000cf00 76 65 72 74 48 65 78 38 22 2c 61 63 63 25 2c 70 |vertHex8",acc%,p| 0000cf10 6f 69 6e 74 65 72 25 2b 33 30 30 2c 31 30 30 3a |ointer%+300,100:| 0000cf20 61 63 63 24 3d a4 72 74 6f 7a 28 70 6f 69 6e 74 |acc$=.rtoz(point| 0000cf30 65 72 25 2b 33 30 30 29 0d 43 12 45 c8 99 22 4f |er%+300).C.E.."O| 0000cf40 53 5f 43 6f 6e 76 65 72 74 48 65 78 38 22 2c 69 |S_ConvertHex8",i| 0000cf50 6e 63 25 2c 70 6f 69 6e 74 65 72 25 2b 33 30 30 |nc%,pointer%+300| 0000cf60 2c 31 30 30 3a 69 6e 63 24 3d a4 72 74 6f 7a 28 |,100:inc$=.rtoz(| 0000cf70 70 6f 69 6e 74 65 72 25 2b 33 30 30 29 0d 43 1c |pointer%+300).C.| 0000cf80 4b c8 99 22 4f 53 5f 43 6f 6e 76 65 72 74 48 65 |K.."OS_ConvertHe| 0000cf90 78 38 22 2c 61 63 63 25 3e 3e 3e 31 36 2c 70 6f |x8",acc%>>>16,po| 0000cfa0 69 6e 74 65 72 25 2b 33 30 30 2c 31 30 30 3a 6c |inter%+300,100:l| 0000cfb0 6f 6f 70 24 3d a4 72 74 6f 7a 28 70 6f 69 6e 74 |oop$=.rtoz(point| 0000cfc0 65 72 25 2b 33 30 30 29 0d 43 26 47 c8 99 22 4f |er%+300).C&G.."O| 0000cfd0 53 5f 43 6f 6e 76 65 72 74 48 65 78 38 22 2c 73 |S_ConvertHex8",s| 0000cfe0 6c 65 6e 25 2c 70 6f 69 6e 74 65 72 25 2b 33 30 |len%,pointer%+30| 0000cff0 30 2c 31 30 30 3a 73 6c 65 6e 24 3d a4 72 74 6f |0,100:slen$=.rto| 0000d000 7a 28 70 6f 69 6e 74 65 72 25 2b 33 30 30 29 0d |z(pointer%+300).| 0000d010 43 30 45 c8 99 22 4f 53 5f 43 6f 6e 76 65 72 74 |C0E.."OS_Convert| 0000d020 48 65 78 38 22 2c 73 6e 6f 25 2c 70 6f 69 6e 74 |Hex8",sno%,point| 0000d030 65 72 25 2b 33 30 30 2c 31 30 30 3a 73 6e 6f 24 |er%+300,100:sno$| 0000d040 3d a4 72 74 6f 7a 28 70 6f 69 6e 74 65 72 25 2b |=.rtoz(pointer%+| 0000d050 33 30 30 29 0d 43 3a 49 c8 99 22 4f 53 5f 43 6f |300).C:I.."OS_Co| 0000d060 6e 76 65 72 74 48 65 78 38 22 2c 32 35 35 2d 76 |nvertHex8",255-v| 0000d070 6f 6c 25 2c 70 6f 69 6e 74 65 72 25 2b 33 30 30 |ol%,pointer%+300| 0000d080 2c 31 30 30 3a 76 6f 6c 24 3d a4 72 74 6f 7a 28 |,100:vol$=.rtoz(| 0000d090 70 6f 69 6e 74 65 72 25 2b 33 30 30 29 0d 43 44 |pointer%+300).CD| 0000d0a0 45 c8 99 22 4f 53 5f 43 6f 6e 76 65 72 74 48 65 |E.."OS_ConvertHe| 0000d0b0 78 38 22 2c 70 65 72 25 2c 70 6f 69 6e 74 65 72 |x8",per%,pointer| 0000d0c0 25 2b 33 30 30 2c 31 30 30 3a 70 65 72 24 3d a4 |%+300,100:per$=.| 0000d0d0 72 74 6f 7a 28 70 6f 69 6e 74 65 72 25 2b 33 30 |rtoz(pointer%+30| 0000d0e0 30 29 0d 43 4e 55 f1 8a 31 32 2c 36 2b 74 72 61 |0).CNU..12,6+tra| 0000d0f0 63 6b 25 29 3b 61 63 63 24 2b 22 20 20 22 2b 69 |ck%);acc$+" "+i| 0000d100 6e 63 24 2b 22 20 20 22 2b 6c 6f 6f 70 24 2b 22 |nc$+" "+loop$+"| 0000d110 20 20 22 2b 73 6c 65 6e 24 2b 22 20 20 22 2b 73 | "+slen$+" "+s| 0000d120 6e 6f 24 2b 22 20 20 22 2b 76 6f 6c 24 2b 22 20 |no$+" "+vol$+" | 0000d130 20 22 2b 70 65 72 24 0d 43 58 24 f1 8a 28 31 30 | "+per$.CX$..(10| 0000d140 2a 74 72 61 63 6b 25 29 2b 33 2c 31 35 29 3b a4 |*track%)+3,15);.| 0000d150 6e 6f 74 65 28 6e 6f 74 65 25 29 0d 43 62 05 ed |note(note%).Cb..| 0000d160 0d 43 6c 17 c8 97 20 78 25 2c 79 25 2c 7a 25 3a |.Cl... x%,y%,z%:| 0000d170 fd 20 7a 25 3c 3e 30 0d 43 76 18 ff 28 22 41 6c |. z%<>0.Cv..("Al| 0000d180 70 68 61 62 65 74 20 4c 61 74 69 6e 31 22 29 0d |phabet Latin1").| 0000d190 43 80 1e c8 99 20 22 57 69 6d 70 5f 53 65 74 4d |C.... "Wimp_SetM| 0000d1a0 6f 64 65 22 2c 6f 6c 64 6d 6f 64 65 25 0d 43 8a |ode",oldmode%.C.| 0000d1b0 05 e1 0d 43 94 04 0d 43 9e 11 dd 20 a4 6e 6f 74 |...C...C... .not| 0000d1c0 65 28 76 61 6c 25 29 0d 43 a8 0d c8 8e 20 76 61 |e(val%).C.... va| 0000d1d0 6c 25 20 ca 0d 43 b2 12 20 20 c9 20 31 20 3a 20 |l% ..C.. . 1 : | 0000d1e0 3d 22 43 2d 31 22 0d 43 bc 12 20 20 c9 20 32 20 |="C-1".C.. . 2 | 0000d1f0 3a 20 3d 22 43 23 31 22 0d 43 c6 12 20 20 c9 20 |: ="C#1".C.. . | 0000d200 33 20 3a 20 3d 22 44 2d 31 22 0d 43 d0 12 20 20 |3 : ="D-1".C.. | 0000d210 c9 20 34 20 3a 20 3d 22 44 23 31 22 0d 43 da 12 |. 4 : ="D#1".C..| 0000d220 20 20 c9 20 35 20 3a 20 3d 22 45 2d 31 22 0d 43 | . 5 : ="E-1".C| 0000d230 e4 12 20 20 c9 20 36 20 3a 20 3d 22 46 2d 31 22 |.. . 6 : ="F-1"| 0000d240 0d 43 ee 12 20 20 c9 20 37 20 3a 20 3d 22 46 23 |.C.. . 7 : ="F#| 0000d250 31 22 0d 43 f8 12 20 20 c9 20 38 20 3a 20 3d 22 |1".C.. . 8 : ="| 0000d260 47 2d 31 22 0d 44 02 12 20 20 c9 20 39 20 3a 20 |G-1".D.. . 9 : | 0000d270 3d 22 47 23 31 22 0d 44 0c 12 20 20 c9 20 31 30 |="G#1".D.. . 10| 0000d280 3a 20 3d 22 41 2d 31 22 0d 44 16 12 20 20 c9 20 |: ="A-1".D.. . | 0000d290 31 31 3a 20 3d 22 41 23 31 22 0d 44 20 12 20 20 |11: ="A#1".D . | 0000d2a0 c9 20 31 32 3a 20 3d 22 42 2d 31 22 0d 44 2a 12 |. 12: ="B-1".D*.| 0000d2b0 20 20 c9 20 31 33 3a 20 3d 22 42 23 31 22 0d 44 | . 13: ="B#1".D| 0000d2c0 34 12 20 20 c9 20 31 34 3a 20 3d 22 43 2d 32 22 |4. . 14: ="C-2"| 0000d2d0 0d 44 3e 12 20 20 c9 20 31 35 3a 20 3d 22 43 23 |.D>. . 15: ="C#| 0000d2e0 32 22 0d 44 48 12 20 20 c9 20 31 36 3a 20 3d 22 |2".DH. . 16: ="| 0000d2f0 44 2d 32 22 0d 44 52 12 20 20 c9 20 31 37 3a 20 |D-2".DR. . 17: | 0000d300 3d 22 44 23 32 22 0d 44 5c 12 20 20 c9 20 31 38 |="D#2".D\. . 18| 0000d310 3a 20 3d 22 45 2d 32 22 0d 44 66 12 20 20 c9 20 |: ="E-2".Df. . | 0000d320 31 39 3a 20 3d 22 46 2d 32 22 0d 44 70 12 20 20 |19: ="F-2".Dp. | 0000d330 c9 20 32 30 3a 20 3d 22 46 23 32 22 0d 44 7a 12 |. 20: ="F#2".Dz.| 0000d340 20 20 c9 20 32 31 3a 20 3d 22 47 2d 32 22 0d 44 | . 21: ="G-2".D| 0000d350 84 12 20 20 c9 20 32 32 3a 20 3d 22 47 23 32 22 |.. . 22: ="G#2"| 0000d360 0d 44 8e 12 20 20 c9 20 32 33 3a 20 3d 22 41 2d |.D.. . 23: ="A-| 0000d370 32 22 0d 44 98 12 20 20 c9 20 32 34 3a 20 3d 22 |2".D.. . 24: ="| 0000d380 41 23 32 22 0d 44 a2 12 20 20 c9 20 32 35 3a 20 |A#2".D.. . 25: | 0000d390 3d 22 42 2d 32 22 0d 44 ac 12 20 20 c9 20 32 36 |="B-2".D.. . 26| 0000d3a0 3a 20 3d 22 42 23 32 22 0d 44 b6 12 20 20 c9 20 |: ="B#2".D.. . | 0000d3b0 32 37 3a 20 3d 22 43 2d 33 22 0d 44 c0 12 20 20 |27: ="C-3".D.. | 0000d3c0 c9 20 32 38 3a 20 3d 22 43 23 33 22 0d 44 ca 12 |. 28: ="C#3".D..| 0000d3d0 20 20 c9 20 32 39 3a 20 3d 22 44 2d 33 22 0d 44 | . 29: ="D-3".D| 0000d3e0 d4 12 20 20 c9 20 33 30 3a 20 3d 22 44 23 33 22 |.. . 30: ="D#3"| 0000d3f0 0d 44 de 12 20 20 c9 20 33 31 3a 20 3d 22 45 2d |.D.. . 31: ="E-| 0000d400 33 22 0d 44 e8 12 20 20 c9 20 33 32 3a 20 3d 22 |3".D.. . 32: ="| 0000d410 46 2d 33 22 0d 44 f2 12 20 20 c9 20 33 33 3a 20 |F-3".D.. . 33: | 0000d420 3d 22 46 23 33 22 0d 44 fc 12 20 20 c9 20 33 34 |="F#3".D.. . 34| 0000d430 3a 20 3d 22 47 2d 33 22 0d 45 06 12 20 20 c9 20 |: ="G-3".E.. . | 0000d440 33 35 3a 20 3d 22 47 23 33 22 0d 45 10 12 20 20 |35: ="G#3".E.. | 0000d450 c9 20 33 36 3a 20 3d 22 41 2d 33 22 0d 45 1a 05 |. 36: ="A-3".E..| 0000d460 cb 0d 45 24 0a 3d 22 30 2d 30 22 0d 45 2e 04 0d |..E$.="0-0".E...| 0000d470 45 38 0b dd 20 f2 74 69 64 79 0d 45 42 21 e7 20 |E8.. .tidy.EB!. | 0000d480 62 75 66 66 25 3e 30 20 f2 72 65 6c 65 61 73 65 |buff%>0 .release| 0000d490 5f 72 6d 61 28 62 75 66 66 25 29 0d 45 4c 05 e1 |_rma(buff%).EL..| 0000d4a0 0d ff |..| 0000d4a2