0 '"TD2MON.100" Examine/Change Sectors on TDD2 using FLOPPY Phil Wheeler [71266,125] - 7/16/87 1 CLS:DEFINTR-V:CLEAR256,58704:POKE63056,128:MAXFILES=1:HX$="0123456789ABCDEF":CC=0:CT=0:E$=CHR$(27):Z=62297:GOSUB57:GOTO20 2 CLS:PRINTE$"pDisk Sector No."E$"q"S 3 IFI<0THENI=I+65536ELSEIFI>65535THENI=I-65536 4 K=I-65536:IFI<58708THENPRINT" "E$"pLoRAM"E$"q";:GOTO6ELSEIFI>MAXRAMTHENPRINT" "E$"pHiRAM"E$"q";:GOTO6 5 S$=STR$(S):PRINTRIGHT$(S$,2);:K1=K+65536-58708:FORR=1TO4:PRINTMID$(HX$,(INT(K1/16^(4-R))AND15)+1,1);:NEXT 6 AX$="":FORK=ITOI+7:R=PEEK(K):PRINT" "MID$(HX$,R/16+1,1);MID$(HX$,(RAND15)+1,1); 7 IFR<32THENR=46 8 AX$=AX$+CHR$(R):NEXT:PRINT" "AX$; 9 IFCT<>0THENCT=CT-1:GOTO14 10 PRINT@CSRLIN*40+8+CC*3,"";:I$=INPUT$(1):IFI$>CHR$(96)THENI$=CHR$(ASC(I$)-32) 11 IFINSTR(1,HX$,I$)THENPOKEI+CC,(PEEK(I+CC)AND15)*16+INSTR(1,HX$,I$)-1:PRINT@CSRLIN*40,"";:GOTO3 12 T=ASC(I$):IFT=20ORT=23THENCT=7:I=I+192*(T=23):T=30 13 IFT=2ORT=26THENCT=7:I=I-192*(T=26):T=31 14 IFT=30THENI=I-8:IFCSRLIN=0THENPRINTE$"L";:GOTO3ELSEPRINT@(CSRLIN-1)*40,"";:GOTO3 15 IFT=31THENI=I+8:PRINT:GOTO3 16 IFT=28THENCC=CC+1:IFCC>7THENCC=0:I=I+8:PRINT:GOTO3 17 IFT=29THENCC=CC-1:IFCC<0THENCC=7:T=30:GOTO14 18 IFI$=E$THEN60 19 GOTO10 20 PRINT@40,E$"pTDDMON.BA -- TDD Sector Examine/Change"E$"q"; 21 S$="":PRINT@120,"Starting Sector ";:INPUTS$:IFS$=""THEN95ELSES=VAL(S$) 30 IFS>159THENBEEP:PRINT@120,"Sector Out of Range!"SPACE$(20);:FORK=1TO1000:NEXT:GOTO21 40 CLS:PRINT@87,"Now Reading Sector No."S; 50 GOSUB 55:CALL Z,3,58704:GOSUB99:I=58708:GOTO2 55 POKE58704,84:POKE58705,229:POKE58706,S:RETURN 57 IFPEEK(Z)<>229ORPEEK(Z+1)<>94ORPEEK(Z+239)<>4ORPEEK(Z+240)<>195THENBEEP:PRINT@135,"No System!":POKE63056,0:CLEAR256,MAXRAM:END 60 CLS:PRINT@43,E$"pSelect Next Action"E$"q":PRINT@86,"G)o to Next Sector On Disk":PRINT@126,"S)elect a New Starting Sector":PRINT@166,"D)ump Sector to ACSII RAM File":PRINT@206,"W)rite Sector to Disk":PRINT@246,"E)xit to Main Menu" 70 ONINSTR("gGsSdDwWeE",INPUT$(1))GOTO72,72,73,73,74,74,90,90,95,95:GOTO70 72 S=S+1:IFS<80THEN40ELSEBEEP:CLS:GOTO20 73 CLS:GOTO21 74 CLS:F$="":PRINT@80,"File for Dump ";:INPUTF$:IFF$=""THEN60 76 PRINT@165," N)ew file, or A)ppend?"; 78 ONINSTR("nNaA",INPUT$(1))GOTO80,80,82,82:GOTO78 80 OPENF$FOROUTPUTAS1:GOTO84 82 OPENF$FORAPPENDAS1 84 CLS:PRINT@130,"Writing to RAM ....";:PRINT#1,"---------":PRINT#1,"Sector"S:PRINT#1,"---------":FORJ=0TO1291:PRINT#1,CHR$(PEEK(58708+J));:NEXT: 86 PRINT#1,:CLOSE:BEEP:GOTO60 90 CLS:PRINT@90,"Writing to Disk ...";:GOSUB55:CALLZ,4,58704:GOSUB99:GOTO60 95 POKE63056,0:CLEAR256,MAXRAM:MENU 96 PRINT@170,ER$:FORJJ=1TO1000:NEXT:GOTO60 99 ER=PEEK(58704):IFER<=1THENRETURNELSEBEEP 101 IFER=5THENER$="Sector Unreadable":GOTO96 102 IFER=6THENER$=" Write Protected":GOTO96 103 ER$="Check Drive & Disk":GOTO96