Appears on
Assembled by Tim Ward from many sources. Contains programs 10211 – 10251.
Source Code
10 PRINT "HAVE YOU RESERVED MEMORY?" 20 INPUT A$ 30 IF A$="" THEN GOTO 50 40 IF A$(1)="N" THEN GOTO 9000 50 CLS 60 LET RT=PEEK 16388+256*PEEK 16389 70 PRINT "RAMTOP= ";RT 80 PRINT "HEX CODE:" 100 LET CI=0 110 LET H$="" 120 GOSUB 400 130 DIM F(20) 131 LET F(1)=700 132 LET F(6)=800 133 LET F(7)=900 134 LET F(8)=1000 135 LET F(10)=1100 136 LET F(11)=1200 137 LET F(12)=1300 138 LET F(13)=1400 139 LET F(14)=1500 140 LET F(18)=1600 141 LET F(17)=3000 200 INPUT I$ 210 LET A=0 220 LET A=A+1 230 IF A>LEN I$ THEN GOTO 300 240 IF I$(A)<>" " THEN GOTO 220 250 LET I$=I$( TO A-1)+I$(A+1 TO ) 260 GOTO 230 300 IF CODE I$(1)>=44 THEN GOTO 500 310 LET I$=I$+"**" 320 LET H$=H$( TO 2*CI)+I$+H$(2*CI+1 TO ) 330 GOSUB 450 340 GOSUB 600 350 GOSUB 400 360 GOTO 200 400 REM %P%R%I%N%T% %C%U%R%S%O%R 410 PRINT AT 2+INT (CI/10),3*(CI-10*INT (CI/10));"%>"; 420 RETURN 450 REM %U%N%P%R%I%N%T% %C%U%R%S%O%R 460 PRINT AT 2+INT (CI/10),3*(CI-10*INT (CI/10));" "; 470 RETURN 500 REM %R%O%U%T%I%N%E%S 510 GOSUB F(CODE I$(1)-43) 520 GOTO 200 600 REM %P%R%I%N%T% %A%P%P%E%N%D%E%D% %T%E%X%T 610 FOR J=1 TO LEN I$/2 620 PRINT I$(2*J-1 TO 2*J)+" "; 630 LET CI=CI+1 640 IF CI=10*INT (CI/10) THEN PRINT " "; 650 NEXT J 660 RETURN 700 REM %G%O 710 CLS 720 PRINT "NUMBER OF DATA BYTES?" 730 INPUT D 740 CLS 750 LET Y=USR (RT+D) 760 RETURN 800 REM %L%O%A%D 810 LET H$=H$+"3E1EED47FD210040C9" 820 LET J=RT-1 830 LET I=-1 840 LET J=J+1 850 LET I=I+2 860 IF I>LEN I$ THEN RETURN 870 IF H$(I)="*" THEN GOTO 850 880 POKE J,16*(CODE H$(I)-28)+CODE H$(I+1)-28 890 GOTO 840 900 REM %M%O%V%E% %C%U%R%S%O%R% %P%O%S%I%T%I%V%E%L%Y 910 GOSUB 450 920 IF LEN I$=1 THEN LET CM=1 930 IF LEN I$>1 THEN LET CM=VAL I$(2 TO ) 940 LET CI=CI+CM 950 IF CI>LEN H$/2 THEN LET CI=LEN H$/2 960 GOSUB 400 970 RETURN 1000 REM %M%O%V%E% %C%U%R%S%O%R% %N%E%G%A%T%I%V%E%L%Y 1010 GOSUB 450 1020 IF LEN I$=1 THEN LET CM=1 1030 IF LEN I$>1 THEN LET CM=VAL I$(2 TO ) 1040 LET CI=CI-CM 1050 IF CI<0 THEN LET CI=0 1060 GOSUB 400 1070 RETURN 1100 REM %P%R%I%N%T 1110 CLS 1120 PRINT "RAMTOP= ";RT 1130 PRINT "HEX CODE:" 1140 PRINT " "; 1150 LET CI=0 1160 FOR J=1 TO LEN H$/2 1170 PRINT H$(2*J-1 TO 2*J)+" "; 1185 LET CI=CI+1 1187 IF CI=10*INT (CI/10) THEN PRINT " "; 1190 NEXT J 1192 GOSUB 400 1195 RETURN 1300 REM %R%E%L%A%T%I%V%E% %J%U%M%P%S 1310 LET JCI=VAL I$(2 TO ) 1320 LET JS=JCI-CI-1 1325 GOSUB 2000 1330 IF JS>=-128 AND JS<=127 THEN GOTO 1357 1335 CLS 1340 PRINT AT 10,6;"INVALID JUMP SIZE" 1345 FOR Q=1 TO 20 1346 NEXT Q 1350 GOSUB 1100 1355 RETURN 1357 IF JS<0 THEN LET JS=JS+256 1360 LET X1=INT (JS/16) 1365 LET X0=JS-16*X1 1367 LET X$=CHR$ (X1+28)+CHR$ (X0+28) 1370 LET H$=H$( TO 2*CI)+X$+H$(2*CI+1 TO ) 1375 LET CI=CI+1 1380 GOSUB 1100 1390 RETURN 1400 REM %S%A%V%E 1410 PRINT "%S%A%V%E.INPUT PROGRAM NAME. (DEFAULT NAME ""H"")" 1420 INPUT N$ 1430 IF N$="" THEN LET N$="H" 1440 SAVE N$ 1450 CLS 1460 GOTO 10 1600 REM %D%E%L%E%T%E 1610 IF LEN I$=1 THEN LET K=1 1620 IF LEN I$>1 THEN LET K=VAL I$(2 TO ) 1630 LET H$=H$( TO 2*CI)+H$(2*CI+2*K+1 TO ) 1640 RETURN 2000 REM %A%S%T%E%R%I%S%K% %A%D%J%U%S%T 2010 IF JS<0 THEN LET W$=H$(2*JCI+1 TO 2*CI) 2020 IF JS>=0 THEN LET W$=H$(2*CI+1 TO 2*JCI) 2030 LET SC=0 2040 FOR T=1 TO LEN W$ 2050 IF W$(T)="*" THEN LET SC=SC+1 2060 NEXT T 2070 IF JS<0 THEN LET JS=JS+SC/2 2080 IF JS>0 THEN LET JS=JS-SC/2 2090 RETURN 3000 REM %D%O%W%N%L%O%A%D 3010 LET LH=0 3020 FOR I=1 TO LEN H$ 3030 IF H$(I)<>"*" THEN LET LH=LH+1 3040 NEXT I 3050 LET LH=LH/2+9 3060 PRINT AT 21,0;"LENGHT ";LH;" BYTES." 3070 LET H$="00002A04404E23462B118240C5011D0009C1EDB03E1EED47FD210040C9"+H$ 3080 GOSUB 800 3090 LET LS=INT (LH/256) 3100 LET LJ=LH-256*LS 3110 POKE RT,LJ 3120 POKE RT+1,LS 3130 RETURN 9000 REM %R%E%S%E%R%V%E% %M%E%M%O%R%Y 9010 PRINT "HOW MANY 256-BYTE BLOCKS?" 9020 INPUT NB 9030 PRINT "AFTER LIST PRESS RUN" 9040 FOR T=1 TO 20 9050 NEXT T 9060 POKE 16389,128-NB 9070 PRINT USR 1040 9080 STOP 9090 CLEAR 9100 SAVE "1024%5" 9110 RUN