0 REM COPYRIGHT 1993 -COMPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 5 D=8:P=4:REM DEVICE AND PRINTER 10 W=60:H=20:REM NUMBER OF ENTRIES AND NUMBER OF LINES PER ENTRY 15 POKE650,128:POKE53265,0:POKE53281,6:POKE53280,6 20 IFPEEK(49152)<>76THENLOAD"DATA.ML",D,1 25 K=49152:DR=49155:IN=49158:AL=49161:EE=49164:CM=49167:BF=49170:LF=49173 30 J=H+1:DIMAR$(W+1,H+1),T$(12) 35 N$="":AR$(1,0)="":X=4:Y=5:T=1 40 FORA=1TO12:READT$(A):NEXT 45 POKE198,0:N$="":PRINT"[147][159]"CHR$(14)TAB(15)"[196]ATA[194]ASE" 50 PRINTTAB(4)"[176][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][174]" 55 FORA=1TO6:PRINTTAB(4)"[159][221][154]"T$(A)TAB(23)T$(A+6)TAB(35)"[159][221]":NEXT 60 PRINTTAB(4)"[159][173][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][189]":POKE53265,27:GOTO100 65 GETA$:IFA$=""THEN65 70 IFA$=CHR$(13)THENPOKE781,12:POKE782,0:POKE783,0:SYS65520:PRINT"[154]";:GOTO110 75 PRINTTAB(Y)"[154]"T$(T) 80 IFA$="[145]"ANDX>4THENX=X-1:T=T-1 85 IFA$=""ANDX<9THENX=X+1:T=T+1 90 IFA$="[157]"ANDY=23THENY=5:T=T-6 95 IFA$=""ANDY=5THENY=23:T=T+6 100 POKE781,X:POKE782,Y:POKE783,0:SYS65520:PRINTTAB(Y)""T$(T)"[145]":GOTO65 105 PRINT"[147]";:END 110 ONTGOTO125,175,565,210,620,650,730,760,590,635,160,105 115 GOTO65 120 REM LOAD FILE 125 NN$="":INPUT"FILENAME";NN$:IFNN$=""THEN45 130 SYSCM:OPEN1,D,15:OPEN8,D,8,NN$+",S,R":INPUT#1,A,B$,B,C:IFA<>0THEN710 135 FORA=1TOW+1:SYSIN:AR$(A,0)=A$:IFLEN(A$)=0THENCLOSE1:CLOSE8:GOTO45 140 FORB=1TOJ:SYSIN:AR$(A,B)=A$:IFLEN(A$)=0ANDST=0THENNEXTA:GOTO810 145 IFST=0THENNEXTB:NEXTA:GOTO810 150 AR$(A+1,0)="":CLOSE1:CLOSE8:GOTO45 155 REM CLEAR MEMORY 160 PRINT"ARE YOU SURE? Y/N":WAIT198,1:IFPEEK(631)=89THENRUN 165 GOTO45 170 REM RECALL 175 INPUT"NAME";N$:IFN$=""THEN45 180 IFRIGHT$(N$,1)="*"THENN$=LEFT$(N$,LEN(N$)-1) 185 FORA=1TOW:IFAR$(A,0)=""THENN$="":GOTO800 190 IFLEFT$(AR$(A,0),LEN(N$))<>N$THENNEXT:GOTO800 195 PRINT"[147]"AR$(A,0);:FORB=1TOH:IFB<25THENPRINTCHR$(13)AR$(A,B);:NEXT 200 GOTO215 205 REM CREATE ENTRY 210 PRINT"[147]";:FORA=1TOW:IFAR$(A,0)<>""THENNEXT:GOTO810:REM FIND END OF FILE 215 PRINT"";:B=0:SX=0 220 SYSK:GOSUB485 225 ONPEEK(2)GOTO235,510,265,285,310,325,335,350,400,285,445,465,470,510 230 REM LEFT 235 IFCX<>0THEN510 240 IFB=0THEN220 245 GOSUB485:SYSLF:AR$(A,B)=N$ 250 IFB=SXTHENSX=SX-1:B=B-1:GOSUB495:PRINTA$A$;:GOTO220 255 B=B-1:GOSUB500:PRINTA$A$;:GOTO220 260 REM UP 265 IFB=0THEN220 270 GOSUB485:SYSLF:AR$(A,B)=N$:IFB=SXTHENSX=SX-1:B=B-1:GOSUB495:PRINTA$;:GOTO220 275 B=B-1:GOSUB500:PRINTA$;:GOTO220 280 REM DOWN, SHIFTED RETURN 285 IFB=HTHEN220 290 SYSLF:AR$(A,B)=N$:GOSUB500 295 IFCY=24THENSX=SX+1:B=B+1:PRINTCHR$(13)AR$(A,B);:GOSUB500:GOTO220 300 B=B+1:GOSUB500:PRINTA$;:GOTO220 305 REM CLR/HOME (GO TO BOTTOM) 310 SYSLF:AR$(A,B)=N$:FORB=0TOJ:IFAR$(A,B+1)<>""THENNEXT 315 SX=B:GOSUB495:PRINT"";:GOTO220 320 REM HOME 325 SYSLF:AR$(A,B)=N$:B=0:SX=B:GOSUB495:PRINTA$;:GOTO220 330 REM INSERT 335 GOSUB485:SYSLF:AR$(A,B)=N$:GOSUB500:IFLEN(AR$(A,B))=39THEN220 340 GOTO515 345 REM DELETE 350 FL=1:IFCX<>0THEN510 355 IFB=0THEN220 360 IFB=SXTHENSX=SX-1:PRINT"";:GOSUB485:GOSUB495 365 SYSLF:AR$(A,B)=N$:IFLEN(AR$(A,B-1))=39THENAR$(A,B-1)=LEFT$(AR$(A,B-1),38) 370 A$=LEFT$(AR$(A,B),39-LEN(AR$(A,B-1))) 375 AR$(A,B)=RIGHT$(AR$(A,B),LEN(AR$(A,B))-LEN(A$)) 380 IFAR$(A,B)=""THENFORU=BTOH:AR$(A,U)=AR$(A,U+1):NEXT 385 B=B-1:CY=CY-1:GOSUB500:PRINTAR$(A,B);:GOSUB485:PRINTA$;:SYSLF:AR$(A,B)=N$ 390 GOSUB495:GOTO220 395 REM RETURN 400 IFB=HTHEN220 405 FL=1:IFAR$(A,H)<>""THEN290 410 IFCY=24THENSX=SX+1 415 GOSUB485:SYSLF:AR$(A,B)=N$ 420 FORU=HTOB+1STEP-1:AR$(A,U)=AR$(A,U-1):NEXT:REM INSERT 425 B=B+1:GOSUB500:SYSBF:AR$(A,B)=N$ 430 AR$(A,B-1)=LEFT$(AR$(A,B-1),LEN(AR$(A,B-1))-LEN(AR$(A,B))) 435 PRINT:GOSUB485:GOSUB495:GOTO220 440 REM F1 445 IFA=1THEN220 450 IFFL=0THEN545 455 FL=0:SYSLF:AR$(A,B)=N$:GOTO530 460 REM F3 AND F7 465 IFAR$(A+1,0)=""THEN220 470 IFFL=0THEN545 475 FL=0:SYSLF:AR$(A,B)=N$:GOTO530 480 REM SAVE CURSOR LOCATION 485 POKE783,1:SYS65520:CX=PEEK(782):CY=PEEK(781):RETURN 490 REM REDRAW SCREEN 495 POKE212,0:PRINT"[147]"AR$(A,SX); 496 FORU=SX+1TOSX+24:IFU<>JTHENPRINTCHR$(13)AR$(A,U);:NEXT 500 POKE783,0:POKE782,CX:POKE781,CY:SYS65520:RETURN 505 REM PRINT TO SCREEN 510 FL=1:IFCX=38ANDB=HTHENPRINTA$"[157]";:GOTO220 515 PRINTA$;:GOSUB485:IFCX=39THENSYSLF:AR$(A,B)=N$:PRINT:B=B+1 520 GOTO220 525 REM ALPHABETIZE IT 530 B=0:FORU=0TOH:IFAR$(A,U)=""THENNEXT:GOTO540 535 N$=AR$(A,U):AR$(A,U)="":AR$(A,B)=N$:B=B+1:NEXT 540 SYSAL 545 IFA$="[133]"ANDA<>1THENA=A-1:GOTO195 550 IFA$="[134]"ANDAR$(A+1,0)<>""THENA=A+1:GOTO195 555 GOTO45 560 REM LIST ENTRIES 565 FORA=1TOW:IFAR$(A,0)=""THEN815 570 PRINT:FORB=0TOH:IFAR$(A,B)<>""THENPRINTAR$(A,B):NEXTB 575 IFPEEK(203)<>64THEN575 580 NEXTA:GOTO810 585 REM ERASE ENTRY 590 INPUT"NAME";N$:IFN$=""THEN45 595 IFRIGHT$(N$,1)="*"THENN$=LEFT$(N$,LEN(N$)-1) 600 FORA=1TOW+1:IFAR$(A,0)=""THENN$="":GOTO800 605 IFLEFT$(AR$(A,0),LEN(N$))<>N$THENNEXT:GOTO800 610 AR$(A,0)="":SYSEE:GOTO45 615 REM DIRECTORY 620 POKE186,D:SYSDR:PRINT:GOTO815 625 IFB=0THEN810 630 REM SCRATCH FILE 635 INPUT"FILENAME";N$:IFN$=""THEN45 640 OPEN1,D,15,"S0:"+N$:CLOSE1:GOTO45 645 REM SAVE FILE 650 CLOSE1:CLOSE8:NN$="":POKE198,0:REM NO REPLACE 655 IFRIGHT$(NN$,1)="*"THENNN$="" 660 IFNN$=""THENINPUT"FILENAME";NN$:IFNN$=""THEN45 665 OPEN1,D,15:OPEN8,D,8,""+NN$+",S,W":INPUT#1,A,B$,B,C 670 IFA=63THENCLOSE8:PRINT"REPLACE "NN$"? Y/N":WAIT198,1:IFPEEK(631)<>89THEN650 675 IFA=63THENOPEN8,D,8,"@0:"+NN$+",S,W":INPUT#1,A,B$,B,C 680 IFA<>0THEN710 685 FORA=1TOW+1:PRINT#8,AR$(A,0):IFAR$(A,0)=""THENCLOSE1:CLOSE8:GOTO45 690 FORB=1TOJ:PRINT#8,AR$(A,B):IFAR$(A,B)<>""THENNEXTB 695 NEXTA 700 CLOSE1:CLOSE8:GOTO45 705 REM DRIVE STATUS 710 PRINTA;B$;B;C:CLOSE1:CLOSE8:GOTO815 715 REM QUIT 720 PRINT"[147]";:END 725 REM PRINT FILE 730 PRINT"PRESS RETURN TO CANCEL" 735 OPEN1,P,7:FORA=1TOW:IFAR$(A,0)=""THEN750 740 PRINT#1:FORB=0TOH:IFAR$(A,B)<>""THENPRINT#1,AR$(A,B):NEXTB 745 GETA$:IFA$<>CHR$(13)THENNEXTA 750 CLOSE1:GOTO815 755 REM PRINT ENTRY 760 INPUT"NAME";N$:IFN$=""THEN45 765 IFRIGHT$(N$,1)="*"THENN$=LEFT$(N$,LEN(N$)-1) 770 FORA=1TOW:IFAR$(A,0)=""THENN$="":GOTO800 775 IFLEFT$(AR$(A,0),LEN(N$))<>N$THENNEXTA:GOTO800 780 PRINT"PRESS RETURN TO CANCEL" 785 OPEN1,P,7:PRINT#1:FORB=0TOH:IFAR$(A,B)<>""THENPRINT#1,AR$(A,B) 790 GETA$:IFA$<>CHR$(13)THENNEXT 795 CLOSE1:GOTO815 800 PRINT"NOT FOUND, ":GOTO815 805 CLOSE1:CLOSE8:PRINT"FILE NOT COMPATIBLE, ":AR$(1,0)="":NN$="":GOTO815 810 PRINT"FULL FILE, "; 815 POKE198,0:PRINT"PRESS ANY KEY":WAIT198,1:GOTO45 820 DATA LOAD FILE,RECALL ENTRY,LIST FILE,CREATE ENTRY,DIRECTORY,SAVE FILE 825 DATA PRINT FILE,PRINT ENTRY,ERASE ENTRY,SCRATCH FILE,CLEAR MEMORY,QUIT