Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 10 REM HEXREAD.BAS BY TECHMAGE@TELEHACK.COM
- 20 PRINT "STARTING ADDRESS (DEC)";
- 21 INPUT A: REM STARTING ADDRESS (DECIMAL)
- 25 PRINT "DATA PER LINE";
- 26 INPUT L: REM LINE LENGTH
- 30 PRINT "LINES PER PAGE";
- 31 INPUT P: REM PAGE LENGTH
- 35 DIM D(L): REM DATA ARRAY
- 40 AC=A: REM CURRENT ADDRESS (INCREMENTS)
- 50 REM *** BEGIN PAGE LOOP ***
- 55 FOR IA=1 TO P
- 60 GOSUB 100
- 65 GOSUB 200
- 70 GOSUB 300
- 75 GOSUB 400
- 80 AC=AC+L
- 83 PRINT: REM NEW LINE
- 85 NEXT
- 90 GOSUB 500
- 95 GOTO 600
- 100 REM *** GET DATA ARRAY ***
- 105 FOR IB=1 TO L
- 110 D(IB)=PEEK(AC+(IB-1))
- 115 NEXT
- 120 RETURN
- 125 D=PEEK(AC)
- 130 PRINT HEX$(D);" ";
- 200 REM *** PRINT ADDRESS ***
- 205 FOR J=1 TO 8-LEN(HEX$(AC))
- 210 PRINT "0";
- 215 NEXT
- 220 PRINT HEX$(AC);" ";
- 225 RETURN
- 300 REM *** PRINT HEX DATA ***
- 305 FOR IC=1 TO L
- 310 H$=HEX$(D(IC))
- 315 IF LEN(H$)=1 THEN PRINT "0"+H$+" ";
- 320 IF LEN(H$)>1 THEN PRINT H$+" ";
- 325 NEXT
- 330 RETURN
- 400 REM *** PRINT ASCII DATA ***
- 405 FOR ID=1 TO L
- 410 IF D(ID)>=32 AND D(ID)<=126 THEN PRINT CHR$(D(ID));
- 415 IF D(ID)<32 OR D(ID)>126 THEN PRINT ".";
- 420 NEXT
- 425 RETURN
- 500 REM *** PRINT PAGE FOOTER ***
- 505 PRINT "---0x";HEX$(AC-(L*P));"/0x";HEX$(AC-1);"---------"
- 600 PRINT "CONTINUE";
- 605 INPUT C$: REM CONTINUE? RESPONSE
- 610 IF C$="Y" OR C$="y" THEN GOTO 55
- 615 END
Add Comment
Please, Sign In to add comment