ZX81/TS1000 Tips

See all articles from SINCUS v7 n5

15. Here is a short program to handle OCTAL INPUTS and OCTAL DUMPS.

10   PRINT AT 0,10;"** OCTAL **",,,"1. WRITE",,"2. LIST";AT 20,  0; "MAKE SELECTION
(1 OR 2) "
20 INPUT A$
30 IF A$ < > 1 AND A$ < > 2 THEN GOTO 20
40 GOTO 100+(200 AND A$ = "2")
100 CLS
110 PRINT "OCTAL INPUT",,"ADDRESS (DEC) ";
120 INPUT A$
130 LET A = VAL A$
140 PRINT A;AT 20,0;"ENTER OCTAL CODE (3 DIGITS);AT 3,0;
150 INPUT C$
160 IF C$ = "S" OR C$ = "" THEN STOP
170 IF LEN C$ < > 3 THEN GOTO 150
180 FOR K = 1 TO 3
190 IF C$(K) > 7 THEN GOTO 150
200 NEXT K
210 PRINT C$;" ";
220 LET N = VAL C$(1)*64+VAL C$(2)*8+VAL C$(3)
230 POKE A,N
240 LET A = A+1
250 GOTO 150
300 CLS
310 PRINT "OCTAL LIST",,"ADDRESS (DEC) ";
320 INPUT A$
330 LET A = VAL A$
340 PRINT A;" TO ";
350 INPUT A$
360 LET B = VAL A$
370 PRINT B,,,
380 FOR K = A TO B
390 LET N = PEEK K
400 LET C = INT (N/64)
410 LRT D = INT ((N-64*C)/8)
420 LET E = N-64*C-8*D
430 PRINT K;" ";C;D;E
440 NEXT K