home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
utl
/
change.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
6KB
|
83 lines
0 REM CHANGE - Rick Perry - 3/1/86 CLUB 100 LIBRARY 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE
1 CLEAR500:DEFINTA-Y:DIMF$(26),F(26),Z(2):CLS:SCREEN,0:POKE64173,0:CALL23161:E$=CHR$(27):PRINTE$"V"E$"Q";:ONERRORGOTO74
2 GOSUB13:A$="":FORI=148TO155:A$=A$+CHR$(I):NEXT:I=VARPTR(A$):CALL23164,0,PEEK(I+1)+256*PEEK(I+2):R$=CHR$(0)+CHR$(8)+CHR$(13)
3 FORI=20TO32:R$=R$+CHR$(I):NEXT:P=0:L=0:H=0:G=1:K=-1:E=K
4 PRINT@L*40+H*10,E$"p "F$(P)E$"q
5 ONG+1GOSUB19,21,24,31:A$=INKEY$:IFA$=""THEN5ELSEONINSTR(R$,A$)GOSUB18,7,77,33,47,59,63,65,68,70,72,6,7,9,11,6:GOTO4
6 P=(P+1)MOD(N+1):GOTO12
7 P=P-1:IFP<0THENP=N
8 GOTO12
9 IFP>3THENP=P-4ELSERETURN
10 GOTO12
11 IFP+3<NTHENP=P+4ELSERETURN
12 K=-1:PRINT@L*40+H*10," "F$(L*4+H):L=P\4:H=P-L*4:RETURN
13 P=0:L=0:H=0:FORF=1TO5:READG:FORI=-1694TO-1408STEP11
14 IF(PEEK(I)AND247)=GTHENN$="":FORJ=3TO10:N$=N$+CHR$(PEEK(I+J)):NEXT:F$(P)=N$:N$=RIGHT$(N$,2):GOSUB16:F(P)=I:P=P+1:GOSUB12
15 NEXT:NEXT:N=P-1:RETURN:DATA176,240,192,128,160
16 IFN$=" "ORN$=" "+CHR$(0)THENA$=" "ELSEA$=".
17 F$(P)=LEFT$(F$(P),6)+A$+N$:RETURN
18 K=-1:E=K:G=(G+1)MOD4:RETURN
19 IFETHENE=0:PRINT@308,E$"l"FRE(0)"Free
20 PRINT@280,;:CALL23064:RETURN
21 IFETHENE=0:PRINT@280,">Hex >Bin >CA >CO Name Kill Invs Menu
22 IFKTHENK=0:PRINT@310,;:IFPEEK(F(P))AND8THENPRINTE$"pInvs"E$"q"ELSEPRINT"Invs
23 RETURN
24 IFNOTKTHENRETURNELSEK=0:PRINT@280,E$"K":F=F(P):I=PEEK(F)AND247
25 IFI=240THENPRINT"Alt ROM";ELSEZ=PEEK(F+1)+256*PEEK(F+2):IFI=176THENPRINT"ROM";ELSEIFI=160THENGOSUB61:Z1=Z(1)+6:IFZ(0)=65535ANDZ(2)=63012THENPRINT"CA";:Z(1)=Z(1)-65536ELSEPRINT"CO";ELSEGOSUB29:IFI=128THENPRINT"BA";ELSEPRINT"DO";
26 PRINT" ";
27 IFI<>240THENPRINT"@"Z;:IFI<>176THENPRINT"+"Z1;:IFI=160THENPRINTSTR$(Z(0))","MID$(STR$(Z(0)+Z(1)-1),2)","MID$(STR$(Z(2)),2)
28 RETURN
29 Z2=PEEK(64434)+256*PEEK(64435):FORJ=0TON:Z3=PEEK(F(J)+1)+256*PEEK(F(J)+2):IFZ3<Z2ANDZ3>ZTHENZ2=Z3
30 NEXT:Z1=Z2-Z:RETURN
31 IFETHENE=0:PRINT@280,"Free"FRE(0)" HIMEM"HIMEM" MAXRAM"MAXRAM;E$"K
32 RETURN
33 F$=F$(P):F=F(P):GOSUB61
34 IFQANDZ(0)+Z(1)>MAXRAMTHEN73ELSEIFQTHENPOKE-186,PEEK(F+1):POKE-185,PEEK(F+2):Z1=Z(0):GOSUB44ELSEZ1=0:F$="":GOTO37
35 CLEAR500,Z1:ONERRORGOTO74:GOSUB45:LOADMF$:ONERRORGOTO74:GOSUB45:Z=PEEK(-186)+256*PEEK(-185):Z1=HIMEM
36 Z2=PEEK(Z+2)+256*PEEK(Z+3)+Z1-1:Z3=PEEK(Z+4)+256*PEEK(Z+5)
37 GOSUB43:CLS:PRINTCHR$(27)"W":LINEINPUT"Hex output file:";O$:IFO$=""THENRUNELSEGOSUB81:OPENO$FOROUTPUTAS1
38 IFZ1=0THENZ1=HIMEM:PRINT"Top ("Z1") ";:INPUTZ1:Z2=MAXRMREAD1:PRINT"End ("Z2") ";:INPUTZ2:Z3=Z1:PRINT"Exe ("Z3") ";:INPUTZ3
39 PRINT#1,Z1;Z2;Z3:ZC=Z1+Z2+Z3:J=0:PRINT"Working...":FORZ=Z1TOZ2:A=PEEK(Z):ZC=ZC+A:X=A\16:Y=AAND15
40 PRINT#1,MID$(H$,X+1,1)MID$(H$,Y+1,1);:J=J+1:IFJ=39THENJ=0:PRINT#1,
41 NEXT:IFJ<>0THENPRINT#1,
42 PRINT#1,ZC:PRINT#1,CHR$(26);:CLOSE:BEEP:IFF$=""THENRUNELSECLEAR500,MAXRAM:RUN
43 DEFINTA-Y:H$="0123456789ABCDEF":RETURN
44 F$=F$+CHR$(0):FORJ=1TOLEN(F$):POKEJ-185,ASC(MID$(F$,J)):NEXT:RETURN
45 F$="":FORJ=1TO9:A=PEEK(J-185):IFA=0THENJ=9ELSEF$=F$+CHR$(A)
46 NEXT:RETURN
47 F$=F$(P):CLS:PRINTE$"W":IF(PEEK(F(P))AND247)=192THEN49
48 LINEINPUT"Hex input file:";F$:IFF$=""THENRUNELSEIFINSTR(F$,":")=0ANDINSTR(F$,".")=0THENF$=F$+".DO
49 GOSUB43:OPENF$FORINPUTAS1:INPUT#1,Z1,Z2,Z3
50 IFZ2>=MAXRAMTHENERROR5ELSEIFZ1>=HIMEMTHEN52ELSECLOSE:GOSUB44:CLEAR500,Z1:ONERRORGOTO74:GOSUB45
51 IFINSTR(F$,":")THENBEEP:PRINT"HIMEM reset... rewind input file,":PRINT"and press ENTER to continue:";:POKE-86,0:A$=INPUT$(1):PRINT:IFA$=CHR$(13)THEN49ELSERUNELSE49
52 LINEINPUT".CO output file:";B$:N=0:ZC=Z1+Z2+Z3:PRINT"Working...":FORZ=Z1TOZ2
53 A$=INPUT$(1,1):I=INSTR(H$,A$)-1:IFI<0THEN53
54 N=NOTN
55 IFNTHENA=I:GOTO53ELSEA=16*A+I:ZC=ZC+A:POKEZ,A:NEXT:LINEINPUT#1,A$:INPUT#1,Z:CLOSE:IFZ<>ZCTHENGOSUB73:PRINT"Checksum is wrong.":GOTO76
56 BEEP:IFINSTR(F$,":")=0THENPRINT"Kill hex input file? ";:A$=INPUT$(1):PRINTA$:IFA$="Y"ORA$="y"THENKILLF$
57 IFB$=""THENRUNELSEA$="clear500,maxram:run":GOSUB58:SAVEMB$,Z1,Z2,Z3
58 A$=A$+CHR$(13):FORI=1TOLEN(A$):POKE2*I-87,ASC(MID$(A$,I)):POKE2*I-86,0:NEXT:POKE-86,I-1:RETURN
59 F=F(P):GOSUB61:IFNOTQORZ(2)<>0ORZ(0)+Z(1)<>MAXRAMTHEN73ELSEPOKEZ,255:POKEZ+1,255:POKEZ+4,36:POKEZ+5,246:N$="CA
60 K=-1:POKEF+9,ASC(N$):POKEF+10,ASC(MID$(N$,2)):GOTO16
61 Q=0
62 IF(PEEK(F)AND247)<>160THENRETURNELSEZ=PEEK(F+1)+256*PEEK(F+2):FORJ=0TO2:Z(J)=PEEK(Z+2*J)+256*PEEK(Z+2*J+1):NEXT:Q=-1:RETURN
63 F=F(P):GOSUB61
64 IFNOTQORZ(0)<>65535ORZ(2)<>63012THEN73ELSEPOKEZ+4,0:POKEZ+5,0:Z(0)=MAXRAM-Z(1):Y=FIX(Z(0)/256):X=Z(0)-256*Y:POKEZ,X:POKEZ+1,Y:N$="CO":GOTO60
65 K=-1:E=K:F=F(P):PRINT@280,"New name:"E$"K";:LINEINPUTN$
66 IFN$>""THENMID$(F$(P),1,6)=LEFT$(N$+SPACE$(6),6):FORJ=1TO6:POKEF+J+2,ASC(MID$(F$(P),J)):NEXT
67 PRINT"New extension:"E$"K";:LINEINPUTN$:IFN$>""THENN$=LEFT$(N$+SPACE$(2),2):GOTO60ELSERETURN
68 F=F(P):I=PEEK(F)AND247
69 IFI=176ORI=240ORF>-1640ANDF<-1606THEN73ELSEK=-1:E=K:PRINT@280,"Kill? "E$"K";:B$=INPUT$(1):PRINTB$:IFB$<>"Y"ANDB$<>"y"THENRETURNELSEA$="run":GOSUB58:KILLF$(P):END
70 K=-1:F=F(P):I=PEEK(F):IFI=240THENPOKEF,0:RUNELSEIFIAND8THENPOKEF,IAND247ELSEPOKEF,IOR8
71 RETURN
72 MENU
73 SOUND9394,8:RETURN
74 GOSUB73:CLS:PRINT:IFERR<23THENI=ERRELSEIFERR<50THENI=21ELSEIFERR<59THENI=ERR-27ELSEI=21
75 I=794+2*I:PRINT"?"CHR$(PEEK(I))CHR$(PEEK(I+1))" Error #"ERR"in line"ERL
76 PRINTCHR$(27)"W":PRINT"Press ENTER to continue:";:POKE-86,0:IFINPUT$(1)=CHR$(13)THENRUNELSEPOKE64173,1:CALL27804:END
77 F$=F$(P):F=F(P):I=PEEK(F)AND247:IFI=160THENGOSUB61:IFZ(2)=0THEN73ELSEIFZ(0)<>65535ANDZ(0)+Z(1)>MAXRAMTHEN73
78 CLS:PRINTE$"W";:POKE64173,1:Z=F+65536:Y=FIX(Z/256):X=Z-256*Y:POKE-589,X:POKE-588,Y:IFI=240THENPOKE-530,0ELSEPOKE-530,9
79 IFI=160ANDZ(0)<HIMEMTHENCLEAR0,Z(0)ELSECLEAR0
80 Z=PEEK(-589)+256*PEEK(-588):CALL22848,PEEK(Z)AND247,Z
81 BEEP:PRINT"Kill .CO file? ";:A$=INPUT$(1):PRINTA$:IFA$="Y"ORA$="y"THENKILLF$:RETURN