10 REM"„ 20 REM"„ƒROMSAVE v 2.00 30 REM"„ 40 REM"„ƒBy Alex Savvides 50 REM"„ƒSaves all ROMS in machine 60 REM"„ƒFor 8-Bit Public Domain 70 REM"„ƒ 80 : 90 DIMcode 50,buf 50 100 DIMN$(15) 110 *TV255 120 MODE7 130 FORK=1TO2 140 PRINTTAB(0,K);"„";CHR$157;CHR$141"ƒ Rom Saver Version 1" 150 NEXT 160 PRINT'SPC(7);"†Written by Alex Savvides"' 170 PRINT"„";CHR$157"ƒROM DESCRIPTION LENGTH SAVED AS" 180 PRINTTAB(0,24);"„";CHR$157;"ƒ An 8-Bit Public Domain Utility"; 190 VDU23;8202;0;0;0; 200 VDU28,0,22,39,8 210 PRINT" Use which drive (0-3) ? ":REPEAT:drive$=GET$:UNTILVAL(drive$)<4 220 CLS 230 OSCLI("DRIVE "+drive$) 240 PRINT" Finding ROMS, please wait ..." 250 PROCread_roms 260 CLS 270 FORkk=0TO15 280 R$=STR$(kk) 290 R%=EVAL("&"+R$) 300 DISP$=N$(kk) 310 PROC_remove_spaces 320 fl$="R."+LEFT$(N$(kk),7) 330 IFN$(kk)="EMPTY"THENGOTO530 340 O$=LEFT$(DISP$,25) 350 S%=&4000 360 D%=&3000 370 FORPASS=0TO2STEP2 380 P%=code 390 [OPT PASS 400 .r LDY#R%:JSR&FFB9:LDY#0:STA(&70),Y:INC&F6:INC&70:BNE r 410 INC&F7:INC&71:INC&72 420 LDA#&40:CMP&72:BNEr 430 RTS 440 ]NEXTPASS 450 ?&F6=0:?&F7=&80 460 ?&70=0:?&71=&30 470 ?&72=0 480 CALLcode 490 IF!&3009=!&5009THENlen=&2000ELSElen=&4000 500 $buf="SAVE "+fl$+" 3000+"+STR$~len+" 8000 8000":X%=bufMOD256:Y%=bufDIV256:CALL&FFF7 510 PRINT;"† ";R$;SPC(3-LEN(R$));"‚";LEFT$(DISP$,13); 520 REPEAT:PRINT" ";:UNTILPOS=22:PRINT;~len;" ";fl$ 530 NEXT 540 CLS 550 *. 560 END 570 : 580 DEFPROCread_roms 590 @%=2 600 FORY%=0TO15 610 Q%=&8009 620 A$="" 630 REPEAT 640 ?&F6=Q%MOD&100 650 ?&F7=Q%DIV&100 660 T%=USR&FFB9AND&FF 670 IFT%<32ORT%>126THEN700 680 A$=A$+CHR$(T%) 690 Q%=Q%+1 700 UNTILT%<32ORT%>126 710 IFLENA$<2THENA$="EMPTY" 720 N$(Y%)=A$ 730 NEXT 740 ENDPROC 750 : 760 DEFPROC_remove_spaces 770 L$="" 780 CHANGE$=N$(kk) 790 FORT=1TOLEN(N$(kk)) 800 IFMID$(CHANGE$,T,1)=" "THENGOTO820 810 L$=L$+MID$(CHANGE$,T,1) 820 NEXT 830 N$(kk)=L$ 840 ENDPROC