Created
December 4, 2020 02:37
-
-
Save tchnmncr/454a3acaca57b0305093e1cb35ee56f7 to your computer and use it in GitHub Desktop.
Hex Reader for Telehack
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment