10 REM FONT CUSTOMIZER 20 REM COPYRIGHT (C) 1988 ROGER MOORE 30 REM ALL RIGHTS RESERVED. 40 POKE 53280,12:POKE 53281,0 50 POKE 53265,27:POKE53272,23 60 PRINT CHR$(8);CHR$(14) 80 REM DIS STOP/REST 90 GOSUB 3190 100 PRINT"[147]"TAB(12)"[158][198]ONT [195]USTOMIZER" 110 PRINTTAB(12)"[150][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]" 120 PRINT"[154] [193] PROGRAM FOR EDITING CHARACTER SETS 130 [153][163]10)"FOR THE LENOMMODORE 64. 140 REM 150 PRINT"[154]"TAB(6)"[213]SE [195]OMMODORE [210][207][205] SET (Y/N)? " 160 GETA$:IFA$=""THEN160 170 IFA$="N"ORA$="[206]"THEN C=0:GOTO 250 180 IFA$<>"Y"ANDA$<>"[217]"THEN160 190 PRINTTAB(7)"[153][213]PPER OR [204]OWER CASE (U/L)?" 200 GETA$:IFA$=""THEN200 210 IFA$="U"ORA$="[213]"THENC=1:GOTO240 220 IFA$="L"ORA$="[204]"THENC=2:GOTO240 230 GOTO 200 240 REM POKE 831,77 250 PRINT"[147][159] [208]RESS THE [200][159] KEY FOR [200][197][204][208][159] AT ANY TIME." 260 PRINTTAB(8)"[208]RESS <[210][197][212][213][210][206]> TO BEGIN. 270 [161]A$:[139]A$[178]""[167]270 280 [139]A$[178]"H"[167]F[178]0:[137]550 290 [139]A$[179][177][199](13)[167]250 300 [151] 53265,[194](53265)[176]32 310 [151] 53272,[194](53272)[176]8 320 [158] 49152:[158] 49216:[151]247,0 330 [139] C[178]1 [167] [158] 49296 340 [139] C[178]2 [167] [158] 49360 350 [158] 49424:[158] 49504:[158] 51456:[158]51499 360 [158] 49808:[158] 49568:[158] 49728 370 [158] 49826:[158] 49946:[158] 49856 380 [151] 198,0:[151] 53269,2:D[178]0:A[178]1 390 [161]A$:[139]A$[178]""[167] 390 400 [139]A$[178]"H"[167]F[178]1:[137]550 410 [139]A$[178]""[167]1040 420 [139]A$[178]"CMD"[167]1170 430 [139]A$[178]""[167]1240 440 [139]A$[178]"ON"[167]1310 450 [139]A$[178]"L"[167]1380 460 [139]A$[178]"S"[167]1690 470 [139]A$[178]"Q"[167]2120 480 [139]A$[178]"I"[167]2000 490 [139]A$[178]""[167]2100 500 [139]A$[178]"C"[167]2190 510 [139]A$[178]"D"[167] DF[178]0:[141]3300:[137]390 520 [143] IFA$=CHR$(13)THEN11100 530 [139]A$[178][199](141)[167]2320 540 [137] 390 550 [143] HELP IS ON THE WAY 560 [151]53265,27:[151]53272,23:[151]53269,0 570 [153]"LOAD";:[153][163]15)"SYSLENUSTOMIZER 580 PRINT"[159] [150][211][197][204][197][195][212][159] MODE COMMANDS 590 [153]" LEFT$OPEN ATNCTIVATE THE HELP SCREEN 600 PRINT" [211][159] [211]AVE A FONT FILE TO DISK 610 [153]" (null)OPEN (null)OAD A FONT FILE (STR$IRECTORY OPTION) 620 PRINT" [196][159] [196]ISKETTE [196]IRECTORY 630 [153]" LENOPEN LENOPY IN THE ENTIRE (null)(null)(null) SET 640 PRINT" [201][159] [195]REATE THE INVERSE HALF OF THE SET 650 [153]" LEFT$(null)(null)VALOPEN (null)OVE WINDOW TO TOP LEFT 660 PRINT" [195][210][211][210] [203][197][217][211][159] [211]ELECT CHARACTER TO EDIT" 670 PRINT" [209][159] [209]UIT PROGRAM" 680 PRINT" [211][200][201][198][212] <[210][197][212][213][210][206]>[159] [197]NTER [150][197][196][201][212][159] MODE. 690 [153][163]9)"SYS(null)RESS <(null)VAL(null)(null)(null)(null)> FOR MORE" 700 [161]A$:[139]A$[179][177][199](13)[167]700 710 [153]"LOADOPEN DEFVALSTR$RIGHT$(null)OPEN MODE COMMANDS 720 PRINT" [198]1[159] [195]OPY INTO BUFFER 730 [153]" ASC2OPEN LENOPY FROM BUFFER 740 PRINT" [198]3[159] [211]HIFT LEFT 750 [153]" ASC4OPEN (null)HIFT RIGHT 760 PRINT" [198]5[159] [211]HIFT UP 770 [153]" ASC6OPEN (null)HIFT DOWN 780 PRINT" [198]7[159] [210]OTATE CLOCKWISE 790 [153]" ASC8OPEN (null)OTATE COUNTER-CLOCKWISE 800 PRINT" 1[159] [204]OGICAL [193][206][196] CHARACTER WITH BUFFER 810 [153]" 2OPEN (null)OGICAL (null)(null) CHARACTER WITH BUFFER 820 PRINT" 3[159] [204]OGICAL [216][207][210] CHARACTER WITH BUFFER 830 [153][163]9)"SYS(null)RESS <(null)VAL(null)(null)(null)(null)> FOR MORE" 840 [161]A$:[139]A$[179][177][199](13)[167]840 850 [153]"LOADOPEN (null)ORE DEFVALSTR$RIGHT$(null)OPEN MODE COMMANDS 860 PRINT" +[159] [211][208][193][195][197] [194][193][210] TURNS BITS ON 870 [153]" -OPEN (null)(null)ATNLENVAL PEEKATN(null) TURNS BITS OFF 880 PRINT" [211][208][193][195][197] [194][193][210][159] [212]URN BITS ON/OFF 890 [153]" ATNOPEN ATNDVANCE AFTER (null)(null)ATNLENVAL PEEKATN(null) 900 PRINT" [206][159] [206]O ADVANCE AFTER [211][208][193][195][197] [194][193][210] 910 [153]" (null)OPEN (null)EVERSE CHARACTER 920 PRINT" [205][159] [205]IRROR CHARACTER 930 [153]" LEFT$(null)(null)VALOPEN (null)OVE TO TOP LEFT BIT 940 PRINT" [195][204][210] [200][207][205][197][159] [197]RASE CHARACTER 950 [153]" LEFT$OPEN LEFT$ELP SCREEN 960 PRINT" [211][200][201][198][212] <[210][197][212][213][210][206]>[159] [197]NTER [211]ELECT MODE 970 [153]" SYSVALND OF HELP SCREEN. (null)RESS <(null)VAL(null)(null)(null)(null)>" 980 [161]A$:[139]A$[179][177][199](13)[167]980 990 [153]"LOAD" 1000 [139] F[177]0[167][151]53265,59:[151]53272,31:[158]50352:[158]49826:[158]49728:[158]51499 1010 [139] F[178]1 [167] [151] 53269,2 1020 [139] F[178]2 [167] [151] 53269,3 1030 [145] F[170]1 [137] 250,390,2340 1040 [143] RIGHT 1050 M[178]1:W[178][194](2):NW[178]W[170]1:[139]W[178]4[176]W[178]9[167]NW[178]W 1060 [139][194](830)[178]255[167]M[178]0 1070 [139][194](830)[178]223[175]W[178]4[167]NW[178]9:[151]247,188 1080 [139]M[167][151]830,[194](830)[170]1 1090 [151]2,NW 1100 [139]W[178]NW[175]M[167][151]247,[194](247)[170]1 1110 [158]49568:[158]49856:[158]50144:[137]390 1120 [143] RETURN KEY WAS HIT 1130 Q[178]32[170]32[172][181]([194](830)[173]31) 1140 [139]Q[179]223[167][151]2,0:[151]830,Q:[151]247,Q:[158]49568:[158]49856:[158]50144:[137]390 1150 [139]Q[179]255[167][151]2,5:[151]830,Q:[151]247,Q[171]32:[158]49568:[158]49856:[158]50144 1160 [137] 390 1170 [143] LEFT 1180 M[178]0:W[178][194](2):NW[178]W[171]1:[139]W[178]0[176]W[178]5[167]NW[178]W 1190 [139][194](830)[179][177]0[167][151]830,[194](830)[171]1:M[178]1 1200 [139][194](247)[178]0[175][194](830)[178]31[167]NW[178]0:[151]247,31:M[178]0 1210 [151]2,NW 1220 [139]W[178]NW[175]M[167][151]247,[194](247)[171]1 1230 [158]49568:[158]49856:[158]50144:[137]390 1240 [143] DOWN 1250 M[178]0:W[178][194](2):NW[178]W[170]5:[139]W[177]4[167]NW[178]W 1255 [139][194](830)[177]223 [167] 390 1260 P[178][194](247):[139]P[177]187[175]P[179]192[175]W[177]4[167][151]247,187:NW[178][194](830)[171]214:W[178]NW 1270 [139][194](830)[179]224[167][151]830,[194](830)[170]32:M[178]1 1280 [151]2,NW 1290 [139]W[178]NW[175]M[167][151]247,[194](247)[170]32 1300 [158]49568:[158]49856:[158]50144:[137]390 1310 [143] UP 1320 M[178]0:W[178][194](2):NW[178]W[171]5:[139]W[179]5[167]NW[178]W 1330 P[178][194](830):[139][194](247)[179]32[175]P[177]31[175]W[179]5[167][151]247,0:NW[178]P[171]32 1340 [139][194](830)[177]31[167][151]830,[194](830)[171]32:M[178]1 1350 [151]2,NW 1360 [139]W[178]NW[175]M[167][151]247,[194](247)[171]32 1370 [158]49568:[158]49856:[158]50144:[137]390 1380 [143] LOAD 1390 [151]53265,27:[151]53272,23:[151]53269,0: 1400 [153]"LOAD CONT(null)OAD CUSTOM CHARACTER SET." 1410 [153]"OPEN (null)RESS DOPEN FOR STR$IRECTORY. 1420 PRINT" [208]RESS <[210][197][212][213][210][206]>[159] OTHERWISE.":W=1 1430 GET A$:IF A$="D"THEN DF=1:GOSUB3300:W=0:GOTO1450 1440 IFA$<>CHR$(13)THEN1430 1450 PRINT"[153] [212]O ABORT [204][207][193][196] OPERATION PRESS 1460 [153]" <(null)VAL(null)(null)(null)(null)> WITHOUT ENTERING A FILENAME. 1470 IFWTHENPRINT" [159][208]UT LOAD DISKETTE IN DISK 1480 [139]W[167][153]" DRIVE DEVICE 8 DRIVE 0." 1490 [153]" ASCILENAME:LIST_WAITCMD";:L[178]0:F$[178]"" 1500 [161]A$:[139]A$[178]""[167]1500 1510 [139]A$[178][199](13)[167][153]" ";:[137]1560 1520 [139]A$[178][199](20)[175]L[177]0[167][153]" CMDCMD CMD_WAITCMD";:L[178]L[171]1:F$[178][200](F$,L) 1530 [139]L[179]14[167][139](A$[177][178]" "[175]A$[179][178]"_")[175]A$[179][177][199](34)[167]1550 1540 [137] 1500 1550 [153]A$"_WAITCMD";:L[178]L[170]1:F$[178]F$[170]A$:[137]1500 1560 [139]L[178]0[167][153]"LOAD":[151]53265,[194](53265)[176]32:[151]53272,[194](53272)[176]8 1570 [139]L[178]0[167][158]50352:[158]49826:[158]49728:[158]51499:[151]53269,2:[137]390 1580 [129]I[178]1[164][195](F$):[151]50677[170]I,[198]([202](F$,I,1)):[130] 1590 [153]:[153]"CONT(null)EARCHING FOR"[199](34)F$[199](34):[151] 50692,L:[158]50746 1600 [139][194](251)[178]64[167]L[178]0:[137]1560 1610 [153]"LOAD SYSVALRROR IN (null)OAD ATTEMPT." 1620 [139][194](251)[178]4[167][153][163]11)"LISTASCILE NOT FOUND." 1630 [153]"PRINT (null)AKE SURE DISK DRIVE DEVICE 8, DRIVE 0 1640 PRINT" IS ON, LOAD DISKETTE IS IN PLACE, 1650 [153]" AND DISK DRIVE DOOR IS CLOSED." 1660 [153]" OPEN(null)LEASE PRESS <(null)VAL(null)(null)(null)(null)> 1670 GETA$:IFA$<>CHR$(13)THEN1670 1680 GOTO 1380 1690 REM SAVE 1700 POKE53265,27:POKE53272,23:POKE53269,0: 1710 PRINT"[147] [154][211]AVE CUSTOM CHARACTER SET." 1720 PRINT"[153] [212]O ABORT [211][193][214][197] OPERATION PRESS 1730 [153]" <(null)VAL(null)(null)(null)(null)> WITHOUT ENTERING A FILENAME. 1740 PRINT" [198]ILENAME:[155]_[146][157]";:L=0:F$="" 1750 GETA$:IFA$=""THEN1750 1760 IFA$=CHR$(13)THENPRINT" ";:GOTO1810 1770 IFA$=CHR$(20)ANDL>0THENPRINT" [157][157] [157]_[146][157]";:L=L-1:F$=LEFT$(F$,LEN(F$)-1) 1780 IFL<14THENIF(A$>=" "ANDA$<="_")ANDA$<>CHR$(34)THEN1800 1790 GOTO 1750 1800 PRINTA$"_[146][157]";:L=L+1:F$=F$+A$:GOTO1750 1810 IFL=0THENPOKE53265,PEEK(53265)OR32:POKE53272,PEEK(53272)OR8 1820 IFL=0THENSYS50352:SYS49826:SYS49728:SYS51499:POKE53269,2:GOTO390 1830 TP$=F$:N$=F$:GOTO3550 1840 FORI=1TOLEN(TP$):POKE50677+I,ASC(MID$(TP$,I,1)):NEXT 1850 PRINT"[147]":PRINTTAB(7)"[159][208]UT SAVE DISKETTE IN DISK 1860 [153][163]8)"DRIVE DEVICE 8 DRIVE 0." 1870 [153][163]13)"LIST(null)RESS <(null)VAL(null)(null)(null)(null)>" 1880 [161]A$:[139]A$[179][177][199](13)[167]1880 1890 [153]"LOADCONT (null)AVING"[199](34)TP$[199](34):[151] 50692,[195](TP$):[158]50693 1900 [139][194](251)[179][177]0[167] 1930 1910 [139] CA[178]1 [167] 3950 1920 L[178]0:[137]1810 1930 [153]"LOAD SYSVALRROR IN (null)AVE ATTEMPT." 1940 [153]"PRINT (null)AKE SURE DISK DRIVE DEVICE 8, DRIVE 0 1950 PRINT" IS ON, SAVE DISKETTE IS IN PLACE, 1960 [153]" AND DISK DRIVE DOOR IS CLOSED." 1970 [153]" OPEN(null)LEASE PRESS <(null)VAL(null)(null)(null)(null)> 1980 GETA$:IFA$<>CHR$(13)THEN1980 1990 GOTO 1690 2000 REM COPY IN INVERSE 2010 POKE53265,27:POKE53272,23:POKE53269,0: 2020 PRINT"[147] [154][212]HIS COMMAND CREATES THE INVERSE 2030 [153]" PORTION OF THE CHARACTER SET FROM 2040 PRINT" THE NORMAL PORTION." 2050 PRINT" [159][196]O YOU WISH TO CONTINUE (Y/N)?" 2060 GETA$:IFA$=""THEN2060 2070 IFA$="Y"THENSYS50800 2080 POKE53265,PEEK(53265)OR32:POKE53272,PEEK(53272)OR8 2090 SYS50352:SYS49826:SYS49728:SYS51499:POKE53269,2:GOTO390 2100 IFPEEK(2)=0THENPOKE247,0:POKE830,0:SYS49568:SYS49856:SYS50144:GOTO390 2110 POKE 2,0:POKE830,PEEK(247):SYS49568:SYS49856:SYS50144:GOTO390 2120 REM QUIT 2130 POKE53265,27:POKE53272,23:POKE53269,0: 2140 PRINT"[147] [154][196]O YOU [210][197][193][204][204][217] WANT TO QUIT NOW (Y/N)?" 2150 GETA$:IFA$=""THEN2150 2160 IFA$="Y"THENPOKE808,237:GOTO5000 2170 POKE53265,PEEK(53265)OR32:POKE53272,PEEK(53272)OR8 2180 SYS50352:SYS49826:SYS49728:SYS51499:POKE53269,2:GOTO390 2190 REM COPY 2200 POKE53265,27:POKE53272,23:POKE53269,0: 2210 PRINT"[147] [154][196]O YOU WANT TO COPY IN THE" 2220 PRINT" [195]OMMODORE [210][207][205] CHARACTER SET (Y/N)?" 2230 GETA$:IFA$=""THEN2230 2240 IFA$="Y" THEN2270 2250 POKE53265,PEEK(53265)OR32:POKE53272,PEEK(53272)OR8 2260 SYS50352:SYS49826:SYS49728:SYS51499:POKE53269,2:GOTO390 2270 PRINT" [153][213]PPER OR [204]OWER CASE (U/L)?" 2280 GETA$:IFA$=""THEN2280 2290 IFA$="U"THENSYS49296:GOTO2250 2300 IFA$="L"THENSYS49360:GOTO2250 2310 GOTO 2210 2320 REM EDIT 2330 POKE 828,0:POKE829,0:SYS50016:POKE53269,3:X=0:Y=0 2340 GETA$:IFA$=""THEN2340 2350 IFA$=" "THEN 2820 2360 IFA$=""THENX=X+1:GOTO2640 2370 IFA$="A"THENA=1:GOTO2340 2380 IFA$="N"THENA=0:GOTO2340 2390 IFA$="[157]"THENX=X-1:GOTO2640 2400 IFA$="[145]"THENY=Y-1:GOTO2640 2410 IFA$=""THENY=Y+1:GOTO2640 2420 IFA$=CHR$(13)THENX=0:Y=Y+1:GOTO2640 2430 IFA$="[133]"THEN2870 2440 IFA$="[137]"THEN2910 2450 IFA$="[134]"THEN2950 2460 IFA$="[138]"THEN2970 2470 IFA$="[135]"THEN2990 2480 IFA$="[139]"THEN3040 2490 IFA$="[136]"THEN3090 2500 IFA$="[140]"THEN3110 2510 IFA$="H"THENF=2:GOTO550 2520 IFA$=""THEN 2690 2530 IFA$="[147]"THEN 2700 2540 IFA$="F"THEN 2730 2550 IFA$="1"THEN 3130 2560 IFA$="2"THEN 3150 2570 IFA$="3"THEN 3170 2580 IFA$="M"THEN 2750 2590 IFA$="R"THEN 2780 2600 IFA$="[148]"ORA$="+"THEND=1:GOTO2340 2610 IFA$=CHR$(20)ORA$="-"THEND=0:GOTO2340 2620 IFA$=CHR$(141)THENPOKE53269,2:GOTO390 2630 GOTO2340 2640 IF X<0 THEN X=7:Y=Y-1:REM CURSOR 2650 IF X>7 THEN X=0:Y=Y+1 2660 IF Y<0 THEN Y=0 2670 IF Y>7 THEN Y=7 2680 POKE 828,X:POKE829,Y:SYS50016:GOTO2340 2690 X=0:Y=0:GOTO2680:REM HOME 2700 REM CLEAR 2710 P=PEEK(830)*8+2048:FORI=PTOP+7:POKEI,0:NEXT 2720 SYS50352:GOTO2690 2730 REM FIX 2740 GOTO2340 2750 REM MIRROR 2760 SYS 50240 2770 SYS50352:GOTO2340 2780 REM REVERSE 2790 P=PEEK(830)*8+2048 2800 FORI=0TO7:POKEP+I,255-PEEK(P+I):NEXT 2810 SYS50352:GOTO2340 2820 REM BIT ON OR OFF 2830 POKE 832,D 2840 SYS 50288:SYS50352 2850 IF A THEN X=X+1:GOTO2640 2860 GOTO 2340 2870 REM CUT 2880 P=PEEK(830)*8+2048:Q=820 2890 FORI=0TO7:POKEQ+I,PEEK(P+I):NEXT 2900 SYS 49826:GOSUB3450:GOTO2340 2910 REM PASTE 2920 P=PEEK(830)*8+2048:Q=820 2930 FORI=0TO7:POKEP+I,PEEK(Q+I):NEXT 2940 SYS50352:GOSUB3500:GOTO2340 2950 REM SHIFT LEFT 2960 SYS50362:SYS50352:GOTO 2340 2970 REM SHIFT RIGHT 2980 SYS 50403:SYS50352:GOTO 2340 2990 REM SHIFT UP 3000 P=PEEK(830)*8+2048 3010 T=PEEK(P) 3020 FORI=0TO6:POKEP+I,PEEK(P+I+1):NEXT 3030 POKEP+7,T:SYS50352:GOTO2340 3040 REM SHIFT DOWN 3050 P=PEEK(830)*8+2048 3060 T=PEEK(P+7) 3070 FORI=7TO1STEP-1:POKEP+I,PEEK(P+I-1):NEXT 3080 POKEP,T:SYS50352:GOTO2340 3090 REM ROT LEFT 3100 SYS50506:SYS50352:GOTO2340 3110 REM ROT RIGHT 3120 SYS50452:SYS50352:GOTO 2340 3130 REM AND 3140 SYS 50560:SYS50352:GOTO2340 3150 REM OR 3160 SYS 50599:SYS50352:GOTO2340 3170 REM EOR 3180 SYS 50638:SYS50352:GOTO2340 3190 PRINT"[147]" 3290 RETURN 3300 REM DIRECTORY 3310 POKE53265,27:POKE53272,23:POKE53269,0 3320 PRINT"[147] [153][196]ISK [196]IRECTORY 3330 [153]" OPEN(null)UT DISKETTE IN DISK 3340 PRINT" DRIVE DEVICE 8 DRIVE 0." 3350 PRINT" [208]RESS [153]<[211][200][201][198][212]>[159] TO [208]AUSE, 3360 [153]" (null)RESS PRINTOPEN TO (null)TOP. 3370 PRINT" [208]RESS [153]<[210][197][212][213][210][206]>[159] TO [194]EGIN." 3380 GETA$:IFA$<>CHR$(13)THEN3380 3390 SYS 50864,8,"$" 3400 PRINT" [208]RESS [153]<[210][197][212][213][210][206]>[159] TO [195]ONTINUE." 3410 GETA$:IFA$<>CHR$(13)THEN3410 3420 IFDFTHENRETURN 3430 PRINT"[147]":POKE53265,PEEK(53265)OR32:POKE53272,PEEK(53272)OR8 3440 SYS50352:SYS49826:SYS49728:SYS51499:POKE53269,2:RETURN 3450 POKE 54296,15:POKE54295,0 3460 R=54272:POKER+6,240:POKER,150 3470 POKER+5,0:POKER+4,17:POKER+1,40 3480 FORZ=0TO250:NEXT 3490 POKER+4,0:RETURN 3500 POKE 54296,15:POKE54295,0 3510 R=54272:POKER+6,240:POKER,150 3520 POKER+5,0:POKER+4,17:POKER+1,25 3530 FORZ=0TO250:NEXT 3540 POKER+4,0:RETURN 3550 REM GET LOAD ADDRESS 3560 PRINT"[147]"TAB(8);:PRINT"[153][195]HANGE FONT LOAD ADDRESS." 3570 PRINTTAB(8)"[159][196]EFAULT LOAD ADDRESS IS 3580 [153][163]8)"LIST$800 CONTHEX LIST#2048 CONTDECIMAL 3590 PRINTTAB(5)"[155][196]O YOU WANT TO CHANGE IT (Y/N)?" 3600 GETA$:IFA$="N"THEN CA=0:GOTO1840 3610 IFA$<>"Y"THEN3600 3620 PRINTTAB(8)"[159][197]NTER NEW LOAD ADDRESS. 3630 [153]" ASCOR HEX ADDRESSING START WITH A $" 3640 [153]" ATNDDRESS:LIST_WAITCMD";:L[178]0:D$[178]"":H[178]0:CA[178]1 3650 [161]A$:[139]A$[178]""[167]3650 3660 [139]A$[178][199](13)[167][153]" ";:[137]3740 3670 [139]A$[178][199](20)[175]L[177]0[167][153]" CMDCMD CMD_WAITCMD";:L[178]L[171]1:F$[178][200](F$,L) 3680 [139]L[178]0[175]A$[178]"$"[167] H[178]1:[137]3730 3690 [139]L[178]0[175]A$[178]"#"[167]3730 3700 [139]L[178]0[167] H[178]0 3710 [139]L[179]6[167][139](A$[177][178]"0"[175]A$[179][178]"9")[176]((A$[177][178]"A"[175]A$[179][178]"F")[175]H)[167]3730 3720 [137] 3650 3730 [153]A$"_WAITCMD";:L[178]L[170]1:D$[178]D$[170]A$:[137]3650 3740 [139] H[178]0 [167] 3910 3750 D$[178][201](D$,L[171]1):L[178]L[171]1 3760 [139]L[178]3[176]L[178]4[167]3860: 3770 [153]"LOADOPEN (null)HAT IS NOT A VALID ADDRESS." 3780 [153]"CONT (null)EGAL ADDRESSES ARE MULTIPLES OF 3790 PRINT" $800[154] HEX OR #2048[154] DECIMAL 3800 [153]"CONT (null)UST BE LESS THAN OR EQUAL TO 3810 PRINTTAB(10)"$[198]800[154] OR #63488 3820 [153][163]8)"LIST(null)LEASE PRESS <(null)VAL(null)(null)(null)(null)> 3830 GETA$:IFA$<>CHR$(13)THEN3830 3840 GOTO 3550 3850 GETA$:IFA$<>CHR$(13)THEN3840 3860 V=0:C=0:FORI=L TO 1 STEP -1 3870 T$=MID$(D$,I,1):T=ASC(T$) 3880 T=T-48:IFT>9THENT=T-7 3890 V=V+T*16^C:C=C+1:NEXT 3900 GOTO 3930 3910 IFLEFT$(D$,1)="#"THENL=L-1 3920 V=VAL(RIGHT$(D$,L)) 3930 IFV/2048<>INT(V/2048)ORV=0ORV>63488THEN3770 3940 GOTO 1840 3950 PRINT"[159] [215]RITING NEW ADDRESS." 3960 J=LEN(TP$):IFJ=16THEN3980 3970 FOR I=J+1 TO 16:TP$=TP$+CHR$(160):NEXT 3980 OPEN1,8,15:OPEN2,8,2,"#" 3990 GOSUB 4170:T=18:S=1 4000 PRINT#1,"U1:";2;0;T;S:GOSUB4170 4010 PRINT#1,"B-P:";2;0:GET#2,A$,B$ 4020 T=ASC(A$+CHR$(0)):H=2:S=ASC(B$+CHR$(0)) 4030 PRINT#1,"B-P:";2;H:GET#2,T$ 4040 C=ASC(T$+CHR$(0)):IFC<>130THEN4080 4050 GET#2,A$,B$:F$="":FORX=1TO16 4060 GET#2,T$:F$=F$+T$:NEXT 4070 IF F$=TP$ THEN 4100 4080 H=H+32:IFH<256THEN4030 4090 GOTO4000 4100 A=ASC(A$+CHR$(0)):B=ASC(B$+CHR$(0)) 4110 PRINT#1,"U1:";2;0;A;B:GOSUB4170 4120 X=INT(V/256):Y=V-X*256:P$=CHR$(Y)+CHR$(X) 4130 PRINT#1,"B-P:";2;2:PRINT#2,P$; 4140 PRINT#1,"U2:";2;0;A;B:GOSUB4170 4150 CLOSE2:GOSUB4170:CLOSE1 4160 L=0:GOTO1810 4170 INPUT#1,E,M$,J,K:IFE=0THENRETURN 4180 CLOSE2:CLOSE1 4190 PRINT"[147]":PRINTTAB(13)"[159][196]ISK [201]/[207] ERROR. 4200 [153][163]8)"(null)OAD ADDRESS NOT CHANGED. 4210 PRINTTAB(10)"[154][208]LEASE PRESS <[210][197][212][213][210][206]> 4220 [161]A$:[139]A$[179][177][199](13)[167]4220 4230 L[178]0:[137]1810 5000 [159]15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":[132]15,ER:[160]15 5001 [139]ER[179][177]63 [167] [153]"LOAD":[128] 5002 [151]53280,.:[151]53281,.:[153]"LOADSTOPP(null)44,8:P(null)46,8:P(null)48,8:P(null)50,8:P(null)45,3" 5003 [153]"P(null)2048,0:P(null)47,3:P(null)49,3:P(null)51,0:NEW 5004 PRINT"LOAD"CHR$(34)"HELLO CONNECT"CHR$(34)",8" 5005 POKE631,13:POKE632,13:POKE633,13:POKE634,13:POKE635,ASC("R") 5006 POKE636,ASC("U"):POKE637,ASC("N"):POKE638,13:POKE198,8