I have further improved the display speed by adding a small machine code routine to the BASIC program. Both .CAS files are attached.
Hexadecimal example
Code: Select all
10 CLS:FOR I=512 TO 687:READ M$:POKE I,VAL("&H"+M$):NEXT
20 LINE INPUT"START ADDRESS (HEX) >";M$
30 IF M$="" THEN CLS:GOTO20
40 M=VAL("&H"+M$):A=INT(M/256):B=((M/256)-A)*256:POKE232,A:POKE233,B:EXEC512:GOTO20
50 DATA BD,BA,77,C6,F,9E,E8,F,6F,34,14,8D,A,35,14,8D,32,30,1,5A,26,F3,39,8C,10,0,24,1D,CC,70,70,DE,88,8C,1,0,25,4,A7,C0,20
60 DATA D,8C,0,10,25,4,ED,C1,20,4,A7,C0,ED,C1,DF,88,9F,52,8E,90,E8,34,16,7E,A0,11,34,10,A6,84,8E,60,70,10,8E,60,71,DE,88,33
70 DATA 45,85,80,26,4,AF,C1,20,3,10,AF,C1,85,40,26,4,AF,C1,20,3,10,AF,C1,85,20,26,4,AF,C1,20,3,10,AF,C1,85,10,26,4,AF,C1,20
80 DATA 3,10,AF,C1,85,8,26,4,AF,C1,20,3,10,AF,C1,85,4,26,4,AF,C1,20,3,10,AF,C1,85,2,26,4,AF,C1,20,3,10,AF,C1,85,1,26,4,AF
90 DATA C1,20,3,10,AF,C1,33,47,DF,88,35,90
Decimal example
Code: Select all
10 CLS:FOR I=512 TO 693:READ M$:POKE I,VAL("&H"+M$):NEXT
20 LINE INPUT"START ADDRESS (DEC) >";M$
30 L=LEN(M$):IF L<1 OR L>5 THEN 70
40 FORI=1TOL:M=ASC(MID$(M$,I,1)):IF M<48 OR M>57 THEN 70 ELSE NEXT
50 M=VAL(M$):IF M<0 OR M>65535 THEN 70
60 A=INT(M/256):B=((M/256)-A)*256:POKE232,A:POKE233,B:EXEC512:GOTO20
70 CLS:GOTO20
80 DATA BD,BA,77,C6,F,9E,E8,F,6F,34,14,8D,A,35,14,8D,38,30,1,5A,26,F3,39,8C,27,10,24,28,CC,70,70,DE,88,8C,3,E8,25,4,A7,C0
90 DATA 20,18,8C,0,64,25,4,ED,C1,20,F,8C,0,A,25,6,A7,C0,ED,C1,20,4,ED,C1,ED,C1,DF,88,1F,10,7E,95,7A,34,10,A6,84,8E,60,70,10
100 DATA 8E,60,71,DE,88,33,44,85,80,26,4,AF,C1,20,3,10,AF,C1,85,40,26,4,AF,C1,20,3,10,AF,C1,85,20,26,4,AF,C1,20,3,10,AF,C1
110 DATA 85,10,26,4,AF,C1,20,3,10,AF,C1,85,8,26,4,AF,C1,20,3,10,AF,C1,85,4,26,4,AF,C1,20,3,10,AF,C1,85,2,26,4,AF,C1,20,3,10
120 DATA AF,C1,85,1,26,4,AF,C1,20,3,10,AF,C1,33,47,DF,88,35,90