0 '"TDDMON.100" Examine/Change Sectors on TDD using POWR-DOS Phil Wheeler [71266,125] - 10/13/86 Based on LOOKIT by Joel Hassell 1 CLS:LFILESV:DEFINTR-V:CLEAR256,MAXRAM-1292:POKE63056,128:MAXFILES=1:HX$="0123456789ABCDEF":CC=0:CT=0:E$=CHR$(27):GOTO20 2 CLS:PRINTE$"pDisk Sector No."E$"q"S 3 IFI<0THENI=I+65536ELSEIFI>65535THENI=I-65536 4 K=I-65536:IFIMAXRAMTHENPRINT" "E$"pHiRAM"E$"q";:GOTO6 5 S$=STR$(S):PRINTRIGHT$(S$,2);:K1=K+65536-HIMEM: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>79THENBEEP:PRINT@120,"Sector Out of Range!"SPACE$(20);:FORK=1TO1000:NEXT:GOTO21 40 CLS:PRINT@87,"Now Reading Sector No."S; 50 DSKO$0,S,HIMEM:I=HIMEM:GOTO2 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(HIMEM+J));:NEXT: 86 PRINT#1,:CLOSE:BEEP:GOTO60 90 CLS:PRINT@130,"Writing to Disk ...";:DSKO$1,S,HIMEM:GOTO60 95 POKE63056,0:CLEAR256,MAXRAM:MENU