300 REM ******************************* 400 REM * * 500 REM * WRITTEN BY M.D. SMITH * 600 REM * 1000 MONTE SANO BLVD.,S.E. * 700 REM * HUNTSVILLE, AL 35801 * 800 REM * VERSION 8.802 2/14/88 * 900 REM * (205) 533-3131 * 1000 REM******************************* 1100 POKE53280,15:POKE 53265,11:POKE53281,15:REM SCREEN 1150 PRINT"[147]" 1200 DATE$="06-01-88" 1400 PRINT"[147]"SPC(9)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 1500 FOR X=1TO10 1600 PRINTSPC(9)"[221]"SPC(20)"[221]" 1700 NEXT 1800 PRINTSPC(9)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 1900 PRINT"[145][145][145][145][145][145][145][145][145]"SPC(14)" [213]P[212]IME ":PRINT 2000 PRINTSPC(16)"[208]RESENTS":PRINT 2100 PRINTSPC(11)"[149][195]ALORIE [195]ALCULATOR":PRINT 2200 PRINTSPC(13)"[144]BY [205]. [196]. [211]MITH" 2300 PRINT:PRINT:PRINT 2400 FOR Y=1TO5 2500 PRINTSPC(7); 2600 FOR X=2TO15 2700 POKE 646,X 2800 PRINT" "; 2900 NEXT X:PRINT 3000 NEXT Y 3100 PRINTSPC(8)"[145][145][145][145][144] [203]EEP [195]OUNT OF [195]ALORIES " 3200 PRINTSPC(8)"[144] [204]OADING [196]ATA " 3300 PRINTSPC(8)"[144] [207]NE MOMENT, PLEASE " 3400 PRINT:PRINT" [208]UBLISHED BY [211]OFTDISK [208]UBLISHING, [201]NC." 3410 DIMCT$(50),FT$(50),CT(500),UN(99) 3420 DIMFO$(200),CAL$(200),CAL(200) 3430 DIMF$(200),U(200),MI(99),ML$(99) 3440 ME2$="BREAKFAST":ML=1:POKE53280,6:POKE 53265,27 3500 GOSUB 9400:PRINTTAB(13)"[145][145][145][145][145] " 3550 PRINTTAB(11)" [146]" 3600 GOSUB 28700:POKE 53280,0:POKE 53281,0:POKE 646,7 3700 REM ======================== MAIN MENU SCREEN ======================== 3800 REM PRINT CHR$(14) 3900 PRINT"[147][176][192][192][192][192][192][192][192][192][192] [195]ALORIE [195]ALCULATOR [192][192][192][192][192][192][192][192][192][174]"; 4000 FOR P=1 TO 22 4100 PRINT "[221][157][157][221]"; 4200 NEXT P 4300 PRINT "[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][192][192][192][192][192][192][192][192][189]"; 4400 PRINT "[158]":REM CURSOR UPS 4500 REM ======================== PRINTER HARDCOPY ======================= 4600 POKE 53280,0:POKE 53281,0:POKE 646,7 4700 REM 4800 REM 4900 CD=1:REM SET COUNTER FOR MEAL INCREMENTER 5300 ME2$="BREAKFAST":ML=1 5500 REM ********** VERSION OF FEB. 14, 1988 ********* 5600 REM 3 INST. SCREENS 5700 PRINT TAB(4)"[196]O YOU WANT [201]NSTRUCTIONS ([217]/[206])" 5900 GETIS$:IFIS$=""THEN5900 6000 IFIS$="[206]" ORIS$="N"THEN10400 6100 IF IS$<>"Y" AND IS$<>"[217]" THEN 5900 6400 PRINT"[147][212]HIS PROGRAM WILL ALLOW YOU TO INPUT A" 6500 PRINT"DAYS FOODS AND CALCULATE THE TOTAL " 6600 PRINT"CALORIES CONSUMED. [217]OU CAN DO IT FOR" 6700 PRINT"ANY NUMBER OF MEALS." 6800 PRINT"[212]HE SCREEN THAT YOU WILL SEE WILL 6900 [153]"ASK YOU TO INPUT THE DATE AND WHICH" 7000 [153]"MEAL OR SNACK YOU WANT THIS CALLED." 7100 [153]"(null)HEN PROMPTED FOR DATE AND MEAL," 7200 [153]"PRESSING <(null)VAL(null)(null)(null)(null)> ALONE, WILL PRINT" 7300 [153]"PROGRAM DATE AND ";[199](34);"BREAKFAST.";[199](34)"" 7400 [141]28700 7500 [153]"LOAD(null)OU WILL NEED TO TYPE THE NAME OF THE" 7600 [153]"FOOD (SPELLED CORRECTLY)...AND WAIT FOR" 7700 [153]"THE PROGRAM TO FIND IT IN MEMORY. RIGHT$F IT" 7800 [153]"DOES, IT WILL THEN ASK YOU TO INPUT THE" 7900 [153]"AMOUNT YOU HAVE EATEN, IN UNITS (LIQUID" 8000 [153]"OR WEIGHT). RIGHT$F THE FOOD IS NOT FOUND," 8100 [153]"OR IT IS MISSPELLED, YOU SHOULD ENTER " 8200 [153]"";[199](34);"S";[199](34);" TO SEARCH THE FOOD DATABASE" 8300 [153]"TO GET THE CORRECT SPELLING OR LISTING." 8400 [141]28700 8500 [153]"LOAD(null)OU MUST BURN 3500 CALORIES MORE THAN" 8600 [153]"YOU EAT TO LOSE A POUND. (null)HE AVERAGE" 8700 [153]"PERSON WILL BE STABLE ON ABOUT 2100-" 8800 [153]"2300 CALORIES A DAY. RIGHT$F YOU EAT 1200 " 8900 [153]"CALORIES A DAY, YOU SHOULD LOSE ABOUT" 9000 [153]"TWO POUNDS A WEEK. ASCOR SHOPPING, PRINT" 9100 [153]"OUT THE ENTIRE LIST OF FOODS AS A" 9200 [153]"GUIDE TO TAKE WITH YOU." 9300 [141]28700 9350 [137] 10400 9400 [143] ==== LOAD FILE OF DATA ==== 9410 X[178]1:[159] 15,8,15,"I0" 9420 [141] 9500:[139] FL[178]1 [167] 9400 9440 [159] 2,8,2,"0:CALCALC.DTA" 9450 [141] 9500:[139] FL[178]1 [167] 9400 9460 [132]2,FO$(X),CAL$(X),CAL(X) 9470 X[178]X[170]1 9480 [139](ST [175] 64)[178]0[167]9460 9490 [160]2:[160] 15:ET[178]X:[142] 9500 [161]#15,A$:[139] A$[178]"0" [167] FL[178]0:[142] 9505 FL[178]1:[151] 53281,0 9510 FL[178]1:[153]"LOADDEF STR$ISK VALRROR: SYS"A$; 9520 [161]#15,A$:[153]A$; 9530 [139] A$[179][177][199](13) [167] 9520 9535 [160] 2:[160] 15 9540 [153][163]6)"DEF(OPEN(null)DEF)ETRY OR (OPEN(null)DEF)UIT TO (null)P(null)IME?STOP" 9550 [161] A$:[139] A$[178]"R" [167] [153]"LOAD";:[142] 9560 [139] A$[178]"Q" [167] 9600 9570 [137] 9550 9600 [151]204,1:[158] 8[172]4096[170]4 10400 [153]"LOAD=======================================SYS" 10410 [153]"======== LENALLENALC RIGHT$NPUT (null)CREEN =========SYS" 10412 [153]"=======================================SYS" 10500 [153] [166]2);"(null)HAT DATE DO YOU WANT TO USE" 10600 [153] [166]2);"FOR YOUR ENTRY ((null)(null)-STR$STR$-(null)(null)) "; 10650 RX[178]1:MX[178]8:[141] 32000 10700 DL$[178]O1$ 10710 [153] 10800 [139]DL$[178]""[167]DL$[178]DATE$:[137]10900 10900 [153]:[153]" (null)HE DATE FOR THIS" 11000 [153]" ENTRY IS....";DL$;"SYS" 11100 S2[178]0 11200 [153]:[153] 11300 [153]"(null)HAT MEAL IS THIS (OR SNACK)" 11400 [153]"(DEFAULT IS BREAKFAST) "; 11450 RX[178]2:MX[178]16:[141] 32000 11455 ME$[178]O1$ 11500 [139]ME$[178]""[167] ME$[178]"BREAKFAST" 11550 [153] 11600 [153]:[153]"(null)K, THIS ENTRY IS FOR ";ME$;"SYS" 11700 [153]:[153] 11800 [141]28700 11900 [153][199](147); 12000 [139]IC[178]0[167]IC[178]1:[143] FOR FIRST TIME,SET INCREMENTAL COUNTER TO 1 12100 [143] CURSOR 3,10: 12200 [153]"PRINTRETURN ***** MEALPLAN AND CALORIE *****" 12300 [153]" ***** CHART FOR ";DL$;" *****FOR" 12400 [153]" ENTER FOOD NAME OR 'TFOR' TO TOTAL MEAL," 12500 [153]" 'SFOR' TO SEARCH FOOD LIST OR 'EFOR' TO END" 12600 F[178]1 12700 Z[178]1 12800 [153]"SYSNAME OF FOOD: CMD"; 12810 RX[178]3:MX[178]22:[141] 32000 12815 [139] O1$[178]"" [167] [153]"ONON";:[137] 12800 12820 F$(F)[178]O1$ 12821 [153] 12900 [129] ZZ[178]1 [164] 15:[153]" ":[130] 12950 [153]" "; 12975 [153]" "; 13000 [153]"ONONONONONONONONONONONONONONON":[143] 12 CURSOR UPS ARROW KEYS,AND ^,*, TO SEARCH FOR 13100 [139]F$(F)[178]"(null)"[176]F$(F)[178]"T"[167]15300 13200 [139]F$(F)[178]"VAL"[176]F$(F)[178]"E"[167]29200 13300 [139]F$(F)[178]"(null)"[176]F$(F)[178]"S"[167][141]21600 13400 [129]Z[178]1[164]ET[170]1 13500 [139]F$(F)[178]FO$(Z)[167]13900 13600 [139]FO$(Z)[178]"END"[167][141]20200:[137]11900:[143] CAN'T FIND A MATCH 13700 [139]Z[177]ET[167][141]20200:[137]11900 13800 [130]Z 13900 [153]:[153]:[153]FO$(Z),CAL$(Z) 14000 [153]:[153]"HOW MANY UNITS OF THIS FOOD: ";:MX[178]3:[141]32000:U(F)[178][197](O1$) 14100 [153]:[153]"FOR FOR";F$(F);"SYS YOU HAVE ";(U(F)[172]CAL(Z));" CALS." 14200 T2[178](U(F)[172]CAL(Z)) 14300 S2[178]S2O[170]T2 14400 C2[178]C2[170]T2 14500 [153]:[153]"TOTAL FOR ";ME$;" IS";S2;"CALS." 14600 [153]:[153]"TOTAL FOR THE DAY IS";C2;"CALS." 14700 [141]28700 14800 FT$(IC)[178]F$(F):[143] THIS IS NAME OF FOOD FOR THIS ICREMENT 14900 UN(IC)[178]U(F):[143] THIS IS UNITS OF THE FOOD SELECTED FOR THIS INC. 15000 CT(IC)[178]T2:[143] THIS IS THE TOTAL CAL FOR THIS FOOD 15100 IC[178]IC[170]1 15200 [137]11900 15300 [153][199](147) 15400 [143] CURSOR 10,10 15500 [153]"YOU ASKED FOR A TOTAL FOR ";ME$;"." 15600 [143] 15700 [153]"YOU HAVE ";S2;" CALS. FOR THIS MEAL." 15800 [143] 15900 [153]"YOU HAVE ";C2;" CALS. FOR THE DAY." 16000 [143] 16100 [153]"WANT TO CONTINUE TO ADDSYS FOODS TO THIS SAME MEAL (Y/N) [N] " 16150 [151] 198,0 16200 [161]AD$:[139]AD$[178]""[167]16200 16400 [139]AD$[178]"(null)"[176]AD$[178]"Y"[167]11900 16450 [139] AD$[179][177]"N" [175] AD$[179][177]"(null)" [175] AD$[179][177][199](13) [167] 16200 16500 ML$(ML)[178]ME$ 16600 MI(ML)[178]IC 16700 ML[178]ML[170]1 16800 [143] CURSOR 17,10 16900 [153]"WANT TO START ANOTHERSYS MEAL OR SNACK FOR" 16920 [153]"THE SAMESYS DATE (Y/N) [N] ":[151] 198,0 17000 [161] AN$:[139] AN$[178]""[167]17000 17200 [139]ANO$[178]"(null)"[176]ANO$[178]"Y"[167][153]"LOAD":[137]10900 17210 [139] AN$[179][177]"(null)" [175] AN$[179][177]"N" [175] AN$[179][177][199](13) [167] 17000 17300 CD[178]1:[143] ***** SHOULD NOT BE 0 AT START 17400 [153]:[153] 17500 [153]"LOADDEF FOODS AND CALORIES FOR ";DL$;"SYS" 17600 [129]MT[178]1[164]ML[171]1 17700 [153]:[153]" *** ";ML$(MT);" ***" 17800 [129]IT[178]CD[164]MI(MT)[171]1 17900 [153]FT$(IT);[163]18);UN(IT);[163]23)" ="; 18000 [153][163]26);CT(IT);[163]32);"CALS." 18100 [130]IT 18200 CD[178]MI(MT) 18300 [130]MT 18400 [153] 18500 [153]"====== TOTAL CALORIES ===== ";C2 18600 [153]:[153] 18700 [141]28700 18900 [143] CURSOR 6,10 19000 [153]"LOAD(null)OULD YOU LIKE A COPY OF THESE MEALS ON THE PRINTER ((null)/(null)) [(null)] " 19050 [151] 198,0 19100 [161]AL$:[139]AL$[178]""[167]19100 19200 [139]AL$[178]"(null)"[176]AL$[178]"Y"[167]26300 19300 [139] AL$[179][177]"(null)" [175] AL$[179][177]"N" [175] AL$[179][177][199](13) [167] 19100 19400 [143] CURSOR 8,10 19500 [153]"(null)OULD YOU LIKE A LISTING OF ALL THE" 19600 [153]"FOODS & CALORIES ((null)/(null)) [(null)]":[151] 198,0 19700 [161] AL$:[139] AL$[178]""[167]19700 19800 [139] AL$[178]"Y"[176]ALL$[178]"(null)"[167][141]20500:[137] 19910 19900 [139] AL$[179][177]"N" [175] AL$[179][177]"(null)" [175] AL$[179][177][199](13) [167] 19700 19910 [153]"(null)OULD YOU LIKE TO START OVER? ((null)/(null))" 19920 [161] A$:[139] A$[179][177]"Y" [175] A$[179][177]"N" [167] 19920 19930 [139] A$[178]"Y" [167] 3600 20000 [153][163]8)"(null)RESS (null)VAL(null)(null)(null)(null) FOR (null)P(null)IME":[151] 198,0 20010 [161] A$:[139] A$[179][177][199](13) [167] 20010 20100 [137]9600 20200 [153]:[153][163]8)"CAN'T FIND A FOOD MATCH." 20210 [153][163]12)"CHECK SPELLING." 20300 [141]28700 20400 [142] 20500 [153]"(null)N THE SCREEN OR PRINTER ((null)/(null)) <(null)> "; 20600 [161] P2$:[139] P2$[178]"" [167]20600 20700 [153] P2$ 20800 [139] P2$[178]"P" [167]21000 20900 [137]21100 21000 [159]4,4:[157]4 21100 [129]AL[178]1[164]ET 21200 [153]FO$(AL);[166]24[171][195](FO$(AL)));CAL$(AL) 21300 [130] 21400 [139] P2$[178]"P" [167] [152]4:[160]4 21500 [142] 21600 [141]25100 21700 L[178]0 21800 TX[178]0:[153]"" 21900 [129] ZZ[178]1 [164] 11 22000 [153]" ON" 22100 [141]24400 22200 [130] 22300 [143] DO NOT REPRINT COMMAND LINE 22400 [143] COLOR 14 22500 [137]22700:[143]-- SUB TO GET INPUT OF ARROW KEYS OR ESC TO STOP SEARCH 22600 [142] 22700 [161]I$:[139]I$[178]""[167]22700 22800 IL[178][195](I$) 22900 LL[178][198](I$) 23000 [143] LL=ASC(RIGHT$(I$,1)) 23100 [139]LL[178]94[167]L[178]0:[143] ^HOMEKEY 23200 [139]LL[178]145[167]L[178]L[171]1:[143] UPCRSRKEY 23300 [139]LL[178]157[167]L[178]L[171]10:[143] LEFTCRSR 23400 [139]LL[178]42[175]L[177]ET[167]24000 23500 [139]LL[178]42[167]L[178]ET[170]1:[143] *ENDKEY 23600 [139]LL[178]17[167]L[178]L[170]1:[143] DOWNCRSRKEY 23700 [139]LL[178]29[175]L[177]ET[167]24000 23800 [139]LL[178]29[167]L[178]L[170]10:[143] PAGEDOWNKEY 23900 [139]LL[178]95[167] [153]"";:[137]12000 24000 [143] END OF LIST---GO ON 24100 L[178]L[171]11:[137]21800 24200 [143] IFLL=92THEN PRINT"LOAD";:GOTO11000 24300 L[178]L[171]11:[137]21800 24400 [143] --START PRINTING FOODS--LOOK FOR END OR BEGINNING OF LIST--- 24450 [139] TX[178]1 [167] [153]" ":[142] 24500 [139]L[178]ET[170]1 [167] [153]"END OF LISTSYS":TX[178]1:[142] 24700 [139]L[179]0[167]L[178]0:[153]"HEAD OF LISTSYS":[142] 24800 [153] ""FO$(L) 24900 L[178]L[170]1 25000 [142] 25100 [143] CURSOR 10,55 25200 [153] "":[143] BLUE BOX 25300 [153]"ORTANTANTANTANTANTANFOOD LISTTANTANTANTANTANTANTAN^" 25400 [129] ZZ[178]1 [164] 11 25500 [153]"(null) (null)" 25600 [130] 25700 [153]"/TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXP" 25800 [143] 25900 [153] "";:[143] WHITE LETTERS 26000 [153]"USE CURSOR KEYS, AND ^,*, TO SEARCH FOR FOODS."; 26100 [153]" --- _ TO QUIT SEARCHSYS"; 26200 [142] 26300 CD[178]1:[143] HARDCOPY OF DAYS FOODS CD MUST BE RESET TO 1 **** 26400 [159]4,4,1:[160] 4:[139] ST[179][177]0 [167] 28500 26410 [159] 4,4:[157]4 26500 [153]"---------------------------------------"; 26600 [153]"---------------------------------------" 26700 [153]:[153]" ******** PRINTOUT OF THE FOODS AND CALORIES FOR "; 26800 [153]DL$;" ********" 26900 [153]:[153] 27000 [129]MT[178]1[164]ML[171]1 27100 [153]:[153]" *** ";ML$(MT);" ***" 27200 [129]IT[178]CD[164]MI(MT)[171]1 27300 [153]FT$(IT);[166]20[171][195](FT$(IT)));UN(IT);[166]4[171][195]([196](UN(IT)))); 27400 [153]"UNIT(S) ="; 27500 [153][163]1);CT(IT);[166]5[171][195]([196](CT(IT))));"CALORIES" 27600 [130]IT 27700 CD[178]MI(MT) 27800 [130]MT 27900 [153] 28000 [153]"======== TOTAL CALORIES ========= ";C2;" =====" 28100 [153]"----------------------------------------"; 28200 [153]"--------------------------------------" 28300 [153]:[153] 28400 [152]4 28500 [160]4 28600 [137]19500 28700 [151] 198,0 28900 [139]([194](53272)[175]2)[178]2[167]28950 28925 [153]" < PRESS RETURN TO CONTINUE >";:[137] 29000 28950 [153]" < (null)RESS (null)VAL(null)(null)(null)(null) TO LENONTINUE >"; 29000 [161]A$:[139]A$[179][177][199](13)[167]29000 29050 [153]"LOAD" 29100 [153]"SYS":[142] 29200 [153]"DO YOU REALLY WANT TO QUIT NOW (Y/N) [N]" 29300 [161]QE$:[139]QE$[178]""[167]29300 29500 [139]QE$[178]"(null)"[176]QE$[178]"Y"[167]9600:[143] END OF PROGRAM 29550 [139] QE$[179][177]"N" [175] QE$[179][177]"(null)" [175] QE$[179][177][199](13) [167] 29300 29600 [137]11900 29900 [128] 32000 [143]================================GET INPUT ROUTINE FOR QUESTIONS ==== 32005 OO$[178]"":O1$[178]"" 32010 [151] 204,0 32020 [161] OO$:[151] 207,0:[139] OO$[178]"" [167]32010: [143] POKES MAKE CURSOR 32030 [139] OO$[178][199](13) [167] [151] 204,1:[153]" ":[142] 32035 [139] OO$[178]"RESTORE" [167] 9600 32040 [139] OO$[178][199](20)[167][141] 35000:[137] 32010 32045 [139] [195](O1$)[178]MX [167] 32020 32050 [139] OO$[179]" " [176] OO$[177]"Z" [167] 32010 32055 [151]204,1:[153] OO$;:O1$[178]O1$[170]OO$ 33000 [137] 32010 33999 [143]========= ERROR/DELETE KEY===WIPE INPUT CLEAN======= 35000 [139] O1$[178]"" [167] [142] 35010 O1$[178][200](O1$,[195](O1$)[171]1) 35020 [153]OO$; 35030 [151] 204,1 35040 [142]