home *** CD-ROM | disk | FTP | other *** search
- 5 REM CBTKEY.BAS (C) 1985 BY CHRISDOS
- 10 REM FUNCTION KEY FILE MAKER FOR
- 20 REM CBTERM/C64 (C) (TM) 1985 BY
- 30 REM CHRISDOS. ALL RIGHTS RESERVED.
- 95 DIM V$(60),V(60):GOSUB20008
- 99 PRINTCHR$(14)
- 100 PRINT"ô ╞UNCTION ╦EY ╞ILE ╨ROCESSOR"
- 110 PRINT" FOR ├┬TERM/├64 (C) (TM) 1985"
- 120 PRINT" BY ├HRISDOS."
- 130 RR$=CHR$(18):NV$=CHR$(146):RV$=NV$
- 140 FOR Z=1TO32:ZZ$=ZZ$+CHR$(0):NEXT
- 150 PRINT" 1 ═AKE A ╬┼╫ ╞UNCTION ╦EY ╞ILE."
- 160 PRINT" 2 ╠OAD AND ┼DIT AN ╧╠─ ╞ILE."
- 170 PRINT" 3 ╙AVE THE ╞UNCTION ╦EY ╞ILE."
- 180 PRINT" 4 ╠IST AND ┼DIT ╞UNCTION ╦EYS."
- 190 PRINT" 5 ┼╬─"
- 200 INPUT" ├HOICE";C
- 210 ON C GOSUB 1000,2000,3000,4000,5000
- 220 GOTO 100
- 300 REM GET FILE NAME
- 310 INPUT" ╞ILE ╬AME:";F$
- 320 RETURN
- 400 REM DISPLAY LINES
- 410 FOR L=1TO6
- 420 PRINT"╞ ╦EY"L;
- 430 FOR M=1TO31
- 440 A$=MID$(L$(L),M,1)
- 450 A=ASC(A$+CHR$(0))
- 460 GOSUB20010:PRINTRV$;A$;NV$;
- 470 NEXT M:PRINT:NEXT L
- 480 RETURN
- 500 REM INPUT A NEW LINE
- 510 L=0:INPUT"╫HAT ╞ ╦EY ╬UMBER. (0 TO END.)";L
- 520 IFL=0THEN RETURN
- 530 IF L<1 OR L>6 THEN 510
- 540 PRINT"┼NTER NEW LINE FOR ╞"L" (31 MAX)"
- 550 PRINT"╨RESS <├╥╙╥ ╥╔╟╚╘> WHEN FINISHED."
- 560 CC=0:AA$=""
- 570 GETA$:IFA$=""GOTO570
- 575 IFA$=CHR$(29)THEN610
- 580 AA$=AA$+A$:A=ASC(A$):GOSUB20010:PRINTRV$;A$;NV$;
- 590 CC=CC+1:IFCC=31THEN610
- 600 GOTO 570
- 610 L$(L)=LEFT$(AA$+ZZ$,32)
- 620 RETURN
- 1000 REM
- 1010 FOR H=1 TO 6
- 1020 L$(H)=ZZ$:NEXT
- 1030 GOTO 2020
- 2000 REM LOAD DISPLAY AND EDIT
- 2010 GOSUB 10000
- 2020 PRINT"ô":GOSUB 400
- 2030 PRINT"":GOSUB 500
- 2040 IFL=0THEN RETURN
- 2050 GOTO 2020
- 3000 GOTO 10100
- 4000 REM LIST AND EDIT
- 4010 GOTO 2020
- 5000 PRINT"┴RE YOU ╙URE?"
- 5010 INPUT X$:IFLEFT$(X$,1)<>"Y"THEN 100
- 5020 STOP
- 10000 REM OPEN FILE FOR INPUT
- 10010 GOSUB 300
- 10020 OPEN8,8,8,F$+",R,S"
- 10030 FOR L=1TO6:L$(L)=""
- 10040 FOR M=1TO32
- 10050 GET#8,A$:PRINTASC(A$+CHR$(0));
- 10060 L$(L)=L$(L)+A$
- 10070 NEXT M:NEXT L
- 10080 CLOSE 8
- 10090 RETURN
- 10100 REM WRITE FILE OUT
- 10110 GOSUB 300
- 10120 OPEN8,8,8,F$+",W,S"
- 10130 FOR L=1TO6
- 10140 PRINT#8,L$(L);
- 10150 NEXT L
- 10160 CLOSE 8
- 10170 RETURN
- 20000 DATA "┴",
- 20001 DATA "╔",162,"╩",181,"╦",161,"╠",182,"═",167,"╬",170,"╧",185,"╨",175
- 20002 DATA "╤",171,"╥",178,"╙",174,"╘",163,"╒",184,"╓",190,"╫",179,"╪",186
- 20003 DATA "┘",183,"┌",173,"1",129,"2",149,"3",150,"4",151,"5",152,"6",153
- 20004 DATA "7",154,"8",155,"9", 41,"$", 95
- 20005 DATA "<╞1>",133,"<╞2>",137,"<╞3>",134,"<╞4>",138,"<╞5>",136,"<╞6>",139
- 20006 DATA "<╞7>",136,"<╞8>",140,"+",166,"-",220,"@",164,"*",223,"^",222
- 20008 KC=49:FORX=1TOKC:READV$(X),V(X):NEXT:RETURN
- 20010 REM CHECK C= VALUE
- 20015 RV$=N
- 20016 IF A<32 THEN 20100
- 20017 IF(A>=32ANDA<=90)OR(A>=193ANDA<=218)THENRETURN
- 20020 FOR CK=1TOKC
- 20040 IF A=V(CK)THEN A$=V$(CK):CK=KC:R
- $=RR$
- 20050 NEXT CK
- 20060 RETURN
- 20100 RV$=RR$
- 20110 A$="^"+CHR$(A+64+128)
- 20120 RETURN
-