Compucolor.org – Virtual Media

Listing of file='DSKMOD.BAS;01' on disk='vmedia/mixed-sector.ccvf'

10 REM  DISK DIAGNOSTIC UTILITY-DISK DUMP (7-2-79)
15 CLEAR 1024
16 GOSUB  20:GOTO  40
20 PLOT 12:REM  ERASE DISK
30 PRINT "DISK DIAGNOSTIC UTILITY-DISK MODIFY (12-29-79)"
35 RETURN
40 INPUT "ENTER BLOCK # (0-399) :";BLOCK
50 X= BLOCK:GOSUB 900:BLOCK$= H$
60 PLOT 27,4:PRINT "READ ";H$;" F000-F07F":PLOT 27,27
65 K= 61440:CL$= "":CL= 1
67 PRINT ""
70 FOR I= 1TO 8
75 HT$= "'"+ CL$:CT$= HT$
80 FOR J= 1TO 4:FOR  J2= 1 TO  4
90 X= PEEK (K):GOSUB 900
100 HT$= HT$+ H$
101 IF (X> 31)AND (X< 127)THEN CT$= CT$+ " "+ CHR$ (X):GOTO 103
102 CT$= CT$+ "  "
103 REM  CT$ SHOULD CONTAIN ONLY PRINTABLE CHARACTERS
110 K= K+ 1
111 K2= K- 61440
112 IF (K2- (INT (K2/ 5)* 5))< > 0THEN GOTO 120
113 IF  CL= 0 THEN  CL$= "":CL= 1:HT$= HT$+ CL$:CT$= CT$+ CL$:GOTO  120
114 IF  CL= 1 THEN  CL= 0:CL$= "":CT$= CT$+ CL$:HT$= HT$+ CL$
120 NEXT  J2:HT$= HT$+ "'"+ CL$:CT$= CT$+ "'"+ CL$:NEXT J
130 X= (I- 1)* 16:GOSUB 900
142 IF X< 16THEN PRINT "BYTE   ";X;"(";H$;")  ";HT$
144 IF X> = 16AND X< 112THEN PRINT "BYTE  ";X;"(";H$;")  ";HT$
146 IF X> = 112THEN PRINT "BYTE ";X;"(";H$;")  ";HT$
148 PRINT "              *";CT$;"*"
150 NEXT I
155 PRINT ""
160 INPUT "ENTER MODIFY,SAVE,CONT OR END: ";A$
162 IF  LEFT$ (A$,3)= "MOD" THEN  GOTO  200
164 IF  LEFT$ (A$,3)= "SAV" THEN  GOTO  400
170 IF A$< > "END"THEN GOTO 16
175 END
200 PLOT  3,0,24:INPUT  "ENTER OFFSET,OLDBYTE,NEWBYTE (IN DECIMAL): ";OF,OB,NB
205 IF  PEEK (61440+ OF)= OB THEN  POKE  61440+ OF,NB:GOTO  210
206 PRINT  "VERIFY FAILED."
210 INPUT  "MORE?";YG$:IF  LEFT$ (YG$,1)= "Y" THEN  GOTO  200
215 GOSUB  20:GOTO  65
400 X= BLOCK:GOSUB 900:BLOCK$= H$
405 PLOT 27,4:PRINT "WRITE ";H$;" F000-F07F":PLOT 27,27
410 PRINT  "RECORD REWRITTEN TO DISK"
420 GOTO  16
890 REM  CONVERT VALUE IN X TO TWO BYTE CHARACTER HEX VALUE
895 REM  WHICH IS RETURNED IN H$
900 REM  X=VALUE TO BE HEXED
905 H$= ""
910 X1= INT (X/ 16):X2= X- 16* X1
920 IF X2< 10THEN X2= X2+ 48:GOTO 940
930 X2= X2+ 55
940 IF X1< 10THEN X1= X1+ 48:GOTO 960
950 X1= X1+ 55
960 H$= H$+ CHR$ (X1)+ CHR$ (X2)
965 IF X1< 71THEN RETURN
970 X1= X1- 71
980 H$= "1"
990 GOTO 940