home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Software
/
THE-RECIPE-PLACE
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
12KB
|
362 lines
30 PRINT"[147]"
40 PRINTCHR$(14)
50 PRINT" (C) 1989 [204]AMBERT [203]LEIN
60 [153]" RELEASE TO THE PUBLIC DOMAIN
70 PRINT" NOT TO BE SOLD FOR PROFIT
80 [134]RC$(100),P$(100)
90 [134]G$(100),AM$(100)
100 SA[178]32768
110 EL$[178][199](27)[170][199](14):UL$[178][199](27)[170][199](45)[170][199](1)
120 RL$[178][199](27)[170][199](87)[170][199](0) :UO$[178][199](27)[170][199](45)[170][199](0)
130 [159]15,8,15
140 PI$[178]" CMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMDCMD"
150 [129]T[178]1[164]100:P$(T)[178]"":[130]
160 MG$[178]" LOAD"
170 [129]T[178]1[164]1500:[130]
180 [158]12999
190 RV$[178]"PRINT":H$[178]""
200 [151]53280,0:[151]53281,0
210 [153]"LOAD
220 PRINT"[154]";:POKE10681+1,40
230 PRINTTAB(11)"[182][166] [146][166][165]"
240 PRINTTAB(11)"[182][166] [210][197][195][201][208][197] [211][193][214][197][210] [146][166][165]"
250 PRINTTAB(11)"[182][166] [146][166][165]"
260 PRINT"[154]";
270 FORX=1TO40:PRINT"[164]";:NEXT:
280 PRINT" [146]"SPC(10)"[161][166] [205][197][206][213] [146][166][161][154]"SPC(10); " [146]";
290 PRINT"[154]";: FORX=1TO40:PRINT"[163]";:NEXT:
300 PRINT""
310 PRINTSPC(12+OV)"[154]";
320 FORX=1TO16:PRINT"[164]";:NEXT:PRINT:PRINTSPC(12+OV)"[165] [182]"
330 PRINTSPC(12+OV)"[165] [197][146]NTER[154] [182]":PRINTSPC(12+OV)"[165] [214][146]IEW[154] [182]"
340 PRINTSPC(12+OV)"[165] [208][146]RINT[154] [182]"
350 PRINTSPC(12+OV)"[165] [204][146]OAD[154] [182]":PRINTSPC(12+OV)"[165] [211][146]AVE[154] [182]":
360 PRINTSPC(12+OV)"[165] ^[146][197]DIT [154] [182]":PRINTSPC(12+OV)"[165] [209][146]UIT [182]":
370 PRINTSPC(12+OV);
380 PRINT"[165] [182]" :PRINTSPC(12+OV);:FORX=1TO16:PRINT"[163]";:NEXT
390 OV=0
400 R=LEN(RN$)
410 IF LEFT$(RN$,2)=".R"THENRN$=RIGHT$(RN$,R-2):R=LEN(RN$)
420 IF LEFT$(RN$,4)="@:.R"THENRN$=RIGHT$(RN$,R-4):R=LEN(RN$)
430 IFLI=0THENLI=FL+7
440 GETA$:IFA$=""THEN440
450 LE=PEEK(11096)+PEEK(11096+1)*256
460 IFA$="E"THEN600:
470 IFA$="[197]"THEN600:
480 IFA$="V"THEN1000
490 IFA$="[214]"THEN1000
500 IFA$="P"THEN1320
510 IFA$="[208]"THEN1320
520 IFA$="L"THEN1630
530 IFA$="[204]"THEN1630
540 IFA$="S"THEN2230
550 IFA$="[211]"THEN2230
560 IFA$="^"THEN2900
570 IFA$="Q"THENPRINT"[147]":CLOSE15: STOP
580 IFA$="[209]"THENPRINT"[147]":CLOSE15: STOP
590 GOTO440
600 PRINT"[147]":X2=32:RN$="":Y2=7:X1=3:Y1=4
610 POKE10926+1,35:POKE646,6
620 GOSUB3460
630 POKE10926+1,32
640 LI=0
650 X2=28:Y2=3:X1=5:Y1=6:GOSUB3460
660 PRINTTAB(X1+2);
670 PRINT"[210][197][195][201][208][197] [206][193][205][197]: [154]":PRINTTAB(X1+1);
680 GOSUB3520:RN$=A$
690 IFRN$=""THEN220:
700 RR$=RN$
710 X2=37:Y2=20:X1=0:Y1=1 :GOSUB3460
720 PRINT"[150]"TAB(X1+1)"[204]IST [201]NGREDIENTS 'E' TO [197]ND [154]":X=1
730 PRINT:PRINT
740 PRINTTAB(X1+2);
750 PRINT"[201]NGREDIENT[146] [159]";:GOSUB3520:G$(X)=A$:A$="":IFG$(X)="E"THEN840
760 IFG$(X)="[197]"THEN840
770 PRINTTAB(X1+2);
780 PRINT"[155][193]MOUNT[146] [154]";:GOSUB3520:AM$(X)=A$:A$="":
790 L1=LEN(G$(X)): IFL1>LITHENLI=L1:FL=LI
800 X=X+1:
810 IFX<>9THEN740
820 PRINT"[147]": X2=37:Y2=20:X1=0:Y1=1 :GOSUB3460
830 GOTO740
840 IFX=1THENN=0:GOTO 220
850 X2=26:Y2=14:X1=7:Y1=3:GOSUB3460
860 PRINT""TAB(X1+2)" MIXING INGREDIENTS...[158]"
870 N=X-1 :FORX=1TON:
880 IFLEN(G$(X)) <LI THENG$(X)=CHR$(160)+G$(X) :GOTO880:
890 NEXT: FORX=1TON::G$(X)=G$(X)+" "+AM$(X):
900 L1=LEN(G$(X)): IFL1>LITHENLI=L1
910 NEXT
920 GOSUB2610:
930 X1=10:Y1=16:X2=10:Y2=1
940 GOSUB3460:PRINTTAB(X1+1);
950 :GOSUB3340: PRINT"[158]SAVE ([154]Y/N[158])[154]";:
960 GETA$:IFA$=""THEN960
970 IFA$="Y"THEN2230
980 IFA$="[217]"THEN2230
990 PRINT"[147]":GOTO310
1000 PRINT"": :N2=0:SC=0
1010 IFN<>0THEN1040
1020 X1=9 :Y1=15:X2=17:Y2=3 :POKE646,6 :GOSUB3460
1030 PRINT""TAB(X1+1)"[206]OTHING TO [214]IEW :":POKE10681+1,15: GOSUB3340:GOTO220
1040 PRINT"[147]":X2=36:Y2=21:X1=0:Y1=0 :GOSUB3460
1050 FR$=""
1060 FORRR=1TOLEN(RR$)+6:FR$=FR$+"[164]":NEXT
1070 FS=(19-(LEN(FR$)/2)):IF FS<1THENFS=1
1080 PRINT"[155]"SPC(FS);FR$:
1090 PRINTSPC(FS)"[181] [158]"RR$"[155] [182]"
1100 PRINT""; SPC(FS)FR$:PRINT"[154]
1110 :[129]X[178]1[164]N:[153][163]3)[166]SC)G$(X):N2[178]N2[170]1:[139]N2[178]14[167][141]1260:
1120 [130]
1130 [151]646,14
1140 X1[178]1:Y1[178]19:X2[178]34:Y2[178]2:[141]3460
1150 [153][163]X1[170]1)"(null)EMPERTUREWAITCONT "TP$:[153][163]X1[170]1)"PRINT(null)IMEWAIT CONT ";TM$:
1160 [153]"CONT (null)RESS A (null)EY: WAIT"
1170 [161]A$:[139]A$[178]""[167]1170
1180 [153]"LOADCONT"
1190 B[178]SA:LB[178][194](11096):HB[178][194](11096[170]1)
1200 LE[178]LB[170]HB[172]256:[151]11383,40
1210 [158]11164
1220 [153]:[153][163]X1[170]2)" (null)RESS A KEY (null)ETURN TO RE-VIEW "
1230 [161]A$:[139]A$[178]""[167]1230
1240 [139]A$[178][199](13)[167]1000
1250 [153]"LOAD":[137]220
1260 [139]LI[179]17[167]1310
1270 [153]:[153][163]3)" (null)ORE RIGHT$NGREDIENTS TO LIST "
1280 [153][163]3)"SYS (null)RESS A KEY TO CONTINUE: "
1290 [161]A$:[139]A$[178]""[167]1290
1300 [158]10763:[153]"":[142]
1310 SC[178]20:[153]"":[142]
1320 [139]N[179][177]0[167]1370
1330 [153]"
1340 X1=8:Y1=15:X2=18:Y2=3:GOSUB3460:PRINT""TAB(X1+1)"[206]OTHING TO [208]RINT: "
1350 POKE10681+1,15:GOSUB3340:
1360 GOTO220
1370 OPEN4,4,7:PRINT#4:X=1
1380 PRINT#4,SPC(39-LEN(RR$));
1390 PRINT#4,EL$;UL$;RR$;UO$;RL$:PRINT#4
1400 NZ=N: IFN/2<>INT(N/2)THENNZ=NZ-1
1410 W=80 :POKE11383,W
1420 LG=(3+LI)
1430 IFLG=>40THEN1500
1440 TB=INT((40-LG)/2):IFTB<1THENTB=1
1450 FORX=1TONZ STEP2
1460 :SP=40-LEN(G$(X))-TB:IFSP<0THENSP=0
1470 PRINT#4,SPC(TB);G$(X);SPC(SP);G$(X+1)
1480 NEXT:IFN<>NZ ANDN<>1 THENPRINT#4,SPC(TB);G$(N)
1490 GOTO1540
1500 TB=(80-LG)/2:TB=INT(TB):IFTB<1THENTB=0
1510 FORX=1TON
1520 PRINT#4,SPC(TB);G$(X)
1530 NEXT
1540 :PRINT#4:PRINT#4
1550 PRINT#4,"[212]EMPERTURE "TP$:PRINT#4,"[212]IME "TM$:PRINT#4
1560 PRINT#4,UL$"[195][207][205][205][197][206][212][211]:";UO$:PRINT#4
1570 SYS11164
1580 PRINT#4
1590 CLOSE4
1610 :GOSUB3340
1620 PRINT"[147]":GOTO220
1630 PRINT"[147]":X1=21:X2=14:Y1=1:Y2=5 :POKE646,5:GOSUB3470
1640 P$(1)=RV$
1650 PRINT
1660 PRINTTAB(X1+2)"CURSOR/RETURN"
1670 PRINTTAB(X1+2)"TO"MG$" FILE"
1680 PRINTTAB(X1+2)"\ FOR MENU"
1690 SYS10472
1700 POKE646,06:X1=10:X2=17:Y1=02:Y2=1
1710 E=PEEK(254)
1720 GOSUB2800:IFC<>0THEN NT$="NOT":GOTO300
1730 PRINT"[155]";
1740 IFE<>0THEN1790
1750 X1=28:X2=09:Y1=0:Y2=7:GOSUB3470
1760 PRINT:PRINT
1770 PRINTTAB(X1+1)" NO '[210]' ":PRINTTAB(X1+1)"FILES ON":PRINTTAB(X1+1)" DISK "
1780 NT$="NOT":GOTO300
1790 X1=1:X2=18:Y1=1:Y2=E+2:POKE646,6:IFY2>20THENY2=20
1800 LG=0:BG=0:A=1
1810 IFE>19THENLG=E-19
1820 GOSUB3470
1830 P$(A+BG)=RV$
1840 ED=E-LG+BG:IFED>ETHENED=E
1850 PRINTH$: FORT=1+BGTOED
1860 PRINTTAB(X1+2);P$(T);RIGHT$(RC$(T),LEN(RC$(T))-2)""
1870 NEXT
1880 GETA$:IFA$=""THEN1880
1890 IFA$=CHR$(13)THEN2000
1900 P$(II+BG)="":P$(1+BG)=""
1910 IFA$="\"THEN200
1920 IFA$=CHR$(17)THENA=A+1: IFA=20THENBG=19:A=1:GOSUB3470
1930 IFA$=CHR$(17)THEN IFA>ETHENA=1:BG=0:GOTO1820
1940 IFA$=CHR$(145)THENA=A-1:IFA<1THENIFBG=19 THEN BG=0:A=19:GOSUB3470
1950 IFA<1ANDE>19THENBG=19:A=1:GOSUB3470
1960 IFA+BG>ETHEN1800
1970 IFA<1THENA=E:GOSUB3470
1980 P$(A+BG)=RV$:II=A
1990 GOTO1840
2000 RN$=RC$(A+BG):P$(A+BG)=""
2010 DF$=MID$(RN$,3)
2020 CC$="C."+DF$
2030 OPEN2,8,2,RN$+",S,R":C=0
2040 GOSUB2800
2050 IFC=1THENCLOSE2: :GOTO310
2060 X=1
2070 INPUT#2,FL:INPUT#2,LI:
2080 INPUT#2,RR$
2090 INPUT#2,G$(X):
2100 IFST AND 64 THEN 2120
2110 X=X+1:GOTO2090
2120 N=X-2: CLOSE2:
2130 TP$=G$(N+1):TM$=G$(N+2):
2140 OPEN1,8,2,CC$
2150 SYS12999
2160 SYS11100
2170 CLOSE1
2180 GOSUB2800
2190 IFZ=5 THEN2220
2200 PRINTTAB(X1+1)" [196]ONE [154]" :GOSUB3340
2210 GOTO310
2220 PRINTTAB(X1+1)"[206]O [195]OMMENTS!":GOTO310
2230 REM
2240 IFN<>0THEN2280
2250 PRINT"
2260 X1[178]9 :Y1[178]15:X2[178]17:Y2[178]3 :[141]3460:[153]""[163]X1[170]1);
2270 :[153]"(null)OTHING TO (null)AVE :":[151]10681[170]1,10 :[141]3340:[137]220
2280 [139]RN$[178]""[167]RN$[178]RR$
2290 [139][200](RN$,2)[178]"R."[167]RN$[178][201](RN$,[195](RN$)[171]2)
2300 [139][200](RN$,4)[178]"@:R."[167]RN$[178][201](RN$,[195](RN$)[171]4)
2310 :R[178][195](RN$)
2320 [153]"LOAD"
2330 X1[178]18:X2[178]5:Y1[178]2:Y2[178]1:[151]646,10:[141]3470
2340 [153][163]X1[170]1)"SAVE:"
2350 [153]""
2360 [153]" "RN$;:[129]RV[178]1[164]R[170]2 :[153]"CMD";:[130]:[133]RN$
2370 CC$[178]"C."[170]RN$
2380 RN$[178]"R."[170]RN$:RN$[178][200](RN$,16)
2390 [159]3,8,3,RN$[170]",S,W"
2400 Z[178]0:C[178]0
2410 [141]2800
2420 [139]Z[178]1[167][160]3:[137]3360
2430 [139]C[178]1[167][160]3:[137] 310
2440 [152]3,FL:[152]3,LI:
2450 [152]3,RR$
2460 [129]X[178]1[164]N
2470 [152]3,G$(X)
2480 [130]
2490 [139]RR$[178]""[167]RR$ [178][201](RN$,[195](RN$)[171]2)
2500 [152]3,TP$:[152]3,TM$:
2510 [160]3:[153]"LOAD ..."
2520 [159]1,8,2,CC$[170]",S,W"
2530 [158]11024
2540 [160]1
2550 [141]3340
2560 [137]220
2570 [143]
2580 [141]2800
2590 [153]""
2600 [137]310
2610 [153]:[153][163]X1[170]1)"(null)EMPERTURECONT";:[141]3520:TP$[178]A$:[139]TP$[178]""[167]TP$[178]"TOTOTOTO"
2620 [153]: [153][163]X1[170]1)"OPEN(null)IMECONT";:[141]3520:TM$[178]A$:[139]TM$[178]""[167]TM$[178]"TOTOTOTO"
2630 X1[178]0:Y1[178]0:X2[178]36:Y2[178]17:[141]3460
2640 [153]"LOAD"
2650 [153][163]X[170]1);" LEN(null)(null)(null)VAL(null)(null)(null) ";
2660 [153]" SYS\ TO VALND."
2670 B[178]SA:
2680 [139]B[179]SA[167]B[178]SA
2690 [158]10969:[161]A$:A[178][198](A$[170][199](0))
2700 [151]212,0: [158]10969:[139]A$[178]"\"[167]2780
2710 [139]A[178]20[167] B[178]B[171]1:[153]A$;:[137]2680
2720 [139](A[179]32[175]A[179][177]13)[176] A[177]218[167]2690
2730 [139]A[177]95 [175] A[179]192[167]2690
2740 [151]B,[198](A$[170][199](0)):B[178]B[170]1
2750 [153]A$;:[151]212,0
2760 [137]2690
2780 LE[178]B[171]SA:LB[178]LE[171][181](LE[173]256)[172]256:HB[178][181](LE[173]256):[151]11096,LB:[151]11096[170]1,HB
2790 [142]
2800 [132]15,DS,DS$,A,B:
2810 [139]DS[178][179]1[167]2890:
2820 [141]3340
2830 X1[178]5:X2[178][195](DS$)[170]2:Y1[178]11:Y2[178]3:[151]646,7:[141]3460
2840 [153][163]X1[170]1);
2850 [153]"DEF";DS$"CONT" :C[178]1:[151]10681[170]1,15:[141]3340
2860 [139]DS[178]63[167]Z[178]1 :[142]
2870 [139]DS[178]62[167]Z[178]5 :[142]
2880 Z[178]0:[142]
2890 C[178]0:[142]
2900 [139]N[179][177]0[167]2950
2910 [153]"
2920 X1=8 :Y1=15:X2=18:Y2=3 :PRINT"":GOSUB3460:PRINT"[154]";
2930 PRINT""TAB(X1+1)"[206]OTHING TO [197]DIT:":POKE10681+1,12:GOSUB3340:
2940 GOTO220
2950 PRINT"[147]":IFFL=0THENFL=LI-7
2960 PRINT"[153] [197][196][201][212]: "
2970 PRINT"[184][184][184][184][184][184][184][154]"
2975 X1=1:X2=5:Y1=4:Y2=1:GOSUB3470:PRINTTAB(X1+1)"[154][206]AME:"
2980 POKE19,32
2990 PRINT""RR$:PRINT"";:INPUTRR$:POKE19,0
2995 X1=1:X2=12:Y1=9:Y2=1:GOSUB3470:PRINTTAB(X1+1)"[155][201]NGREDIANTS:"
2997 POKE19,32
3000 FORX=1TON
3010 PRINTPI$"[154]"G$(X):PRINT"[145]";
3020 INPUT"";G$(X)
3030 NEXT
3040 POKE19,0
3050 X1=5:X2=28:Y1=11:Y2=1:GOSUB3470:PRINTTAB(X1+1);
3060 PRINT"[153] ADD MORE INGREDIENTS?: Y/N "
3070 GETA$:IFA$=""THEN3070
3080 IFA$="Y"THEN3110:
3090 IFA$="[217]"THEN3110:
3100 GOTO3200
3110 GOSUB3470:PRINTTAB(X1+10)
3120 PRINT"[150] 'E' TO [197]ND" :X=N
3130 PRINT:PRINT
3140 C$="":X=X+1:N=N+1 :INPUT"[159][201]NGREDIENT";G$:IFG$="E"THENN=N-1:GOTO3200
3150 INPUT"[193]MOUNT";AM$
3160 L1=LEN(G$):IFL1>FLTHENFL=L1
3170 FORC=1TO FL-LEN(G$) :C$=C$+CHR$(160):NEXT :G$(X)=C$+G$+" "+AM$:
3180 L1=LEN(G$):IFL1>LITHENLI=L1
3190 GOTO3140
3200 : PRINT"[147][212]EMP ":PRINT"[153] ";TP$:INPUT"";TP$
3210 PRINT"[147][212]IME ":PRINT" "TM$:INPUT"";TM$
3220 PRINT"[147]"
3290 POKE646,15
3320 SYS11390
3330 PRINT"[147]": GOTO220
3340 SYS10658
3350 RETURN
3360 X1=11:Y1=17:X2=16:Y2=3:GOSUB3460:PRINT:PRINTTAB(X1+2);
3370 PRINT" [210]EPLACE? [146] Y/N"
3380 :GETA$:IFA$=""THEN3380
3390 IFA$="Y"THEN3420
3400 IFA$="[217]"THEN3420
3410 PRINT"[147]":GOTO220
3420 GOSUB3460:PRINT:PRINTTAB(X1+1)" [211]AVING... "
3430 IFLEFT$(RN$,1)<>"@"THEN RN$="@:"+RN$:
3440 IFLEFT$(CC$,1)<>"@"THEN CC$="@:"+CC$:
3450 GOTO2390
3460 REM WINDOW
3470 IFY1<0THENY1=0
3480 IFY2 <0THENY2 =0
3490 POKE10965,X1:POKE10967,X2:POKE10966,Y1:POKE10968,Y2
3500 SYS10763
3510 RETURN
3520 POKE198,0:A$="":IFQ$=CHR$(13)THEN L2=0
3530 L=0
3540 SYS10969
3550 GETQ$:IFQ$=""THEN3540
3560 IFQ$="\"THENRETURN
3570 IFQ$=CHR$(13)THENPRINT:PRINTTAB(X1+1);:L2=0 :RETURN
3580 Q=ASC(Q$+CHR$(0))
3590 IFL=0THENIFQ=20THEN3550
3600 IFL2>(X2-2) THENPRINT:PRINTTAB(X1+1);:L2=0
3610 IFL=>80 THEN :RETURN
3620 IFQ =20 THENA$=LEFT$(A$,L-1):PRINT" [157][157]";:SYS10969:L=L-1:L2=L2-1
3630 IFQ <32THEN3550
3640 IFQ>219THEN3550
3650 IFQ<193THENIFQ>95THEN 3550
3660 A$=A$+Q$:L=LEN(A$):L2=L2+1
3670 POKE212,0
3680 PRINTQ$;:POKE212,0:SYS10969
3690 GOTO3550
3700 RETURN