Listing of file='HEXDMP.BAS;01' on disk='vmedia/ncc_4-sector.ccvf'
1 REM 5 REM PROGRAM NAME: DUMP 10 REM PROGRAMMER: JIM PARKER 15 REM 20 REM THIS PROGRAM DUMPS MEMORY TO THE SCREEN OR PRINTER 30 REM 35 PLOT 6,2 40 INPUT " DUMP TO SCREEN OR PRINTER ? ";AN$ 50 SP$= LEFT$ (AN$,1) 60 IF SP$< > "S"AND SP$< > "P"GOTO 40 70 PRINT " INPUT DECIMAL NUMBER OR HEX DIGITS ENDING IN H" 75 N$= "0123456789ABCDEF" 80 INPUT " STARTING ADDRESS : ";SA$:REM 90 SA= VAL (SA$) 100 IF RIGHT$ (SA$,1)= "H"THEN AD$= SA$:GOSUB 10000:SA= AD 110 INPUT " ENDING ADDRESS : ";EA$ 120 EA= VAL (EA$) 130 IF RIGHT$ (EA$,1)= "H"THEN AD$= EA$:GOSUB 10000:EA= AD 140 BL= INT (SA/ 8):SB= BL* 8:EB= SB+ 7 145 IF SP$= "S"THEN PRINT :PRINT 149 REM 150 REM CONVERT BLOCK ADDRESS TO HEX 151 REM 155 DN= INT (SB/ 256):GOSUB 11000:B1$= HX$ 160 DN= INT (SB- (256* DN)):GOSUB 11000:B2$= HX$ 161 IF SP$= "S"THEN PLOT 6,2 162 SB$= STR$ (SB):PRINT TAB( 7- LEN (SB$))SB$;TAB( 10); 163 IF SP$= "S"THEN PLOT 6,5 164 PRINT B1$B2$; 165 IF SP$= "S"THEN PLOT 6,2 166 REM 167 REM PRINT LINE OF DUMP 169 S$= "" 170 FOR I= SBTO EB 175 DN= PEEK (I):GOSUB 11000 180 IF I< SATHEN HX$= " " 185 IF I> EATHEN HX$= " " 190 PRINT " "HX$; 192 C= DNAND 127 193 IF I< SAOR I> EATHEN C= 32 194 IF C< 32THEN C= 32 196 S$= S$+ CHR$ (C) 200 NEXT I 210 PLOT 32,32,6,6 212 IF SP$= "S"THEN PLOT 110 214 IF SP$= "P"THEN PLOT 124 216 PLOT 32,32,6,7 220 PRINT S$ 230 IF I> EAGOTO 60000 250 SB= SB+ 8:EB= SB+ 7 270 GOTO 150 10000 REM 10010 REM CONVERT HEX STRING TO DECIMAL NUMBER 10020 REM 10025 AD= 0 10030 L= LEN (AD$) 10040 FOR I= 1TO 4 10050 L= L- 1 10060 IF L< 1THEN RETURN 10070 HA$= MID$ (AD$,L,1) 10080 FOR M= 1TO 16 10090 IF MID$ (N$,M,1)< > HA$GOTO 10200 10100 AD= AD+ (M- 1)* (16^ (I- 1)) 10110 GOTO 10300 10200 NEXT M 10250 PRINT " ILLEGAL HEXIDECIMAL DIGIT ":END :REM 10300 NEXT I 11000 REM 11010 REM CONVERT DN TO A TWO DIGIT HEX NUMBER IN ASCII HX$ 11020 REM 11030 H1= INT (DN/ 16) 11040 H2= DN- H1* 16 11050 D1$= MID$ (N$,H1+ 1,1) 11060 D2$= MID$ (N$,H2+ 1,1) 11070 HX$= D1$+ D2$ 11080 RETURN 60000 REM 60010 REM TURN OFF PRINTER 60020 REM 60030 POKE 33265,0 60040 PLOT 6,2 60100 REM RETURN TO MENU 60200 LOAD "MENU":RUN