8-Bit Software Online Conversion
Sound Mix Editor - Listing
10REM¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶
¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶
¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶
20DEFFNS="Mix`ed"
30A%=0:X%=255:T%=USR&FFF4:T%=(T%DIV&1
00)AND7
40PROCa:OSCLI"K.0DEL.20,40|MDEL.220,2
70|MRUN|M":OSCLI"FX138 0 128":END
50IFT%>2f1$="FX108,1":f2$="FX108,0" E
LSEf1$="":f2$=""
60MODE135:HIMEM=PAGE+&B00:s%=HIMEM/&1
00:f%=s%+1:r%=16:h$="":PROCs:REPEAT:A$=G
ET$
70IFA$="L"CLS:OSCLI".":PRINT" Load at
&";÷(s%*256):INPUTm$:IFm$=""PROCs ELSE
IFA$="L"OSCLI"LO."+m$+" "+STR$÷(s%*256):
CLS:OSCLI"I."+m$:PROCl
80IFA$="S"CLS:OSCLI".":INPUT" Save"'m
$:IFm$=""PROCs ELSE IFA$="S"OSCLI"SA."+m
$+" "+STR$÷(s%*256)+" "+STR$÷(f%*256)+"
"+STR$÷HIMEM+" "+STR$÷HIMEM:PROCs
90IFA$="B"IFFNh<&80s%=D%:PRINTTAB(33,
9);÷(s%*256);TAB(19,7);÷(s%*256):IFs%>=f
% f%=s%+1:PRINTTAB(33,10);÷(f%*256)
100IFA$="E"IFFNh>25IFD%>s%f%=D%:PRINTT
AB(33,10);÷(f%*256)
110IFA$="R"IFFNh<256 r%=D%:PRINTTAB(33
,11);÷r%;" "
120IFA$="Z"IFs%>25:s%=s%-1:PRINTTAB(33
,9);÷(s%*256);TAB(19,7);÷(s%*256)
130IFA$="X"IFs%<&7F:s%=s%+1:PRINTTAB(3
3,9);÷(s%*256);TAB(19,7);÷(s%*256):IFf%<
s%+1f%=s%+1:PRINTTAB(33,10);÷(f%*256)
140IFA$=","IFf%>s%+1f%=f%-1:PRINTTAB(3
3,10);÷(f%*256)
150IFA$="."IFf%<&80f%=f%+1:PRINTTAB(33
,10);÷(f%*256)
160IFA$="P"?&75=s%:?&76=f%:?&74=r%:CAL
L&900
170IFA$="C"PROCc
180IFA$="H"IF?(PAGE+5)<>&FFl%=PAGE+5:C
LS:PRINT" Loads":REPEAT:PRINT"From &";÷?
l%;"00 to &";÷?(l%+1);"00":l%=l%+2:UNTIL
?l%=&FF:PRINT"Press a key":REPEATUNTILGE
T:PROCs
190IFA$="W"FORl%=PAGE+5TOPAGE+&68:?l%=
&FF:NEXT:VDU7:h$="wiped":PRINTTAB(13,5);
h$
200IFA$="*":CLS:INPUT"*"A$:OSCLIA$:PRI
NT"Press a key":REPEATUNTILGET:PROCs
210UNTILFALSE:END
220DEFPROCa:FORl%=0TO2STEP2:P%=&900:[:
OPTl%
230SEI:LDA#&FF:STA&FE43:LDA#&84:JSRo:L
DA#&0:JSRo:LDA#&A4:JSRo:LDA#&0:JSRo:LDA#
&C4:JSRo:LDA#&0:JSRo:LDA#&0:STA&70:LDA&7
5:STA&71
240.m:LDY#&0:LDA(&70),Y:AND#&F:JSRn:LD
Y#&4:.m1:DEY:BNEm1:LDA(&70),Y:AND#&F0:LS
RA:LSRA:LSRA:LSRA:JSRn:INC&70:BNEm:INC&7
1:LDA&71:CMP&76:BNEm
250LDA#&F:JSRn:CLI:RTS:.o:STA&FE4F:LDY
#&0:STY&FE40:NOP:NOP:NOP:NOP:NOP:NOP:LDY
#&8:STY&FE40:RTS:.n:TAY:LDA&985,Y:ORA#&
90:JSRo:ORA#&20:JSRo:EOR#&60
260JSRo:LDY&74:.m2:DEY:BNEm2:RTS
270]:!P%=&01010000:!(P%+4)=&03020201:!
(P%+8)=&07060504:!(P%+12)=&0F0C0908:!(P%
+16)=&00000020:NEXT:ENDPROC
280DEFFNh:PRINTTAB(20,20)"&";:A$=GET$:
PRINTA$;:A$=A$+GET$:D%=0:FORHL%=1TO2:E%=
ASC(MID$(A$,HL%)):IFE%>57 E%=E%-55 ELSE
E%=E%-48
290D%=D%*16+E%:NEXT:PRINTTAB(20,20)SPC
2:=D%
300DEFPROCc:CLS:st%=s%*256:FORl%=st%TO
st%+&FF:IF ?l%<32 OR ?l%=127:VDU32,7:NEX
T ELSE VDU?l%:NEXT
310PRINT'" Altering from &";÷st%:PRINT
"Character to fill this section?":a%=GET
:IFa%=13PROCs:ENDPROC ELSE FORl%=st%TOst
%+&FF:?l%=a%:NEXT:PROCs:ENDPROC
320DEFPROCl:m$="":OSCLIf1$:FORl%=&7C1E
TO&7C36:m$=m$+CHR$?(l%):NEXT:IFRIGHT$(m$
,1)<>" "m$=RIGHT$(m$,11)
330OSCLIf2$:f%=s%+EVAL("&"+LEFT$(m$,2)
):h$="":PROCs:l%=PAGE+4:REPEAT:l%=l%+1:U
NTIL?l%=&FF ORl%>PAGE+&66:?l%=s%:?(l%+1)
=f%:ENDPROC
340DEFPROCs:CLS:VDU23;8202;0;0;0;
350PRINT"
£££££££££k"'" ";TAB(3
7);" Edit sound
sample
360PRINT" By C.J.Ri
chardson ";TAB(3
7);" (H)istory ";h$;TAB(37);"
" (W)ipe history";TAB(37);"
370PRINT" (L)oad file at &";÷(s%*256
);TAB(37);" (S)ave file from (B)
to (E) (B)egin at.........
..........&";÷(s%*256);TAB(37);"
380PRINT" (E)nd at..................
...&";÷(f%*256);TAB(37);" (R)ate
change from...........&";÷r%;TAB(37);"
"'" (Z) Decrease begin address by.&100
(X) Increase begin address by.&1
00
390PRINT" (<) Decrease end address b
y...&100 (>) Increase end address
by...&100 (P)lay mix.";TAB(37);"
(C)hange data from (B) TO (B)+&F
F (*) Oscli";TAB(37)"
400PRINT" ";TAB(37)" Choose a
n option ";TAB(
37)" ";TAB(37)"
,,,,,,,,,,,,,,,,,,,,,,,,,.":ENDPROC