10 REM C-POWER LIBRARY EDITOR 20 REM 30 REM BY ERIC GIGUERE 40 REM 50 POKE 53280, 14: POKE 53281, 1 60 MAX = 200: DIM FC$( MAX ), FL$( MAX ) 70 NU$=CHR$( 0 ) 80 OPEN 15,8,15 100 PRINT CHR$(14)"[147][195] [204]IBRARY [205]AINTENANCE -- BY [197]RIC [199]IGUERE"; 110 PRINT "[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 120 PRINT " [144][[193]]DD A FUNCTION" 130 PRINT " [[196]]ELETE A FUNCTION" 140 PRINT " [[204]]OAD A LIBRARY" 150 PRINT " [[211]]AVE THE LIBRARY" 160 PRINT " [[209]]UIT" 170 PRINT " [[214]]IEW THE LIBRARY" 180 PRINT " [208]LEASE SELECT: ";: GOSUB 1000: PRINT C$: IF C$="Q" THEN END 190 IF C$<>"L" THEN 350 200 PRINT "[147] [204]IBRARY NAME: ";: GOSUB 1010 210 LIB$=LEFT$( IN$, 12 )+".L": N=0: A$="" 220 OPEN 2,8,5, "0:"+LIB$+",S,R" 230 GOSUB 1500: IF E THEN 1550 240 PRINT " LOADING ";LIB$;"..." 250 GET#2,B$: IF B$<>"" AND ST=0 THEN A$=A$+B$: GOTO 250 260 IF ST<>0 THEN 300 270 N=N+1: FC$( N )=A$: A$="" 280 GET#2,B$: IF B$<>"" AND ST=0 THEN A$=A$+B$: GOTO 280 290 FL$( N )=A$: A$="": IF ST=0 THEN 250 300 CLOSE 2: GOTO 100 350 IF C$<>"S" THEN 450 360 IF N=0 THEN 100 370 PRINT "[147] [193]RE YOU SURE? (Y/N) ";: GOSUB 1000: IF C$<>"Y" THEN 100 380 PRINT C$: PRINT " [211]AVING ";LIB$;"..." 390 PRINT#15,"S0:"+LIB$ 400 OPEN 2,8,5,"0:"+LIB$+",S,W": GOSUB 1500: IF E THEN 1550 410 FOR I=1 TO N 420 PRINT#2,FC$( I );NU$;FL$( I );NU$; 430 NEXT: CLOSE 2: GOTO 100 450 IF C$<>"V" THEN 550 460 IF N=0 THEN 100 470 PRINT "[147] [198]UNCTION [198]ILENAME" 480 PRINT " [184][184][184][184][184][184][184][184] [184][184][184][184][184][184][184][184]" 490 FOR I=1 TO N 500 PRINT " ";FC$( I );TAB( 17 );FL$( I ) 510 WAIT 197,64: NEXT 520 PRINT " [208]RESS A KEY... ";: GOSUB 1000: GOTO 100 550 IF C$<>"A" THEN 650 560 IF N=0 THEN 100 570 PRINT "[147] [193]DD A FUNCTION" 580 PRINT " [198]UNCTION NAME: ";: GOSUB 1010 590 N=N+1: FC$(N)=LEFT$( IN$, 8 ) 600 PRINT " [198]ILENAME: ";: GOSUB 1010 610 FL$( N )=LEFT$( IN$, 12 )+".OBJ" 620 GOTO 100 650 IF C$<>"D" THEN 100 655 IF N=0 THEN 100 660 PRINT "[147] [196]ELETE A FUNCTION" 670 PRINT " [198]UNCTION NAME: ";: GOSUB 1010 680 FC$=LEFT$( IN$, 8 ): J=0 690 FOR I=1 TO N: IF FC$=FC$( I ) THEN J=I: I=N+1 700 NEXT: IF J=0 THEN 100 710 IF J=N THEN N=N-1: GOTO 100 720 FOR I=J+1 TO N: FC$( I-1 )=FC$( I ): FL$(I-1)=FL$( I ): NEXT: N=N-1 730 GOTO 100 999 END 1000 POKE 198,0: POKE 204, 0: WAIT 197,64,64: GET C$: POKE 204, 1: RETURN 1010 OPEN 1,0: INPUT#1, IN$: CLOSE1: PRINT: RETURN 1500 INPUT#15,E,E$: IF E<20 THEN E=0 1510 RETURN 1550 PRINT "[147] [196]ISK ERROR -- #";E 1560 PRINT " ";E$ 1570 CLOSE 2: CLOSE 15: END