10 PRINT"[147]BINARY SAVE PROGRAM -- BY JOEL ELLIS REA"; 20 PRINT"[146]ADDRESSES ARE DECIMAL, HEX IF PRECEDED WITH '$'":PRINT 25 PRINT"ENTER <0) FOR STARTING ADDRESS TO QUIT" 30 INPUT"STARTING ADDRESS";A$:IFASC(A$)=36THENA$=MID$(A$,2):GOSUB8700:GOTO50 40 A=VAL(A$):B=0 50 SA=A:PRINT"STARTING ADDRESS ="SA"$";:GOSUB8600:PRINTA$ 52 IFSA=0THEN6000 55 IFSA<512THENPRINT"CAN'T SAVE ZERO PAGE OR STACK!":END 60 INPUT"ENDING ADDRESS";A$:IFASC(A$)=36THENA$=MID$(A$,2):GOSUB8700:GOTO80 70 A=VAL(A$) 80 EA=A:PRINT"ENDING ADDRESS ="EA"$";:GOSUB8600:PRINTA$ 85 IFEAINT(B)THENB=INT(B+1) 130 SYS65496:PRINT"DONE!":CLOSE2 140 PRINT"DONE SAVING"B"BLOCKS TO '"N$"',"U%"STARTING AT"SA"$";:A=SA:GOSUB8600 150 PRINTA$:END 5999 REM 6000 POKE53281,0:PRINT"[147][144]LOAD"CHR$(34)"PAYLOAD"CHR$(34)",8":PRINT"RUN" 6002 POKE631,13:POKE632,13:POKE198,2:END 8000 GETA$:IFA$="Y"THENPRINT"YEAH!":R%=-1:RETURN 8005 IFA$="N"THENPRINT"NOPE.":R%=0:RETURN 8010 GOTO8000 8500 A$="":AH%=A%/16:AL%=A%AND15:A%=AH%:GOSUB8505:A%=AL% 8505 A$=A$+CHR$(48+A%-7*(A%>9)):RETURN 8600 AH=INT(A/256):AL=A-256*AH:A%=AH:GOSUB8500:T$=A$:A%=AL:GOSUB8500:A$=T$+A$ 8605 RETURN 8700 A=0:FORI=1TOLEN(A$):A%=ASC(MID$(A$,I,1)):A=A*16+A%-48+7*(A%>57):NEXT:RETURN