300 & WINDOW(0,0 TO 39,23): & HOME : VTAB 1: INVERSE : PRINT TAB( 11)"CHARACTER SET EDITOR" TAB( 41): & WINDOW(1,2 TO 38,22): NORMAL : HPLOT 0,0 TO 0,8
380 KEY = (A$ = "E" OR A$ = CHR$(101)) +2 *(A$ = "S" OR A$ = CHR$(115)) +3 *(A$ = "Q" OR A$ = CHR$(113)) +5 *(A$ = "H" OR A$ = CHR$(104)) +4 *(A$ = "L" OR A$ = CHR$(108)) +6 *(A$ = "C" OR A$ = CHR$(99))
390 ON KEY GOTO 420,820,850,900,930,1020
400 GOTO 370
410 REM -- EDIT CHARACTER MODE --
420 & HOME
430 & WINDOW(1,2 TO 38,22)
440 HPLOT 24,29 TO 192,29 TO 192,50 TO 24,50 TO 24,29: FOR I = 1 TO 11:A = I *14 +24: HPLOT A,29 TO A,50: NEXT I
450 HPLOT 24,53 TO 206,53 TO 206,74 TO 24,74 TO 24,53: FOR I = 1 TO 12:A = I *14 +24: HPLOT A,53 TO A,74: NEXT I
460 HPLOT 24,77 TO 164,77 TO 164,98 TO 24,98 TO 24,77: FOR I = 1 TO 9:A = I *14 +24: HPLOT A,77 TO A,98: NEXT I: IF E2 = 1 THEN HPLOT 24,77 TO 178,77 TO 178,98 TO 24,98 TO 24,77
470 HPLOT 24,101 TO 164,101 TO 164,122 TO 24,122 TO 24,101: FOR I = 1 TO 9:A = I *14 +24: HPLOT A,101 TO A,122: NEXT I: IF E2 = 1 THEN HPLOT 8,101 TO 22,101 TO 22,122 TO 8,122 TO 8,101
480 POKE 7,SET: FOR I = 1 TO 12: VTAB 5: HTAB I *2 +2: PRINT MID$ (SET$(1,1),I,1);: VTAB 6: HTAB I *2 +2: PRINT MID$ (SET$(1,2),I,1);: NEXT I
490 FOR J = 2 TO 4: FOR I = 1 TO 13: VTAB J *3 +2: HTAB I *2 +2: PRINT MID$ (SET$(J,1),I,1);: VTAB J *3 +3: HTAB I *2 +2: PRINT MID$ (SET$(J,2),I,1);: NEXT I: NEXT J
500 IF E2 = 1 THEN VTAB 14: HTAB 2: PRINT CHR$(126);: VTAB 15: HTAB 2: PRINT CHR$(96);
510 POKE 7,144: IF E2 = 0 THEN VTAB 8: HTAB 30: PRINT "O P N";: VTAB 9: HTAB 30: PRINT "K M L";
850 & HOME : VTAB 7: PRINT "ARE YOU SURE YOU WANT TO QUIT (Y/N)? ";: GET CH$: IF CH$ = "Y" OR CH$ = CHR$(121) THEN 880
860 IF CH$ < >"N" AND CH$ < > CHR$(110) THEN PRINT CHR$(7);: GOTO 850
870 GOTO 310
880 PRINT : PRINT CHR$(4)"PR#0": PRINT CHR$(4)"IN#0": TEXT : HOME : END
890 REM -- LOAD PACKAGE --
900 VTAB 3: HTAB 7: PRINT "- LOAD CHARACTER SET -": GOSUB 1340:XX = 1
910 PRINT CHR$(4)"BLOAD"F$",A$9000": GOTO 310
920 REM -- HELP INSTRUCTIONS --
930 & HOME : & WINDOW(1,1 TO 38,22): PRINT : PRINT
940 PRINT " To edit a character, press the key": PRINT "corresponding to that character. The": PRINT "character appears in inverse on": PRINT "the keyboard diagram and a grid that"
950 PRINT "shows the dots that make up the char-": PRINT "acter is drawn."
960 PRINT : PRINT " Move the cursor about the grid with": PRINT "the I-J-K-M or arrow keys. To toggle": PRINT "the dot under the cursor, press": PRINT "the <SPACE> bar. "
970 PRINT : PRINT " To cancel the changes you have made": PRINT "to the character, press Q. To save ": PRINT "the changes press <RETURN>."
980 PRINT : GOSUB 1300: & HOME
990 PRINT : PRINT : PRINT " When you are finished editing the": PRINT "set you can return to the main menu": PRINT "by pressing CTRL-Q. You may then": PRINT "save your new character set on disk."
1000 PRINT "Press S, then enter the filename in": PRINT "uppercase.": PRINT : GOSUB 1300
1010 & WINDOW(0,1 TO 39,23): GOTO 310
1020 & WINDOW(0,1 TO 39,23)
1030 & HOME : VTAB 7: PRINT "CATALOG WHICH DRIVE (1/2)?";: GET CH$:CH = VAL(CH$): POKE -16384,0: IF CH <1 OR CH >2 THEN 310
1190 KEY = (A$ = "I" OR A$ = CHR$(105) OR A$ = CHR$(11) OR A$ = "M" OR A$ = CHR$(109) OR A$ = CHR$(10)) +2 *(A$ = "J" OR A$ = CHR$(106) OR A$ = CHR$(8) OR A$ = "K" OR A$ = CHR$(107) OR A$ = CHR$(21))
1200 KEY = KEY +3 *(A$ = CHR$(13)) +4 *(A$ = "C" OR A$ = CHR$(99)) +5 *(A$ = "Q" OR A$ = CHR$(113)) +6 *(A$ = " "): REM 1 SPACE
1210 ON KEY GOSUB 1230,1240,1250,1270,1260,1280
1220 LOOP = (KEY < >0): NEXT LOOP: VTAB 13: FOR I = 1 TO 10: HTAB 26: PRINT " ": NEXT : RETURN : REM 10 SPACES
1230 V = (V -1) *(A$ = "I" OR A$ = CHR$(105) OR A$ = CHR$(11)) +(V +1) *(A$ = "M" OR A$ = CHR$(109) OR A$ = CHR$(10)):V = 21 *(V <14) +14 *(V >21) +V *(V > = 14 AND V < = 21):KEY = 0: RETURN
1240 H = (H -1) *(A$ = "J" OR A$ = CHR$(106) OR A$ = CHR$(8)) +(H +1) *(A$ = "K" OR A$ = CHR$(107) OR A$ = CHR$(21)):H = 35 *(H <29) +29 *(H >35) +H *(H > = 29 AND H < = 35):KEY = 0: RETURN
1250 FOR ROW = 0 TO 7:P = 0: FOR COL = 0 TO 7:P = P +CHAR(ROW,COL) *2 ^COL: NEXT COL: POKE CHAR +ROW,P: NEXT ROW