Listing of file='ADDECO.BAS;01' on disk='vmedia/hardware_utilities-sector.ccvf'
100 REM PROGRAM TO PRINT OUT THE ADDRESSING IN H/L FORMAT 110 REM TO SCREEN & PRINTER, BY K.G.WINDER - OCT 1985 120 REM 130 CLEAR 500:PLOT 14,12:PLOT 27,18,7:REM SET BAUD 7 140 PRINT :PRINT TAB( 18)"MEMORY LINE DECODE PRINTER" 150 PRINT TAB( 18)"eeeeeeeeeeeeeeeeeeeeeeeeee" 160 PLOT 15,3,12,6:PRINT "MEMORY ADDRESS IN DEC, EG. D---- " 170 PLOT 3,12,7:INPUT "- OR - ADDRESS IN HEX, EG. H---- ";E$ 180 K= 0:IF LEFT$ (E$,1)= "D"THEN GOTO 200 190 GOTO 220 200 X$= MID$ (E$,2):D= VAL (X$):Z= D:X= D:GOSUB 1000 210 GOTO 240 220 IF LEFT$ (E$,1)= "H"THEN H$= MID$ (E$,2):GOSUB 2000 230 Z= D:X= D 240 IF K= 1THEN X= 66000:FOR I= 1TO 2000:NEXT 250 IF X> 65535THEN PLOT 28,11,28,11:GOTO 160 255 U$= LEFT$ (E$,1):IF U$< > "D"AND U$< > "H"THEN PLOT 28,11,28,11:GOTO 160 260 PLOT 3,17,9:INPUT "PRINTOUT ON PAPER? Y OR N - ";PT$ 270 IF PT$< > "Y"AND PT$< > "N"THEN PLOT 28,11:GOTO 260 280 GOSUB 420:REM PROCESS VALUES 290 POKE 33265,0:Q= 0:IF PT$= "N"THEN Q= 1:PRINT :GOTO 310:REM PRINT OR NOT 300 PLOT 3,19,11:INPUT "PRESS RETURN WHEN READY - ";R 310 IF Q= 1THEN PRINT :POKE 33289,64:GOTO 340 320 POKE 33289,80:POKE 33265,14:PRINT " ";B$;" ";X:REM TO PAPER 330 PRINT " ";Y9$+ Z9$+ SS$+ H$:PLOT 10,10,13:POKE 33265,0 340 PRINT :PRINT :PRINT B$:REM TO SCREEN 350 PRINT :PRINT Y9$+ Z9$ 360 PRINT :PRINT TAB( 10)"FOR ADDRESSING LOCATION = ";X;"D ";H$"H" 370 PRINT :PRINT :PRINT :PLOT 7 380 INPUT " PRESS RETURN TO REPEAT, OR M FOR MENU - ";R$ 390 POKE 33289,64:IF R$= "M"THEN PLOT 1 400 GOTO 130 410 END 420 REM BINARY DECODE 430 Y1$= " L ":IF Z> 32767AND Z< 65536THEN Y1$= " H ":Z= Z- 32768 440 Y2$= " L ":IF Z> 16383AND Z< 32768THEN Y2$= " H ":Z= Z- 16384 450 Y3$= " L ":IF Z> 8191AND Z< 16384THEN Y3$= " H ":Z= Z- 8192 460 Y4$= " L ":IF Z> 4095AND Z< 8192THEN Y4$= " H ":Z= Z- 4096 470 Y5$= " L ":IF Z> 2047AND Z< 4096THEN Y5$= " H ":Z= Z- 2048 480 Y6$= " L ":IF Z> 1023AND Z< 2048THEN Y6$= " H ":Z= Z- 1024 490 Y7$= " L ":IF Z> 511AND Z< 1024THEN Y7$= " H ":Z= Z- 512 500 Y8$= " L ":IF Z> 255AND Z< 512THEN Y8$= " H ":Z= Z- 256 510 Z1$= " L ":IF Z> 127AND Z< 256THEN Z1$= " H ":Z= Z- 128 520 Z2$= " L ":IF Z> 63AND Z< 128THEN Z2$= " H ":Z= Z- 64 530 Z3$= " L ":IF Z> 31AND Z< 64THEN Z3$= " H ":Z= Z- 32 540 Z4$= " L ":IF Z> 15AND Z< 32THEN Z4$= " H ":Z= Z- 16 550 Z5$= " L ":IF Z> 7AND Z< 16THEN Z5$= " H ":Z= Z- 8 560 Z6$= " L ":IF Z> 3AND Z< 8THEN Z6$= " H ":Z= Z- 4 570 Z7$= " L ":IF Z> 1AND Z< 4THEN Z7$= " H ":Z= Z- 2 580 Z8$= " L ":IF Z= 1THEN Z8$= " H " 590 SS$= " " 600 B$= "A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0" 610 Y9$= Y1$+ Y2$+ Y3$+ Y4$+ Y5$+ Y6$+ Y7$+ Y8$ 620 Z9$= Z1$+ Z2$+ Z3$+ Z4$+ Z5$+ Z6$+ Z7$+ Z8$ 630 RETURN 1000 REM DEC TO HEX. D = DECI INPUT - H$ IS HEX OUT 1010 H$= "" 1020 NN= D- (16* INT (D/ 16)):IF NN< 10THEN N$= STR$ (NN):H$= RIGHT$ (N$,1)+ H$:GOTO 1040 1030 H$= CHR$ (NN+ 55)+ H$ 1040 D= INT (D/ 16):IF D= 0THEN RETURN 1050 GOTO 1020 1060 END 2000 REM HEX TO DECIMAL, HEX NUMBER IS H$, DEC IS D 2010 D= 0 : A$= "" : L= LEN (H$) 2020 FOR I= L TO 1 STEP - 1 2030 A$= MID$ (H$,I,1) 2040 V= ASC (A$) 2050 IF 47< V AND V< 58 THEN V= V- 48 : GOTO 2080 2060 IF 64< V AND V< 71 THEN V= V- 55 : GOTO 2080 2070 PRINT SPC( 15);"";"ILLEGAL CHARACTER ";A$;" ":D= - .1:K= 1:RETURN 2080 D= D+ 16^ (L- I)* V 2090 NEXT I 2100 D= INT (D+ 0.5) 2110 RETURN