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+3Hex >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):IFZ3ZTHENZ2=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)