home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 22
/
af022.adf
/
Sample_Editor
/
Sample_Editor.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1978-07-12
|
102KB
|
513 lines
Unpack 1 To 0
Paper 0 : Flash Off : Curs Off : Pen 2 : Led Off
Print " "
Global F$,T$,CSTART,CLENGTH,CFREQ,OSTART,OLENGTH,OFREQ,BUFSTART,BUFLENGTH,FLOOP
NZONES=47 : Reserve Zone NZONES
Writing 1
DEFZONES
Repeat
FILELOAD
Until F$<>""
STATS
Limit Mouse
Do
Repeat
Repeat
If(Inkey$<>"") and(F$<>"") Then Sam Raw 15,CSTART,CLENGTH,CFREQ
Until Mouse Key=1
ZN=Mouse Zone
Until ZN>0 and ZN<=NZONES
If ZN=1 and BUFLENGTH<>0 Then Sam Raw 15,BUFSTART,BUFLENGTH,CFREQ
If ZN=2 Then ALTLOOP
If ZN=3 Then NEWSTART
If ZN=4 Then NEWEND
If ZN=5 Then DATMERGE
If ZN=6 Then CUT
If ZN=7 Then TIDY[Dfree]
If ZN=8 Then CSTART=OSTART : CLENGTH=OLENGTH : DISPLAY
If ZN=16 Then FILELOAD
If ZN=17 Then FILESAVE
If ZN=18 Then QUIT
If ZN=19 Then Add CSTART,2,OSTART To(OSTART+OLENGTH)
If ZN=20 Then Add CSTART,-2,OSTART To(OSTART+OLENGTH)
If ZN=21 Then Add CFREQ,1,1000 To 32000
If ZN=22 Then Add CFREQ,100,1000 To 32000
If ZN=23 Then Add CFREQ,-1,1000 To 32000
If ZN=24 Then Add CFREQ,-100,1000 To 32000
If ZN=25 Then DFAULT
If ZN=26 Then Add CSTART,100,OSTART To(OSTART+CLENGTH)
If ZN=27 Then Add CSTART,-100,OSTART To(OSTART+CLENGTH)
If ZN=28 Then DISPLAY
If ZN=29 Then Add CLENGTH,1,257 To OLENGTH
If ZN=30 Then Add CLENGTH,-1,257 To OLENGTH
If ZN=31 Then Add CLENGTH,100,257 To OLENGTH
If ZN=32 Then Add CLENGTH,-100,257 To OLENGTH
If ZN=33 Then COMPRESS
If ZN=34 Then XPAND
If ZN=35 Then DIODE
If ZN=36 Then DATCOPY
If ZN=37 Then VOLPLUS
If ZN=38 Then DISTORT
If ZN=39 Then VCLIP
If ZN=41 Then INSERT
If ZN=43 Then PASTE
If ZN=44 Then VOLMINUS
If ZN=45 Then RVERSE
If ZN=46 Then RING
STATS
Loop
'
Procedure STATS
Wait Vbl : Paper 0 : Ink 2
Locate 4,13 : Print "Sample name: ";Left$(F$+" ",30)
Locate 4, : Print "Type ";T$;" Length ";CLENGTH;" Freq";CFREQ;" Start";CSTART-OSTART;
If BUFLENGTH<>0 Then Print " Buffer";BUFLENGTH;" " Else Print " "
End Proc
'
Procedure FILELOAD
A$=Fsel$("") : If A$="" Then Pop Proc
Open In 1,A$
FLEN=Lof(1)
Close
Erase 2 : Erase 3
Reserve As Chip Data 2,FLEN
Reserve As Chip Data 3,FLEN
Bload A$,Start(2) : Copy Start(2),Start(2)+Length(2) To Start(3)
BODY=Hunt(Start(2) To Start(2)+Length(2),"8SVX")
If BODY<>0 Then BODY=Hunt(Start(2) To Start(2)+Length(2),"BODY")
If BODY=0
CSTART=Start(2)
CLENGTH=FLEN
CFREQ=16000 : OFREQ=16000
Else
CSTART=BODY+8 : OSTART=CSTART
CLENGTH=Leek(BODY+4)
CFREQ=Deek(Start(2)+32) : OFREQ=CFREQ
End If
OLENGTH=CLENGTH
F$=A$
If CSTART=Start(2) Then T$="Raw" Else T$="IFF"
DISPLAY
End Proc
'
Procedure FILESAVE
Bsave Fsel$("",F$,"Save sample in","RAW format"),Start(2) To Start(2)+Length(2)
End Proc
'
Procedure QUIT
For A=2 To 5
Erase A
Next
End
End Proc
'
Procedure DFAULT
CFREQ=OFREQ
Erase 2 : Reserve As Chip Data 2,Length(3)
Copy Start(3),Start(3)+Length(3) To Start(2)
CSTART=Start(2) : CLENGTH=Length(2) : OSTART=CSTART : OLENGTH=CLENGTH
DISPLAY
End Proc
'
Procedure DISPLAY
Cls 0,1,135 To 639,254
ST=CLENGTH/640 : If ST=0 Then Pop Proc
Ink 3,0 : Plot 0,180
For A=CSTART To CSTART+CLENGTH Step ST
P=Peek(A) : If P>127 Then P=P-256
P=P/2
Draw To(A-CSTART)/ST,(P*120)/128+194
Next
End Proc
'
Procedure DEFZONES
Paper 0
Print : Print
Print Zone$(" Load",16);" ";Zone$("Save",17);" ";Zone$("Quit",18);" ";Zone$("Display",28);
Print Zone$(" Freq+",21);" ";Zone$("Freq++",22);" ";Zone$("Freq-",23);" ";Zone$("Freq--",24);" ";Zone$("Reset",25)
Print
Print Zone$(" Start+",19);" ";Zone$("Start-",20);" ";Zone$("Start++",26);" ";Zone$("Start--",27);" ";
Print Zone$("End+",29);" ";Zone$("End-",30);" ";Zone$("End++",31);" ";Zone$("End--",32)
Print
Print " ";Zone$("Compress",33);" ";Zone$("Expand",34);" ";Zone$("Diode",35);" ";Zone$("Copy",36);" ";Zone$("+dB",37);" ";Zone$("Distort",38);" ";Zone$("Clip",39);" ";Zone$("Full",8)
Print
Print " ";Zone$("Reverse",45);" ";Zone$("Insert",41);" ";Zone$("Echo",42);" ";Zone$("Paste",43);" ";Zone$("-dB",44);" ";Zone$("Buffer ",1);" ";Zone$("Ring",46);" ";Zone$("Loop",2)
Print
Print " ";Zone$("Start",3);" ";Zone$("End",4);" ";Zone$("Merge",5);" ";Zone$("Cut",6);" ";Zone$("Tidy",7)
End Proc
'
Procedure COMPRESS
Locate 0,0 : Print "Compress"
Reserve As Data 5,Length(2)/2
For A=0 To Length(2) Step 8
Loke Start(5)+A/2,Leek(A+Start(2))
Next
Erase 2 : Reserve As Chip Data 2,Length(5)
Copy Start(5),Start(5)+Length(5) To Start(2) : Erase 5
CSTART=Start(2) : OSTART=CSTART : CLENGTH=Length(2) : OLENGTH=CLENGTH
Locate 0,0 : Print " "
DISPLAY: CFREQ=CFREQ/2
End Proc
'
Procedure XPAND
If Length(2)>32760
Screen Open 1,320,48,4,Lowres
Paper 1 : Print : Print
Print "Length of expanded sample will be"
Print "too great to play back in one."
Print "Shall I convert anyway? (Y / N)"
Repeat Extension_0_4000
I$
Until ;262656 Extension_0_6101 Extension_0_FFA5 "Y") or(A$="N")
If Extension_0_4006 Extension_0_2000 Jup Close Extension_0_FBA2 Extension_0_0626 Extension_0_0101 Extension_0_4D80 Extension_0_0FC0
Pop Proc Extension_0_0060
End If Illegal_Constant_0030
End If
Locate #,0 : Print "Expand"
Reserve As Data 32773 Extension_0_C05C Extension_0_E14C Extension_0_7074 Extension_0_383E Extension_0_1400 Extension_0_7A02 Upper$ Extension_0_FD62 Extension_0_02FE Extension_0_0160 Extension_0_00D2 Extension_0_0078
For A$=0 To Extension_0_814C Extension_0_4074 Extension_0_203E Extension_0_1000 Extension_0_1802 Extension_0_047C Extension_0_0156 Extension_0_013E Extension_0_0180 Extension_0_03C4 Extension_0_8020
Loke Extension_0_C150 Extension_0_607C Extension_0_303A Extension_0_E802 Extension_0_7C04 Extension_0_067D Extension_0_F2C3 Chanmv Extension_0_0146 Extension_0_03E0 Extension_0_6170 -Illegal_Constant_002265626 Extension_0_21F9(Start(32770 Extension_0_C07C Extension_0_9FC0 Extension_0_1006 Extension_0_0806 Tab$ Extension_0_6300 Ln Extension_0_8080
Loke Extension_0_4100 Extension_0_2054 Extension_0_902E Extension_0_3818 Extension_0_E401 Extension_0_7E7A Extension_0_F6C1 Extension_0_0F85 Next Extension_0_0120 Extension_0_61F0 Extension_0_FFAA # Extension_0_FFC3 Illegal_Constant_0038Leek( Extension_0_8140 Extension_0_C074 Extension_0_E03E Extension_0_7000 Extension_0_2802 Screen Extension_0_E5C0 Extension_0_1D06 Loop Extension_0_0340 Extension_0_6160 Illegal_Constant_004C Extension_0_8018
Next Extension_0_401C
Erase Extension_0_E038 Extension_0_7007 Extension_0_0800 Extension_0_0C57 Prg First$ Extension_0_1F3E Extension_0_0380 Illegal_Constant_0042) Extension_0_015C Illegal_Constant_004CIllegal_Constant_003A
Copy Start(32773 Extension_0_407C Extension_0_205C Extension_0_3140 Extension_0_1874 Extension_0_1C3E Extension_0_0200 Extension_0_8305 Extension_0_C0FC Extension_0_9F00 Extension_0_B1AC Extension_0_4864 Extension_0_E426 Extension_0_7E04 Extension_0_0907 Extension_0_04FF Extension_0_0754 Extension_0_00A0 Extension_0_00E4 Extension_0_0066 Illegal_Constant_0024 Extension_0_2158 Illegal_Constant_0039
#S�A"TǢ-@T>���A�����VZBUV�#��TPC+TURN
CAREQ#= Extension_0_8006 Extension_0_3FE7 Extension_0_E600 Extension_0_1366 Extension_0_EA65 Extension_0_4D00 Extension_0_51E2 Extension_0_553E Extension_0_2680 Extension_0_F4C2 Extension_0_0A34 Extension_0_056E Extension_0_9DC2 Extension_0_DEF2 Extension_0_5E89 Extension_0_D65F Extension_0_1B4C Extension_0_6676 Extension_0_4B0A Extension_0_F0BB Extension_0_02BD Extension_0_0746 Extension_0_7CBF Extension_0_0296 ' ccrbq'
Locate Extension_0_603E Extension_0_9000 Extension_0_B800 Extension_0_6C5C Extension_0_B23E Extension_0_3900 Extension_0_EF80 Extension_0_F214 Extension_0_8296 Extension_0_DFD6 Extension_0_E27E Extension_0_B10C Extension_0_F99E Extension_0_5C1B Extension_0_12EC
End Proc Extension_0_3936
'
Procedure DIODE
Locate 0,0 : Print "Diode";
For A=CSTART To CSTART+CLENGTH
If Peek(A)>127 Then Poke A,127-(Peek(A) and $7F)
Next
Locate 0,0 : Print " "
End Proc
'
Procedure DATCOPY
If Length(4)<>0
Screen Open 1,320,48,4,Lowres
Paper 1 : Ink 2 : Print : Print
Print "Erase old buffer? (Y / N)"
Repeat
A$=Upper$(Inkey$)
Until(A$="Y") or(A$="N")
If A$="N"
Pop Proc
End If
Erase 4
End If
If Screen=1 Then Screen Close 1
Reserve As Chip Data 4,CLENGTH : BUFSTART=Start(4)
Copy CSTART,CSTART+CLENGTH To BUFSTART
BUFLENGTH=Length(4)
End Proc
'
Procedure VOLPLUS
Locate 0,0 : Print "Vol+"
For A=CSTART To CSTART+CLENGTH
X#=Peek(A)
If X#>127 Then X#=X#-256
X#=X#*1.2 : Y=Int(X#)
If Y<-127 Then Y=-127
If Y>127 Then Y=127
If Y<0 Then Y=Y+256
Poke A,Y
Next
Locate 0,0 : Print " "
End Proc
'
Procedure DISTORT
Limit Mouse X Hard(1),Y Hard(135) To X Hard(319),Y Hard(195)
Screen Open 1, Extension_0_803E Extension_0_4000 Reserve As Chip Data Extension_0_105C Extension_0_F83E Extension_0_0400 Extension_0_0E30 Extension_0_035C Extension_0_01BE Extension_0_00C0 Extension_0_03E4 # Extension_0_0CE8
Paper Illegal_Constant_003C Pen 2 : Repeat : Until Mouse Key Extension_0_7FA2 Extension_0_403E Extension_0_2000 Extension_0_F000 Extension_0_0800
Print Extension_0_8454 Extension_0_5A76 Extension_0_E354 Extension_0_F4F6 Extension_0_17E6 Extension_0_1CFF Extension_0_5175 Extension_0_7328 Extension_0_75EC Extension_0_7227 Extension_0_7349 Extension_0_6E9B Extension_0_6438 Extension_0_6C6D Extension_0_6D6F Extension_0_7474 Extension_0_2077 Extension_0_6974 Extension_0_6820 Extension_0_ED6F Extension_0_3573 Extension_0_4500 Extension_0_3000
Print Extension_0_3826 Extension_0_041B Extension_0_676E Extension_0_6520 Extension_0_63EC Extension_0_E923 Extension_0_2B00 Extension_0_8559 Extension_0_E460 Extension_0_AD76 Extension_0_4C69 Extension_0_B378 Extension_0_C975 Extension_0_7BA1 Extension_0_6C28 Extension_0_7F21 Extension_0_0277
Screen Extension_0_0176 Extension_0_00A4 Extension_0_0056 Illegal_Constant_003B Extension_0_107A Illegal_Constant_0038#
Ink -2147467263 Extension_0_A000
Repeat Extension_0_E800
L��H����+��;�Z���W1Z{���T
Wait Vbl Extension_0_0186
Draw Extension_0_00F9 Extension_0_00E6 $$
Draw Extension_0_79EB Extension_0_0FED Extension_0_0216 Extension_0_0156 Extension_0_07BB Illegal_Constant_0045 Extension_0_00A0 Extension_0_FF30 Extension_0_007E �V���>�#
Wait Vbl Extension_0_4BEE
Draw Extension_0_FC65 Extension_0_3264 Extension_0_1933 Extension_0_74D7 Extension_0_7E62 Extension_0_7D1E Extension_0_0332 Extension_0_FC81 Extension_0_03A2 Extension_0_03F2 Extension_0_046B Extension_0_6390 Extension_0_657C Extension_0_0091 Illegal_Constant_003D
Draw Extension_0_E0A6 Extension_0_304C Extension_0_2BE7 Extension_0_1453 Extension_0_8A36 Extension_0_BD3C Extension_0_2245 Extension_0_E881 Extension_0_08A1 Extension_0_0FF0 Extension_0_0AF8 Extension_0_6260 Extension_0_658C Extension_0_00D1 Extension_0_0FDD Extension_0_0070 Extension_0_0277 Extension_0_0058 Extension_0_803C Extension_0_C001 Extension_0_20C2 Extension_0_0FC1 Extension_0_3807 Extension_0_0C01 Extension_0_9A01 Extension_0_A06D Extension_0_C4F7 Extension_0_D0C1
Until Extension_0_86D3 Extension_0_4377 Extension_0_2A07 Extension_0_1305 Extension_0_FE85 Extension_0_CD17 Extension_0_A8A4 Extension_0_D6EE Extension_0_5B78 Extension_0_7CF5 Extension_0_CFAE Extension_0_B46F Extension_0_F3B0 Extension_0_A947 Extension_0_F7E2 Extension_0_AAAD Extension_0_F7E1 Extension_0_AD94 Extension_0_F73A Extension_0_AEF1 Extension_0_F1A3 Extension_0_AF8D Extension_0_7AD3 Extension_0_AA9F Extension_0_A8DB Extension_0_D2CC Extension_0_4177 Extension_0_2F22 Extension_0_94EB Extension_0_4BAE
/���ګ�,5�?G�"�!�Q_��DI�Y*��^��.<Y��Z���:� ZÜ��Z�(C��C��� ^���"Z`LJ���S�Y�>�}I�
$
For Extension_0_EACD Extension_0_5AB0 Extension_0_EFFE Extension_0_3AE9 Extension_0_1109 Extension_0_5ADC Extension_0_9098 Extension_0_D35A Extension_0_8A28 Extension_0_630B Extension_0_F8AF Extension_0_43BE Extension_0_A1ED Extension_0_0F09 Extension_0_5EAB Extension_0_8F81 Rol.w Extension_0_1960 Extension_0_6C4A Extension_0_C7C1 Extension_0_8213 Extension_0_1653 Extension_0_E804 Extension_0_59D2 Extension_0_193E Extension_0_BB7D Extension_0_698F
����ÄÌV�7#
��2�\��9˳�N�����?����UJ��&�C�/I�FK��BT�%UI��V5�?�ߪ�$
If Extension_0_B32B Extension_0_589A Extension_0_B456 Extension_0_5E2B Extension_0_D78D Extension_0_2FFF Extension_0_4949 Extension_0_5AA0 Extension_0_B7D1 Extension_0_5FA8 Extension_0_42BC Move X Extension_0_4AF7 Extension_0_DFCA Extension_0_6371 Extension_0_B16E Extension_0_DCBF Extension_0_F6D7 Extension_0_B992 Extension_0_1ABA Extension_0_77B1 Extension_0_B95E Extension_0_DC27 Extension_0_6A0A Extension_0_B52F
�Ö��EW\��VS]ɯT�
P��U?$
Repeat Extension_0_553F
Ϣ�S��ڧH�LKT�[E+J��I�#
%BH���H�N??:�~�'$��Q����L���J�������`��O�5���$
If Extension_0_6CB8 Extension_0_B9F7 Extension_0_6AE8 Extension_0_D8E5 Extension_0_19A3 Extension_0_89A7 Extension_0_9160 Extension_0_BA95 Extension_0_6FD4 Extension_0_3589 Extension_0_8EAF
���W�-U�������C�����P6�-8�-Ê-E���Q|&
\��ժY<�� ï¿½å¢ ]�����ڱ�&�W���&�K��6��D��������R�I����5#
End If Extension_0_717C
Until Extension_0_A9CA Extension_0_7FD5 Extension_0_AA0C Extension_0_793C Extension_0_B4EF Extension_0_09AA Extension_0_E5A2 Extension_0_855D Extension_0_D6EF Extension_0_FBAD Extension_0_97DA Extension_0_B103 Extension_0_E326 Extension_0_AE17 Extension_0_571E Extension_0_ADDD Extension_0_FE26 Extension_0_E76B Extension_0_F6BA Extension_0_36C5 Extension_0_ED64 Extension_0_EDA0 Extension_0_8FF8 Extension_0_AF8F Extension_0_11AF Extension_0_A50F Extension_0_1752 Extension_0_9449 Extension_0_B1C1 Extension_0_EDF2 Extension_0_35F5 Extension_0_8D93 Extension_0_34CB Extension_0_BED2 Extension_0_6B95 Extension_0_D59D
If Extension_0_EAA0 Extension_0_55DB Extension_0_E9A8 Extension_0_B7D4 Extension_0_D578 Extension_0_B7DB Extension_0_FDB8 Extension_0_A284 Extension_0_F576 Extension_0_B9CC Extension_0_59CF Extension_0_4003 Extension_0_0616 Extension_0_04A9 Extension_0_F923 Extension_0_F76F Extension_0_E3FE Extension_0_22B7 Extension_0_0759 Extension_0_38F7 Dialog Freeze Extension_0_2C07
Exit Extension_0_4E81
End If Extension_0_FF47
0��R0B���O��U�}é«ï¿½;M�DK[{���\^�+\��/���Ñ��Z�"��+�JFD�[�WGTC�Y;��1���]V�[|������[�3���O%��Z��H��A��$�
Ø�*\@�9��É'�JV�Ä&{�&����
<�@�T��EWC�L��FE�S�
�Ӥ��^�R��}*EEF_�V&�� �#
For Extension_0_A918 Extension_0_54F1 Extension_0_E845 Extension_0_5763 Extension_0_E64C Extension_0_8FF7 Extension_0_4665 Extension_0_E553 Extension_0_B20A Extension_0_C8D3 Extension_0_A497 Extension_0_C65E Extension_0_FD72 Extension_0_A9FD Extension_0_7D2A Extension_0_6565 Extension_0_465F Extension_0_C376 Extension_0_26FC Extension_0_10CC Extension_0_09A9
W��D B� C��B��AQ��ū�*��W��%��O9���J� 3�O�U�!�N����|�=��T#̮ �#
If Extension_0_BA83 Extension_0_25F3 Extension_0_9AE7 Extension_0_4F39 Extension_0_92BF Extension_0_C26A Extension_0_E920 Extension_0_3393 Extension_0_6FA1 Extension_0_75E5
Poke Extension_0_4EB5 Extension_0_E4D6 Extension_0_D47C Extension_0_CF3D Extension_0_B9C8 Extension_0_5423 Extension_0_CCAE Extension_0_0999 Extension_0_058E Extension_0_81E7 Extension_0_2136 Extension_0_60E7 Extension_0_1072 Extension_0_1BFA Extension_0_FC12 Extension_0_421F
Poke Extension_0_6302 Extension_0_5182 Extension_0_9A43 Extension_0_BD60 Extension_0_C5DA Extension_0_F70E Extension_0_CECC Extension_0_3F42 Extension_0_9061 Extension_0_4F8D Extension_0_FD81 Extension_0_525C Extension_0_F961 Extension_0_5793
Else Extension_0_9565
Poke Extension_0_5AB5 Extension_0_A556 Extension_0_D7FC Extension_0_5BBD Extension_0_C8C8 Extension_0_B7A3 Extension_0_592E Extension_0_F199 Extension_0_D90E Extension_0_3667 Extension_0_5C36 Extension_0_3B67 Illegal_Constant_0038 Extension_0_072E Extension_0_875B Extension_0_40E7 Extension_0_6459 Extension_0_2474 Extension_0_DE0A Extension_0_F477 Extension_0_2602
Poke Extension_0_F2F9 Extension_0_DB8C Extension_0_2EC0 Extension_0_96E0 Extension_0_A49A Extension_0_EDBE Extension_0_5694 Extension_0_EB1E Extension_0_3693 Extension_0_6682 Extension_0_8A51 Extension_0_47C7 Extension_0_BDCE Extension_0_FE4C Extension_0_9F4F Extension_0_20C1 Extension_0_DC57 Extension_0_7512 Extension_0_DE9F
End If Extension_0_F4C6
If Extension_0_CB30 Extension_0_EEA9 Extension_0_14CC Extension_0_65DC Extension_0_E3AC Extension_0_196F Extension_0_A1DC
Poke Extension_0_319C Extension_0_BBAB Extension_0_F22B Extension_0_1E41 Extension_0_E916 Extension_0_B5C8 Extension_0_9C86 Extension_0_9265 Extension_0_4898 Extension_0_A6B8 Extension_0_105C Extension_0_A742 Extension_0_7CAD Extension_0_2A5E Extension_0_BE65 Extension_0_3479 Extension_0_8CAE Extension_0_D288 Extension_0_68C8 Extension_0_57B7 Extension_0_B8D7 Extension_0_399D Extension_0_DEFE Extension_0_8532 Extension_0_95A7 Extension_0_D730 Extension_0_FAF3 Extension_0_6D4C Extension_0_75BA Extension_0_BB31 Extension_0_4DEF
Poke Extension_0_A15A Extension_0_3096 Extension_0_95B5 Extension_0_BD2B Extension_0_81F8 Extension_0_8DF1 Extension_0_CAF4 Extension_0_65C6 Extension_0_CCE3 Extension_0_490C Extension_0_A486 Extension_0_4FDC Extension_0_BA1E Extension_0_B259 Save Extension_0_9391 Extension_0_DEB5 Extension_0_64C4 Extension_0_D47C Menu Key Extension_0_C463 Extension_0_AA51 Extension_0_5D26 Extension_0_A59F Extension_0_B1C6 Extension_0_799B Extension_0_BB36
End If Extension_0_E5BB
Next Extension_0_73CC
End If Extension_0_3ABA
Next Extension_0_84CD
Locate Extension_0_4251 Extension_0_A2DC Extension_0_D09A Extension_0_68E9 Extension_0_CC15 Extension_0_6A32 Extension_0_B577 Extension_0_DEE8 Extension_0_6730 Extension_0_B245 Extension_0_59D7 Extension_0_8B98 Extension_0_727C Extension_0_8F3E Extension_0_7593 Extension_0_2E0A Extension_0_9777 Extension_0_3519 Extension_0_6FC8 Extension_0_5795 Extension_0_EABE Extension_0_A0C8 Extension_0_1ED7 Extension_0_B2EE
End Proc Extension_0_5B9F
'
Procedure VCLIP
Limit Mouse X Hard(1),Y Hard(135) To X Hard(319),Y Hard(195)
Screen Open 1,320,48,4,Lowres
Paper 1 : Pen 2 : Repeat : Until Mouse Key=0
Print : Print : Print "Set clipping limits with mouse"
Print "and click either key to fix"
Screen 0 : Gr Writing 2
Ink 1
Repeat
CLEV=195-Y Screen(0,Y Mouse)
Wait Vbl
Draw 1,195-CLEV To 639,195-CLEV
Draw 1,195+CLEV To 639,195+CLEV
Wait Vbl
Draw 1,195-CLEV To 639,195-CLEV
Draw 1,195+CLEV To 639,195+CLEV
Until Mouse Key<>0 : Screen Close 1 : Locate 0,0 : Print "Clip" Extension_0_8000
For Extension_0_2006 Extension_0_3006 Extension_0_3A00 Extension_0_5D00 Extension_0_FDA2 Extension_0_0106 Extension_0_FE73 Dim Extension_0_6353 Extension_0_7471 Extension_0_727C Extension_0_0090 CRT`S�#+CLENGTH
BYTE Extension_0_7FA2 Extension_0_E1E6 Extension_0_A074 Extension_0_F006 Extension_0_5806 Extension_0_7600 Extension_0_7F00 Upper$ Extension_0_0FD4 Then Extension_0_03B2 Extension_0_04B0 Extension_0_6CBD Extension_0_762C Extension_0_FFA8 Extension_0_0071 CLEV#*127)/60
If Extension_0_C006 Extension_0_E00C Extension_0_3400 Extension_0_DA79 Extension_0_0065 Extension_0_95AC Extension_0_1F3E Extension_0_1780 Extension_0_0440 Extension_0_0260
If Extension_0_017E Extension_0_0070 Extension_0_045E Extension_0_624A Extension_0_741B Extension_0_FFB3 LDV#
BYTE=LEV Extension_0_8000
End If Extension_0_C000
Else Extension_0_B000
L
If Z>�E6 Extension_0_E000
�
B�T���Z$
End If $
End If $
Poke � Extension_0_405C Extension_0_A006 Extension_0_500C Extension_0_7C00 Extension_0_1679 Extension_0_9A65 Extension_0_5300
Next Extension_0_69D4 Extension_0_F8AE Extension_0_0E9E Extension_0_0B30 Extension_0_8298 Extension_0_C198 Extension_0_FFEE Extension_0_33BD
Locate Extension_0_6819 Extension_0_7C7C Extension_0_0A76 Extension_0_0F51 Extension_0_02B9 Extension_0_0342 Extension_0_03A1 Extension_0_0067 Dec Illegal_Constant_0032$
�I^P�����`�"0R
End Proc Extension_0_2230
'
Procedure INSERT
Reserve As Data 5,OLENGTH+BUFLENGTH
If CSTART=OSTART
Copy BUFSTART,BUFSTART+BUFLENGTH To Start(5)
Copy OSTART,OSTART+OLENGTH To Start(5)+BUFLENGTH
Else
Copy OSTART,CSTART To Start(5)
Copy BUFSTART,BUFSTART+BUFLENGTH To Start(5)+(CSTART-OSTART)
Copy CSTART,CSTART+OLENGTH-(CSTART-OSTART) To Start(5)+BUFLENGTH+(CSTART-OSTART)
End If
Erase 2 : Reserve As Chip Data 2,Length(5)
Copy Start(5),Start(5)+Length(5) To Start(2)
Erase 5 : CSTART=Start(2) : CLENGTH=Length(2) : OSTART=CSTART : OLENGTH=CLENGTH
End Proc
'
Procedure PASTE
If(CSTART+BUFLENGTH)>(OSTART+OLENGTH)
Reserve As Data 5,CSTART+BUFLENGTH-OSTART
Copy OSTART,OSTART+OLENGTH To Start(5)
Copy BUFSTART,BUFSTART+BUFLENGTH To Start(5)+CSTART-OSTART
Erase 2 : Reserve As Chip Data 2,Length(5)
CSTART=Start(2) : OSTART=CSTART : CLENGTH=Length(2) : OLENGTH=CLENGTH
Copy Start(5),Start(5)+Length(5) To Start(2) : Erase 5
Else
Copy BUFSTART,BUFSTART+BUFLENGTH To CSTART
' CSTART=Start(2) : OSTART=CSTART : CLENGTH=Length(2) : OLENGTH=CLENGTH
End If
End Proc
'
Procedure VOLMINUS
Locate 0,0 : Print "Vol-"
For A=CSTART To CSTART+CLENGTH
X#=Peek(A)
If X#>127 Then X#=X#-256
X#=X#*0.8 : Y=Int(X#)
If Y<0 Then Y=Y+256
Poke A,Y
Next
Locate 0,0 : Print " "
End Proc
'
Procedure RVERSE
Locate 0,0 : Print "Reverse"
For A=0 To CLENGTH/2
BYTE1=Peek(CSTART+!
`YUE2��B!;CRT`RU$ Extension_0_FFC1 CLENGTH#-A Extension_0_807C Extension_0_4000
Poke Extension_0_A006 Extension_0_2FF3 Extension_0_EE00 Extension_0_EF73 Extension_0_BA61 Extension_0_9F74 Extension_0_8D40 Extension_0_3946 Extension_0_04A0 Extension_0_0050 Extension_0_6268 Extension_0_00C8 Illegal_Constant_004CIllegal_Constant_0021 Extension_0_0671 Extension_0_6270 Extension_0_7460 Extension_0_3203 $
Poke CSTART+�L%NGT� Extension_0_37CA Extension_0_E406 Extension_0_1200 Extension_0_8B00 Extension_0_AC80 Extension_0_6E1C Extension_0_3126 Extension_0_09B6 Extension_0_7BD8 Extension_0_659D Extension_0_7573 Extension_0_0E89 Extension_0_00CD
Next Extension_0_01E1
Locate Illegal_Constant_002F#Illegal_Constant_0020 Print " " : �I�P$A�
End Proc Extension_0_3900
'
Procedure RING
Screen Open 1,320,48,4,Lowres
Screen Display 1,,210,,
Pen 2 : Paper 0 : Flash Off : Colour 3,$6F2
Repeat
Cls 1 : NEG=0 : Paper 1
Print : Print "Enter modulation frequency in 1 - 100Hz"
Pen 3 : Input ":";FR
Until FR>=1 Extension_0_7F58 Extension_0_4006 Extension_0_2006 Extension_0_1200 Extension_0_7E72 Extension_0_FB7A Extension_0_023E Extension_0_0300 Extension_0_00E4 Extension_0_00C0
Screen Close %11111100001000001111111001 Extension_0_4050 Extension_0_337A Extension_0_703F Extension_0_0801 Extension_0_0403 Extension_0_0E5C Extension_0_013E Extension_0_0780 Illegal_Constant_0040( Extension_0_0466 %101001001101011 Extension_0_6E66 $
INF Extension_0_7FA2 Extension_0_C006 Extension_0_DFE7 Extension_0_1600 Extension_0_6B66 Extension_0_7665 Extension_0_7300 Extension_0_F0EC Extension_0_0186 Extension_0_00C6 Extension_0_02E0 Extension_0_6682 Extension_0_7FF4 Extension_0_403A Extension_0_6006 Extension_0_3003 Extension_0_3857 Extension_0_024A Extension_0_0210 Extension_0_2F69 Peek Extension_0_21E0 Extension_0_6992 Extension_0_6541 Extension_0_756D Extension_0_6E6F Extension_0_7923 $
CO�N�E� Extension_0_AFA2 Extension_0_683E Extension_0_0C00 Extension_0_3E00 Extension_0_0354 Exp Extension_0_0158 Extension_0_05E0 Extension_0_67BC Extension_0_E08F Extension_0_3FBE Extension_0_7238 Extension_0_5007
For Extension_0_3C05 Extension_0_3A1E Extension_0_0700 Extension_0_6780 Extension_0_FF62 Extension_0_00E6 Extension_0_FF03 Extension_0_0628 Extension_0_637F Extension_0_746F Extension_0_7277 Extension_0_0096 CRT`�U# Extension_0_BFC1 Extension_0_6007 Extension_0_EFEC XUH��#
If Extension_0_D005 Extension_0_A812 Extension_0_FC00 Extension_0_B96F Extension_0_DA6E Extension_0_82E5 Extension_0_AF40 Extension_0_5056 Extension_0_F936 Extension_0_DD94 Extension_0_AA54 Extension_0_9088 Extension_0_BAEF Extension_0_2CB8 Extension_0_FAEB Extension_0_9FA5 Extension_0_4A56 Extension_0_C04A Extension_0_25F1 Extension_0_1CAB Extension_0_665D Extension_0_F1D5 Screen Show Extension_0_0685 Extension_0_07CF Extension_0_07EA Extension_0_87B7 Extension_0_C7C7 Extension_0_6414 Extension_0_1666 Extension_0_3962 Extension_0_53A1 Extension_0_EE9E Extension_0_2B75 Extension_0_B487 Extension_0_FA59 Extension_0_2161 Extension_0_D0DD Extension_0_98BE Extension_0_2527 Extension_0_B6D6
If Extension_0_2400 Extension_0_B5BE Extension_0_FB5B Extension_0_27AF Extension_0_F6B6 Extension_0_7D49 Extension_0_E588 Extension_0_4222 Extension_0_A42B Extension_0_924F Extension_0_A870 Extension_0_EC7B Extension_0_ACFF Extension_0_9E0E Extension_0_D7D1 Extension_0_3BE1 Extension_0_7562 Extension_0_CBB7 Extension_0_5D78
Add Extension_0_77F2 Extension_0_D8FC Extension_0_6C75 Extension_0_959A Extension_0_AE7B Extension_0_57F2 Extension_0_C44A Extension_0_C933 Extension_0_2C90 Extension_0_B259 Extension_0_CB1F Extension_0_2FF6
Next Extension_0_B22F Extension_0_D85C Extension_0_2CB0 Extension_0_B2BB Extension_0_4B24 Extension_0_ED22 Extension_0_93F7 Extension_0_F97D Extension_0_A597 Extension_0_BE82 Extension_0_AF53 Extension_0_2D89 Extension_0_AABA Extension_0_74CD Extension_0_C7B7 Extension_0_D776
��7�# Extension_0_28CF Extension_0_5866
End Proc Extension_0_9DCD
'
Procedure ALTLOOP
If FLOOP Then Sam Loop Off : Ink 1 : Paint 532,71 Else Sam Loop On : Ink 5 : Paint 532,71
FLOOP= Not(FLOOP)
End Proc
'
Procedure NEWSTART
Limit Mouse X Hard(1),Y Hard(135) To X Hard(638),Y Hard(195)
Screen Open 1,320,48,4,Lowres
Paper 1 : Pen 2 : Repeat : Until Mouse Key=0
Print : Print : Print "Set new start point with mouse"
Print "and clic� %iThur8kay&t` e�x"Illegal_Constant_0020
Screen Extension_0_0004 Extension_0_005A Extension_0_1067 Illegal_Constant_003F
Ink 1
Repeat
X#=X Screen Extension_0_8074 Extension_0_403E Extension_0_A000 Extension_0_D000 Extension_0_185C Extension_0_0216 Extension_0_7E7C Extension_0_0F00
Wait Vbl Extension_0_0680
Draw Extension_0_00C6 Resume Next Extension_0_0231 Extension_0_78E8 Illegal_Constant_0048# Extension_0_0095 X#,253 Extension_0_8000
Wait Vbl Extension_0_4000
Draw Extension_0_2006 Extension_0_1000 Extension_0_0A01 Extension_0_7C00 Until Extension_0_013E Extension_0_8080 Extension_0_C048 Extension_0_20B4 Extension_0_1016 Extension_0_7808 Extension_0_067D Extension_0_7A02 Extension_0_015D Extension_0_03BF Illegal_Constant_0041 Extension_0_009A
Until Extension_0_1E0A Extension_0_FF6A Illegal_Constant_0030 Screen Close 1
Screen 32768 Extension_0_C054 Extension_0_BE54 Extension_0_5000
Gr Writing Extension_0_283E Extension_0_F400 Extension_0_8A01 Extension_0_DF00
V�����
FR#= Extension_0_8006 Extension_0_C000 Extension_0_E201 Extension_0_2800 Extension_0_17EC Extension_0_6C3E Extension_0_DE00 Extension_0_6780 Extension_0_5ED4 Extension_0_A946 Extension_0_7CF2 Extension_0_DBB1 Curs On Extension_0_E236 Extension_0_0550 Extension_0_E086 Extension_0_0952 Extension_0_5CD7 Extension_0_65DA Extension_0_675E Extension_0_682B Extension_0_0062 CK#=CL#*&R`TP�~#
$�G���;�B*�BD�(
DISPLAY#
End Proc
'
Procedure NEWEND
Limit Mouse X Hard(1),Y Hard(135) To X Hard(638),Y Hard(195)
Screen Open 1,320,48,4,Lowres
Paper 1 : Pen 2 : Repeat : Until Mouse Key=0
Print : Print : Print "Set new end point with mouse"
Print "and click either key to fix"
Screen 0 : Gr Writing 2
Ink 1
Repeat
X#=X Screen(0,X Mouse)
Wait Vbl
Draw X#,136 To X#,253
Wait Vbl
Draw X#,136 To X#,253
Until Mouse Key<>0 : Screen Close 1
Screen 0 : Limit Mouse
Gr Writing 1
FR#=X#/640 : CL#=CLENGTH : CL# Extension_0_7FA2 Extension_0_4006 Extension_0_200C Extension_0_1201 Extension_0_5B6C Extension_0_F3E2 Extension_0_0606 Extension_0_0306 Extension_0_0381 Extension_0_66B2( Extension_0_0076 Extension_0_FF15 Menu Base Extension_0_636E Extension_0_656F Extension_0_6777 Extension_0_6800 =Int(CL#)
DISPLAY Extension_0_8000
End Proc Extension_0_4000
'
Procedure DATMERGE
Locate 0,0 : Print "Merge"
If(CSTART+BUFLENGTH)>(OSTART+OLENGTH)
Reserve As Data 5,CSTART+BUFLENGTH-OSTART
Copy OSTART,OSDA
T�����O�ENGDH Extension_0_0E00 Extension_0_6B73 Extension_0_7261 Extension_0_7174 Extension_0_0F80
For Extension_0_0066 ��
�Y�E� Extension_0_8FA2 Extension_0_F9E6 Extension_0_7C74 Extension_0_0F40 Extension_0_0574 Extension_0_0FBE Start Extension_0_07A5 : ��:
If BYTE1 Extension_0_7FB6 Extension_0_C03E Extension_0_6000 Extension_0_D07F Extension_0_7800
Add Extension_0_1406 Extension_0_3E0C Extension_0_0300 Extension_0_63F9 Extension_0_74A5 Extension_0_30E0 Illegal_Constant_002C Extension_0_7FD2 Extension_0_402A Extension_0_200E Extension_0_717F Extension_0_0806
End If Extension_0_3C1F
B�T%= Extension_0_FFB2 Extension_0_21EE Extension_0_0068 BUFS�A2T# Extension_0_DFC0 Extension_0_F006 Extension_0_9806 Extension_0_4600 Extension_0_4300 Extension_0_3F7C Extension_0_F980
If Extension_0_0266 Extension_0_0302 Extension_0_0688 Extension_0_623D Extension_0_F443 Extension_0_7271 Extension_0_904D Extension_0_103A Extension_0_381E Extension_0_3C7E Extension_0_0601
Add Extension_0_0701 Extension_0_0792 Dim Extension_0_6259 Extension_0_7475 Extension_0_3218 Extension_0_0050 Extension_0_FFCC Illegal_Constant_003D
End If
Add �Y�E Extension_0_F05C Extension_0_1806 Extension_0_040C Extension_0_0400 Extension_0_6579 Extension_0_F5E5 Extension_0_F1C0 Extension_0_9E0C Extension_0_504E Extension_0_2808 Extension_0_341E Extension_0_C5FE Extension_0_3F07 Extension_0_3E95 Extension_0_06C0 Extension_0_62D9 Extension_0_7455 Extension_0_3218 Extension_0_FFF8 Illegal_Constant_0030#
If Extension_0_C007 Extension_0_E019 Extension_0_1601 Extension_0_6A78 Extension_0_F064 Extension_0_FD01 Extension_0_18AD Extension_0_50BF Extension_0_E7C1 Extension_0_1C61 Extension_0_0E31
Add Extension_0_053F Extension_0_0E87 Extension_0_06CE Extension_0_621A Extension_0_F435 Extension_0_F3E8 Extension_0_E050 Extension_0_D024 Extension_0_B83F Extension_0_FD0E Extension_0_DA07
End If Extension_0_B300
Poke Extension_0_FBC0 Extension_0_DD34 Extension_0_B3DE Extension_0_F970 Extension_0_DDBD Extension_0_B2C0 Extension_0_061E Extension_0_5C95 Extension_0_724E Extension_0_DF2D Extension_0_99EC Extension_0_59BB Extension_0_8911 Extension_0_E253 Hex$ Extension_0_FF23 Extension_0_42B7 Extension_0_814A Extension_0_1081 Extension_0_0835 Extension_0_1C22 Extension_0_041F Extension_0_FD77 Extension_0_35E6 Extension_0_53C0 Extension_0_5060
Next Extension_0_A830
Erase Extension_0_EC26 Extension_0_2A3C Extension_0_BD0C Extension_0_FAD3 Extension_0_0400 Extension_0_B35E Extension_0_FB50 Amos To Front Extension_0_B3F0 Extension_0_F866 Extension_0_2581 Extension_0_B24B Extension_0_7925 Extension_0_6492 Extension_0_D2B6 Extension_0_E96D
�N6�����"�;�1��G�^9V4�E�\X{L��3��CX��$
Copy Extension_0_B30B Extension_0_CB50 Extension_0_A4B0 Extension_0_33CB Extension_0_A929 Extension_0_D5E2 Extension_0_3A05 Extension_0_8CA5 Extension_0_C6E7 Extension_0_A368 Extension_0_B1A5 Extension_0_A8F2 Extension_0_D5D6 Extension_0_A58D Extension_0_FE67 Font$ Extension_0_86E7 Extension_0_42AD Extension_0_6356 Extension_0_D094 Extension_0_9838 Extension_0_3D6E Extension_0_6A5F Extension_0_F308 Extension_0_CE8D Extension_0_A547 Extension_0_56DB Extension_0_F904 Extension_0_EDC6 Extension_0_2A72 Extension_0_973E Extension_0_D998 Extension_0_3DC9
Else Extension_0_DB4E
For Extension_0_923A Extension_0_DAE0 Extension_0_3F9D Extension_0_735B Extension_0_469E Extension_0_CC50 Extension_0_A2C9 Extension_0_5165 Extension_0_D827 Extension_0_5CC0 Extension_0_05EC Extension_0_3D37 Extension_0_6DED Extension_0_6520 Extension_0_E78C Extension_0_A627 Extension_0_CBA8 Extension_0_302C
�S[` �GB�F��S>O�N TO�����^��SM[��
�FM��Q���^%�W�^:��ۡ4((X�2�����/�ƨ:��INM��
ڻ�
#
If Extension_0_A3E2 Extension_0_51FE Extension_0_EEFF Extension_0_5E25 Extension_0_F277 Extension_0_F217 Extension_0_5E3A Extension_0_D1FC Extension_0_DBA1 Extension_0_3428 Extension_0_1E28
Add Extension_0_F732 Extension_0_BA86 Extension_0_E1C5 Extension_0_D31E Extension_0_2FD5 Extension_0_C6A8 Extension_0_3A08 Extension_0_D8F0 Extension_0_95A1 Extension_0_494E Extension_0_6DE7 Extension_0_F2AE
End If Extension_0_BBDB
�R���ß���=�C�,�Q����^�Ð)�$ Extension_0_1E26 Extension_0_EF35 Extension_0_3B77 Extension_0_9E84
If Extension_0_6BA7 Extension_0_F4AD Extension_0_B8D8 Extension_0_BF4D Extension_0_46FB Extension_0_294F Extension_0_F010 Extension_0_05F1 Left$ Extension_0_8283 Extension_0_C3C6
Add Extension_0_A06B Extension_0_D0E1 Extension_0_2E28 Extension_0_F66D Extension_0_3E63 Extension_0_D907 Extension_0_35DE Extension_0_648B Extension_0_CD9F Extension_0_2671 Extension_0_93FB Extension_0_489C
End If Extension_0_644A
�
���A]IQ�Ò�JI�N.Y���ݪ(�-��]������US����U��
�L����'����R'�$Q�&���X�E*�Q�2;Ñ3�E�R�_4
��V
!�8��U����R$
If Extension_0_19F4 Extension_0_0F7F Extension_0_8DF4 Extension_0_27A7 Extension_0_8A82 Extension_0_8072 Extension_0_27D5 Extension_0_2471 Extension_0_9E26 Extension_0_CB13 Extension_0_ACFA
Add Extension_0_D245 Arexx Extension_0_1B71 Extension_0_E832 Extension_0_3B01 Extension_0_D192 Extension_0_3395 Extension_0_1B65 Extension_0_9472 Extension_0_CF5F Extension_0_1D34
End If Extension_0_F276
Poke Extension_0_38C9 Extension_0_FB55 Extension_0_07D3 Extension_0_E01B Extension_0_B3F5 Extension_0_528E Extension_0_EFA5 Extension_0_3831 Extension_0_9C3E Extension_0_C41C Extension_0_C20E Extension_0_D0DF Extension_0_1846 Extension_0_75F8 Extension_0_FC30 Extension_0_4761 Extension_0_66D9 Extension_0_AA4E Extension_0_4467
Next Extension_0_E230
End If Extension_0_3118
Locate Extension_0_29C2 Extension_0_1DBA Extension_0_8627 Extension_0_C34A Extension_0_23B5 Extension_0_10C4 Extension_0_989E Extension_0_4487 Extension_0_E69E Extension_0_D31A Extension_0_AB8F Extension_0_FBED Extension_0_BBC7 Extension_0_9730 Extension_0_A598
End Proc Extension_0_DD5C
'
Procedure CUT
If(OSTART+OLENGTH)=(CSTART+CLENGTH) Then Pop Proc
NSTART=CSTART+CLENGTH
Copy NSTART,OLENGTH+OSTART To CSTART
CSTART=OSTART
End Proc
'
Procedure TIDY[A]
T=Length(2)+Length(3)+Length(4)
If T>A
Screen Open 1,320,48,4,Lowres
Paper 1 : Print : Print
Print "Not enough scratch space available"
Print "on current disk. Insert another"
Print "and try again!!!" : Wait 150
Pop Proc
End If
Bsave "b2",Start(2) To Start(2)+Length(2)
Bsave "b3",Start(3) To Start(3)+Length(3)
Bsave "b4",Start(4) To Start(4)+Length(4)
For A=2 To 5 : Erase A : Next
Bload "b2",2
Bload "b3",3
Bload "b4",4
Kill "b2" : Kill "b3" : Kill "b4"
End Proc