10 REM"ADFS Sector Editor 20 REM"by Mafia Choirboys 30 REM"July '90 at 8:34 pm 40 REM"V.2 - R.6 50 : 60 MODE3:ONERROR PROCe 70 DIM cb &F,bk &FF 80 PRINTTAB(12)"ADFS Sector Editor by Mafia Choirboys. Sector :" 90 *FX4,1 100 *key0|!|L 110 *key1|!|M 120 *key2|!|N 130 *key3|!|O 140 *key4|!|P 150 *key5|!|Q 160 PRINTTAB(5,2)"00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F"''" 00"'" 10"'" 20"'" 30"'" 40"'" 50"'" 60"'" 70"'" 80"'" 90"'" A0"'" B0"'" C0"'" D0"'" E0"'" F0" 170 xh=5::xa=55:y=4:B%=ASC"-" 180 PROCs 190 : 200 REPEAT 210 PROCb:G=GET 220 IFG=&87:PROCf 230 IFG=&88:PROCm(2) 240 IFG=&89:PROCm(1) 250 IFG=&8A:PROCm(3) 260 IFG=&8B:PROCm(4) 270 IFG=&8C:PROCdr 280 IFG=&8D:PROCs 290 IFG=&8E:IFFNy("Read in again?"):PROCa(8) 300 IFG=&8F:PROCd 310 IFG=&90:IFFNy("Save sector?"):PROCa(&A) 320 IFG=&91:IFFNy("Wipe sector?"):PROCz 330 IFG<&86:PROCk 340 UNTIL. 350 : 360 DEFPROCe:*FX 4 370 PROCw:REPORT:PRINT" near ";ERL:VDU26:END 380 DEFPROCdr:PROCw:INPUT"Which drive?"d$:OSCLI"mount "+d$:VDU26:PROCa(8):ENDPROC 390 DEFPROCs:PROCw:INPUT"Sector?"s$:s=FNh(s$):VDU26:PROCa(8):ENDPROC 400 : 410 DEFPROCa(V) 420 ?cb=0:cb!1=bk:cb?5=V:cb?6=0 430 cb?7=s DIV256:cb?8=s MOD256 440 cb?9=1:cb?&A=0:cb!&B=0 450 X%=cb MOD256:Y%=cb DIV256:A%=&72:CALL&FFF1 460 : 470 DEFPROCd 480 PRINTTAB(60,0);~s;" " 490 FORB=0TO&F:PRINTTAB(5,4+B);:FORC=0TO&F:A$=STR$~(?(bk+(B*16)+C)):IFLENA$<2:A$="0"+A$ 500 PRINTA$" ";:NEXT,:FORB=0TO&F:PRINTTAB(55,4+B);:FORC=0TO&F:D=?(bk+(B*16)+C):IFD>31ANDD<127 THENPRINTCHR$D; ELSEPRINT"."; 510 NEXT,:ENDPROC 520 : 530 DEFPROCb:PRINTTAB(xh-1,y)CHR$(B%);TAB(xh+2,y)CHR$(B%):PRINTTAB(xa,y);:ENDPROC 540 : 550 DEFPROCf:IB%=B% EOR16:PROCb:ENDPROC 560 : 570 DEFFNy(A$):PROCw:PRINTA$'"(Y/N):";:REPEAT:A$=GET$:UNTILA$="Y"ORA$="N":PRINTA$:VDU26:IFA$="Y":=TRUE ELSE=FALSE 580 : 590 DEFPROCk:IFB%=61:GOTO650 600 G$=CHR$G:IFINSTR("0123456789ABCDEF",G$)=0:ENDPROC 610 A=?(bk+((y-4)*16)+(xa-55)):A$=STR$~A:A$=RIGHT$(A$,1)+G$:B=FNh(A$):?(bk+((y-4)*10)+(xa-55))=B 620 A$=STR$~B:IFLENA$=1:A$="0"+A$ 630 PRINTTAB(xh,y)A$:PRINTTAB(xa,y);:IFB>31ANDB<127THENPRINTCHR$B ELSEPRINT"." 640 IFB%=61:PROCm(1):ENDPROC:ELSEPROCb:ENDPROC 650 ?(bk+((y-4)*16)+(xa-55))=G:A$=STR$~G:IFLENA$=1:A$="0"+A$ 660 PRINTTAB(xh,y)A$:PRINTTAB(xa,y);:IFG>31ANDG<127THENPRINTCHR$G ELSEPRINT"." 670 IFB%=61:PROCm(1):ENDPROC:ELSEPROCb:ENDPROC 680 : 690 DEFPROCm(V) 700 IFINKEY(-2):PROCc:ENDPROC 710 PRINTTAB(xh-1,y)" "TAB(xh+2,y)" " 720 IFV=1:xa=xa+1:xh=xh+3:IFINKEY(-1):xa=70:xh=50 730 IFV=2:xa=xa-1:xh=xh-3:IFINKEY(-1):xa=55:xh=5 740 IFV=3:y=y+1:IFINKEY(-1):y=19 750 IFV=4:y=y-1:IFINKEY(-1):y=4 760 IFxa>70:xa=55:xh=5:IFB%=61:y=y+1 770 IFy>19:y=4 780 IFxa<55:xa=70:xh=50 790 IFy<4:y=19 800 PROCb:ENDPROC 810 : 820 DEFPROCc:IFV=1:s=s+1 830 IFV=2:s=s-1 840 IFV=3:s=s-16 850 IFV=4:s=s+16 860 IFs<0:s=s+&A00 870 IFs>&A00:s=s-&A00 880 PROCa(8):ENDPROC 890 : 900 DEFPROCw:VDU28,9,23,60,21,12:ENDPROC 910 DEFPROCz:FORA=0TO&FF:?(bk+A)=0:NEXT:PROCd:ENDPROC 920 DEFFNh(H$):E=1:F=0 930 REPEAT:F=F+(INSTR("0123456789ABCDEF",RIGHT$(H$,1))-1)*E:E=E*16:H$=LEFT$(H$,LENH$-1):UNTILH$="":=F