NNNNNNxp NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNN1O`  @`! #@%`')+-/1 3@5`79;=?A C@E`GKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ  @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3Ao9;=?A!CAEaGIKMOQ!SAoWYO`  @`! #@%`')+-/1 3@5`79;=?A C@E`GKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ  @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3Ao9;=?A!CAEaGIKMOQ!SAoWYCHEF (ACCOUNT z(DESKTOP INFNZST129 P6 . (.. (AST_CHEFBAS (AST_CHEFDOC(<2AST_CHEFPRG(I<DESKTOP INF&(DIRECTNSDAT+(INDEX DAT2(| INGREDS DAT8(֧TITLE_SCPI2A("}GfABASICtZxx ݠVfNNNNINDEXXRYK RECIPE_NOJUMPJUPRTR1RHRLWLLZCOYCTCOC0ANSINGLNOMXMYRES RESIZE_COUNT RESIZE_FLAGCT1CT.4CT2CT3AFLAGDUMMYNBACKGRNDFOREGRNDTBTB1TB3XQIKQDQRQIQJQTQCQSS SORT_FLAG STARTUP_FLAGSL INDEX_ONLYPAGEOUT_FLAG PRINTOUT_FLAGBEPO_FLAGI_FLAGD_FLAGIND_FLAGMARK_SET MARK_CLEAR1 MARK_CLEARALLQNO_FILESRESIZERES_FLAGKEEPDABCDEFNNTRECIPEXRNAME ING_AMOUNTINGMZRECIPEGROUPTYPEDISHTEMPKEYSERVESIGUNAMGHIJKLOPQRST RECIPE_NOING_SCREEN_RECT1 TITLE_SCREENMOUSETQ SELECTIONSEARCHGROUPXTYPEXDISHXKEYXPADRECTPO_RECTIXQKQDQRQIQJQTQCQDR RECIPE_INDEX RECIPE_NUMBERSERVESPACESPCINGLENLENSSORTPQWQMARKMARKED RECIPE_INDEX ING_AMOUNTING_UNIT INSTRUCTIONRECIPEXGROUPXTYPEXDISHXTEMPXKEYXING_LISTRECIPERATINGXUNINGAAMOUNTUNIT INGREDIENT DIRECTIONSAMTUNTDISORTS SELECTIONTEXPXSORTPQWQ RECIPE_NUMBER INDEX_SCREEN MAIN_MENU RECIPE_SCREENINGREDIENTS_SCREEN DRCTNS_SCREEN DRCNTS_SCREEN RECIPE_ENTRY INDEX_ENTRY INDEX_MANUALLABEL1INGREDIENT_ENTRYRECIPE_DIRECTIONS_ENTRY DISK_STORAGERESIZE RESIZE_RETURNREICPE_DIRECTIONS_ENTRYRECIPE_PRINTOUT RESIZE_LABEL1 SELECT_LABEL1POINT_1POINT_10POINT_2POINT_5POINT_3POINT_4POINT_9POINT_7POINT_6POINT_8POINT_11DROP_OUT SORT_DONESORT SORT_SCREENSORT_RECIPE_NUMBER RECIPE_EDIT REC_EDIT1 REC_EDIT2 INDEX_EDIT INGREDS_EDIT INST_EDIT INGRED_LABL1 INST_LABL1RE1JUMPINDEX INDEX_SCREENSCROLLINDEX_PRINTOUT RECIPE_SCREEN MES_ERASE FOOD_GROUP FOOD_TYPE DISH_TYPEHOT_COLDSELECT_DIRECTIONSRECIPE_DISK_RETRIEVALRESIZERECIPE_PRINTOUTPARTIAL_INDEX_PRINTOUTINGREDIENTS_PRINTOUTINSTRUCTIONS_PRINTOUTSHOPPING_LIST_PRINTOUTFULL_RECIPE_PRINTOUTINGREDIENT_PRINTOUT CALCULATORCALCULATOR_LOOLCALCULATOR_LOOKCALCULATOR_DRAWCALULATOR_LOOK TITLE_SCREEN FORK_MOUSE MOUSE_FORKSORT SORT_SCREEN SELECT_ONLYRATINGSORT_RECIPE_NUMBER WAIT_PRINTING INDEX_HEADING INDEX_LISTING INDEX_ESCREENINGRED_EINST_EINDEX_SINGRED_SINST_SINDEX_E RECIPE_EDITINGREDS_SCREEN INSTS_SCREEN EDIT_SCREENINDEX_EDIT_OLDINGRED_EDIT_OLD INST_EDIT_OLDINSTS_EDIT_OLDMARK_SET MARK_CLEAR1 MARK_CLEARALLMARKED_RECIPESMARKED_PRINOUTMARKED_PRINTOUTN************* ASSISTANT CHEF RECIPE FILE MANAGER / MAY 27,1987 *********** ************* By Eric Coners R,FF, F /hDFT. E& TRY | ANOTHER | DISK FA)! !! YES | NO !F /^FYXF,F, F2EF,F F-F F2EF,FN****************************** MAIN_MENU ********************************* |F*4EFYF6!`!`!F 6!!!F6!!!`F6!`!!`F&F $!!!F%!!F$H!!Y!FI#F$H!!Y!FI(!!!@F!F.'R!!RECIPE'S IN THIS FILE: F(!!!@F'E!!FPrint At(70,6);Fre(0) !F#FF,F0 1! ERIC CONERSF]('^!R! (U#:XTH57665)FS&'b!z! VER. 0.9F$'^!! 5/88F,'b!! Written in GFA BASICF*'b! ! [CLICK TO EXIT]FCF!ERF 5vF-FD F< 6HYYppF0&\! ! !>!%F,F*F,FZEPFEQFERF< 6auu((<<F* E5 F'!*! FuEFEF { F-F F5F|F\! !%F%EF-F F 1bFP*************************** INDEX LISTING SCREEN *************************** |FYFF,F*!F(!!!@F6'8!F! ENTER RECIPE NUMBER THEN 'ENTER'F!F%!!F&f!8FEFEF(!!!@F!F EF,FFEF@EFFERFEPFEQF,F< 8d HH//99F E F,F F< 8p44//99F E F,F F< 9\33>>F(!!!F%!!F"'f!2! ^ RECIPE # ^FEF&a!1F $!!!F$\!3!!3F(!!!@F F@ :l,JJ++33F(!!!F %!!F$!"!Z!(F!F$'*!'! MARK RECIPE'SF!F@EF(!!!@F FE@ ;@::55==F(!!!F %!!F$!"!Z!(F!F$'*!'! MARK RECIPE'SF!FAEF(!!!@F FE@ ;=YY55==F,6F FE< ;    F-F F< <  HH  F,FYF!-F F< =auu((77F E5 F <@AF,F F <@AF,4F F4 !%F,F*F,FZEPFEQFERF< Kauu((<<F* E5 F'!*! FuEFEF { F-FZ FJfF|FZ\! !%F%EF6 E. USE THIS | SERVING SIZE | UNTIL CHANGED |FE)! !!YES|NO!FE KFEGEF FE KFEGEF FE, F F < LR   44F0 LGFEEF FE LGF"EF F EF L>6FE6FF FE E F-)F F< L  pp**F0 LGFEEF FE LGF"EF F EFF LFFEF FE E F-)F FHF+ F%!!F$0!(!N!hFY!  ""FMEG FEFY! " F M\F!EFY!  ""FN`EGHH FEF EF E5? @@ F E  F N* FY! " F F NP FY! " F! F4F MF!$ !p!R!pF%!!F(!!! FW!F'\!\!F!F$ !(!R!(F&@!0FEF.F N************************ DIRECTIONS SCREEN ******************************* |F*OEG6F O FIEF FE OnFYF|,.F**|F%!!F$!(! !hFPEFF!E? @`@ F PZB F4FZOF E; @` F Epp%6  F(!!!@F!F$'t# !`! F!F%!!F$!! !<FP%!!F$0!,!N!hFP(!!! F Q4F\'\!\! F F QZF\'\!\!F F%!!F&@!0F $!!!F%!!F(!!!@F$P!!L!FD$P!!L!FD$!@!<!FD'0!`!#:F'!`!F%!!F&p! FEFY!  ""FREG HpFTEFE? @@l FY! "F4F RF!FERFEPFEQF< S> RR44RRF-F F< S RR\\zzF*-F F< S RRF-F F< T RR%%F*,FYF-F F< Td RR**99FYF-#F F#< T   44F0EF EF T6FE6F FE E F-*F F< UR  pp**F0EF EFF U>FFEF FE E F-*F FRFN************************ RECIPE ENTRY SUBROUTINES ************************* |F*YF6!@!`!`FC 6!!!F6!`!!`F6!!@!F$! !!F$!! !6FN%!!F$!! !6FO%!!F$/! !f! FO(!!! F!F('4! !NEW RECIPE ENTRIESF!F WFX @ F",'H!!NOT ENOUGH MEMORY LEFTF {zF-F F W ; F"0'H!!NOT ENOUGH DISK SPACE LEFTF {zF-F F WF*'H!!MAXIMUM FILES = 300F {zF-F F2 E+ DO YOU HAVE | RECIPES | TO ENTER F)! !!YES|NO!F XTFE-F X^F-FF FN*************************** RECIPE INDEX ENTRY **************************** |F*YF|F|#F6!@!`!`F 6!!!F6!`!!F|6!!@!F|,%F* EF Y!  " RECIPE No.: "F(!!! FN<'H!*!&PRESS 'ESC' TO MANUALLY ENTER RECIPE #F4'*!9!PRESS RETURN TO USE ASSIGNED #FF ESF Y F Y BXX F-F F |F,F Z0 BXX FEFB EFX Z!0F,FF,FEPFEQFERF< aauu((<<F* E5 F'!*! FuEFEF { F-%FF F$`F%|FF\! !0F0EF-$FF F$ a*>>FYF-&F F&$ b*H\\FYF-'F F'$ b\fzzFYF-(F F($ bFYF-F F`F***** EDIT INDEX &|F*?EFYF|F|#F,%F* Y!  " RECIPE No: "F,+F ?EF( E! START OVER | SAVE INDEX F )! !! START | SAVE !F cRF -#F F# cnF ,(F-#F F#***** EDIT INGREDIENTS E'|F*=EF,&F=EF( E! START OVER | SAVE INGDS F )! !! START | SAVE !F cF -#F F# dF ,)F -#F F#****** EDIT INSTRUCTIONS A(|F*>EF,'F*>EF( E! START OVER | SAVE INSTS F )! !! START | SAVE !F dF -#F F# dF ,*F -#F F#N*************************** RECIPE ENTRY PROCEDURES ********************** +%F*$!`!!F!!@ !@F $!!!F$/!`!j!(FE%!!F!F&4! F(!!!F0'>!!RECIPE INDEX ENTRY SCREENFY!F$!!!F#F$@!`! !`FN$ !`! !0FN$ !0!5!0FN$5!0!5!hFN$5!h!W!hFN$W!h!W!FN$W!!*!FN$*!!*!FN$*!!@!FN$@!!@!`FN#F"Y!  " F:Y!` ") F&Y!  " F*Y!@ " F &Y!` " F Y! " F "Y! " F.F%++F* h?F,0F F0 Y!` " RECIPE NAME: "FR.'!4!MAXIMUM OF 28 CHARACTERSF``!F,FY!  " FOOD GROUP: "F,F F Y!@ " FOOD TYPE: "FF,F@F@Y!` " DISH TYPE: "FF, F`F`Y! " HOT/COLD: "F, FFY! "RATING: "F, F*F* {HF.F++&F*YF|F FF FF F&*  !  !  F $!!!F(!!!@F6'*!`!RECIPE INGREDIENTS ENTRY SCREENF*!! !@FC$z! ! !@FE(!!!@FB' !`!,AMOUNT UNIT INGREDIENTF $!!!F$z!p! !pFI$B! !B!@FI$! !!@FI$@!(!p!<FI$8!\!H!(FIDeffill 2,2,6 Fill 8,50 Fill 27,115 $@!P!p!PFI$8!t!H!tFI%!!F& ! F(!!!F!F'4!H!FORMATF$' !p!AMOUNT = XX.XXF(' ! !UNIT ='i.e.POUNDS'F"' ! ! INGREDIENT =F('`!,!MAX 34 CHARACTERSFF' !p!TO EXITFH"'p!! PRESS [ESC]FC 'p! ! & [RETURN]F"'p!! IN 'AMOUNT'FC 'p! ! WHEN DONEF' $!!!F%!!F(!!!@F$  !! !FX$  !! !FX$  !@! !FX' !`!#:F' !`!F!F n=F,1F F1EFY! "SERVES: "F:F Y!  ""FF EFEF oZ((F"Y! ""F` ! F oZ BX FYP! ""F`0! FY ! ""F` ! FnF {HF.F&+'F*YF|F F*  F $!!!F#F!! !@F*$!`! !@FR(!!!@F4'4!0!RECIPE DIRECTIONS ENTRY SCREENF $!!!F$ !x! !dFO$ !(!!FO%!!F&P!F& !F!F(!!!F'@!H!ENTERF'P!h!LINEF'P!!THENF'`!![RETURN]F'P!4!ONCEF'!D!ENTEREDFF'!T!A LINEF' !d!CAN'TFF'`!t!BEF'!!CHANGEDFF' ! !PRESSFD' !![ESC]FD' !,!THENF' !<![RETURN]F' !L!WHENF' !\!DONEF $!!!F%!!F(!!!@F$  !! !FX$  !! !FX$  !@! !FX' !`!#:F' !`!F!F s>F,3F F3%!!F& ! F Epp%6  FY0! ""FsEG F "F sFGFEFY0!  ""FF EF tZ((F"EFY0! ""F`p! F" tZ BX Ft&F.F'+(F*7R!M! INDEX.DAT! FALPM!`l!l!PPl!l!l!``lFNEFNEFNEFNEFNEFNEFM!F8MF  EF  EF  EF  EF  EF  EF  EF.F(+)F*EFEFEFF FF FF F&*00 !00 !00 FvEGF E  FO E FE F E0 FN E FE F E  FN E FE F uF 7R!M! INGREDS.DAT! F.PM!l!HHl!\\l!// lFNEFNEFNEFNEFM!F8MF  E5 F  EF  EF  EF.F)+*F*"7R!M! DIRECTNS.DAT! F!PM! lFF FEF*HH FwEGF Ep FN E FE FD wFNEFM!F8MF  EF.F*N**************************** ENTRY SUB ROUTINES ************************** +F*, F*F (!!!F* $!!!F$O!p! ! FR$T! !@ !FR%!!`F&R!F!F EMEATFEPOULTRYFESEAFOODFE VEGETABLEF EFRUITF EOTHERF/a!H!\!F/a! !\!F/a!4!\!F/a!\!\!F/a!!\!F/a!!\!F!F(!!!`FF!EPFEQFERF }lZF zbHF'Y!@!F' !@!FEF  zF 'Y!@! F' !@! F F zH F'Y!!F' !!FEF  {(F 'Y!! F' !! F F { 44F'Y!0!F' !0!FEF  {F 'Y!0! F' !0! F F |4\\F'Y!X!F' !X!FEF  |LF 'Y!X! F' !X! F F |\F'Y!!F' !!FEF  |F 'Y!! F' !! F F }0F'Y!!F' !!FEF  }dF 'Y!! F' !! F FyF ~,F%!!F$R!! !F#F $!!!F$R!! !F$YX! " FOOD GROUP:"F`!FYp!  ""F F$! !!F%!!F$M!p! !=FO#F.FF+FF EBEEFF= EVEALF= ELAMBF= EPORKF=E OTHER MEATFFECHICKENFETURKEYFT EHENF EDUCKFFE OTHER POULTRYF EFISHFPELOBSTERF ECRABFRESHRIMPFL ECLAMSFESCALLOPSFT E OTHER SEAFOODF!EVEGTABLEFO"EPOTATOEF #EOTHERF(!!!FOEaaF E**F $!!!F$T!H!  !:FR$O!0! !=FR%!!F&R!@F/!! !F/! ! !F/!@! !F/!`! !F/!! !F/!! !F/! ! !F/!0! !F/!@! !F/!P! !F/!`! !F/!p! !F/!! ! F/!! !F/!! !F/!! !F/! ! ! F/!(! !!F/!0! !"F/!8! !#F(!!! F#, FF EPFEQFERF ZFEYYFE F jF'!!F'!!FEF F'!! F'!! F F  F'! !F'! !FEF  F'! ! F'! ! F F ^ @@F'!@!F'!@!FEF F'!@! F'!@! F F @``F'!`!F'!`!FEF F'!`! F'!`! F F R`F'!!F'!!FEF zF'!! F'!! F F F'!!F'!!FEF F'!! F'!! F F F F'! !F'! !FEF nF'! ! F'! ! F F  00F'!0!F'!0!FEF F'!0! F'!0! F F :0@@F'!@!F'!@!FEF bF'!@! F'!@! F F @PPF'!P!F'!P!FEF F'!P! F'!P! F F .P``F'!`!F'!`!FEF VF'!`! F'!`! F F `ppF'!p!F'!p!FEF F'!p! F'!p! F F "pF'!!F'!!FE F JF'!! F'!! F F F'!!F'!!FEF F'!! F'!! F F F'!!F'!!FEF >F'!! F'!! F F F'!!F'!!FEF F'!! F'!! F F   F'! !F'! !FE F 2F'! ! F'! ! F F  ((F'!(!F'!(!FE!F F'!(! F'!(! F F &00F'!0!F'!0!FE"F &F'!0! F'!0! F F l0F'!8!F'!8!FE#F F'!8! F'!8! F FF l #F%!!F$R!! !F#F $!!!F$R!! !F"YX! " FOOD TYPE:"F`P!FY`!@ ""F F%!!F$M!0! !=FO#F.FF+ F, FF (!!!F $!!!F$O!p! ! FR$T! !@ !FR%!!`F&R!F!FE APPETIZERF EENTREF ESALADF ESAUCEFEDESSERTF EOTHERF/a!H!\!F/a! !\!F/a!4!\!F/a!\!\!F/a!!\!F/a!!\!F!F(!!!`FF!EPFEQFERF ZF HF'Y!@!F' !@!FEF  F 'Y!@! F' !@! F F bH F'Y!!F' !!FEF  F 'Y!! F' !! F F  44F'Y!0!F' !0!FEF  (F 'Y!0! F' !0! F F 4\\F'Y!X!F' !X!FEF  F 'Y!X! F' !X! F F \F'Y!!F' !!FEF  LF 'Y!! F' !! F F F'Y!!F' !!FEF  F 'Y!! F' !! F F`F F%!!F$R!! !F#F $!!!F$R!! !F"YX! " DISH TYPE:"F`!FY`!` ""F F%!!F$M!p! !=FO#F.FF+ F, FF (!!!F $!!!F$O! ! !pFR$T!!@ !fFR%!!`F&R!F!F EHOTF ECOLDF/a!4!\!F/a!\!\!F!F(!!!`FF!EPFEQFERF ZF L4F'Y!0!F' !0!FEF  F 'Y!0! F' !0! F F HF'Y!X!F' !X!FEF  F 'Y!X! F' !X! F FF%!!F$M! ! ! FO#F.FF+ F, FF (!!!F $!!!F$O!p! ! FO$T! !@ !FO%!!`F&R!F!F ENONE F E* F E** F E*** F E**** F E*****F/a!H!\!F/a! !\!F/a!4!\!F/a!\!\!F/a!!\!F/a!!\!F!F(!!!`FF!EPFEQFERF vZF lHF'Y!@!F' !@!FEF  F 'Y!@! F' !@! F F H F'Y!!F' !!FEF  2F 'Y!! F' !! F F  44F'Y!0!F' !0!FEF  F 'Y!0! F' !0! F F "4\\F'Y!X!F' !X!FEF  VF 'Y!X! F' !X! F F \F'Y!!F' !!FEF  F 'Y!! F' !! F F :F'Y!!F' !!FEF  nF 'Y!! F' !! F FF%!!F$M!p! !=FO#F,F.F+ F$!!!F$!p!H!<FR$!!H!<FR$!p!!4FR$!!!HFR$!4!!4FR$!4!!HFR$!H!!HFR%!!F&!>F(!!!@F!F'!4!SELECTF' !D!&FL'!T!CLICKFF!F.FF+F$! !!F#F"EG9H FR !! !F F!#F.FF|FYp!  " FYp!  ""F`!$F E5$ F EF- FN************************* RECIPE DISK RETRIEVAL ************************** + FE*  F%!!F*$ ! !  !pFL#F $!!!F$ ! !  !pFL$0!$! !lFL(!!! Fe!F2'\!P!Please Wait - LOADING FILESFB!F* F* F* F*  F* FJ* ! ! ! ! !  F* F h INDEX.DAT F* E# NO RECIPE | FILE | ON DISK F)! !!OK!F DEF-+FD F7R!M! INDEX.DAT! FELPM!`l!l!PPl!l!l!``lFEF @rM FM!F  EF  EF  EF  EF  EF  EF EF4FEF EFF8MF 7R!M! INGREDS.DAT! F.PM!l!HHl!\\l!// lFEGFM!F  E5 F  EF  EF  EF FF8MF"7R!M! DIRECTNS.DAT! FPM! lFJEGFM!F  EF .FF8MF+|FD.FN******************************** PRINTOUTS ******************************* +F!F%!!F!! !*FL $!!!F!! !*FL $!!!F$ !`!!&FT%!!F&@! F(!!!F.'! !SELECT PRINTOUT DESIREDF $!!!F$p!@!!@FN(!!!F$'4! !COMPLETE INDEXF$'4!p! PARTIAL INDEXFF&'4! !COMPLETE RECIPEFY&'4!H!INGREDIENTS ONLYF('4!p!INSTRUCTIONS ONLYFS*'4! !MARKED RECIPE'S ONLYF'4! !EXITF&! !  !p!0F&\!! !?!1FFERFEQF$ p FYF $!!!F$a! ! !>F$! !!>F$a!/!!/F(!!!@F'%!)! PICK F'%!2! NUMBERF"'%!;! THEN 'ENTER'F 'd!8!  NUMBER F $!!!F$z!#! !*FD$z!,! !3FD$z!5! !<FD$ !#!  !*FD$ !,!  !3FD$ !5!  !<FD$  !#! !*FD$  !,! !3FD$  !5! !<FD$ !5! !<FD$ !$! !.FD$a!(!u!7FD(!!!F%!!F&{!%F&{!.F&{!7F& !%F& !.F& !7F&  !%F&  !.F&  !7F& !7F& !&F&b!*F!F' !)!8F'~!)!7F'~!2!4F'~!;!1F' !2!5F' !;!2F' !)!9F' !2!6FF' !;!3FF' !;!0FF' !+!CLEARF'd!1!ENTERF!F(!!!@F .F+FL************************** LOAD TITLE SCREEN **************************** E F7I!M! TITLE_SC.PI2F EqM F EqM F  F&)! WRONG RESOLUTION !!Okay!"FErF! F!#EGpFO EqM FG EqM FGEFE`!#! F #F>M!FM! !zF8MF&F.F&+F  Mouse-Convert data in string 'Eb`` b F 'E'b F 'E'b F 'E'b FRF,EGFiQ$F'E'b$ F F$EGFiQ%F'E'b% F F%R8184,4680,4680,4680,4680,4680,4680,2064,1056,1056,1056,1056,1056,1056,1056,2016 F0,3504,3504,3504,3504,3504,3504,2016,960,960,960,960,960,960,960,0 5}'FF.F,R**************************** QUICK SORT DEMO PROGRAM ************************* R***************************** By Jim Luczak 02/23/87 ************************  *R------------------------------ SET UP A FEW VARIABLES ------------------------ +FZ%!!F*$ ! !  !pFS#F $!!!F$ ! !  !pFS$0!$! !lFS(!!! F!F,'!R!Please Wait - SORTINGFF!FF FF FF FF FF F)EF&EF'EF-(EF$*) F String Array To Be Sorted If Ss=1  Gosub Sort_recipe_number Endif 2FFEGF E Fo F F P2F LEGF E FF 4F F Č2FFĈEGF E FF pF F 2 FFEGF E FF ĬF F 2@FFEGF E  FF F F<*)  F Temporary String Array used By QuickSort *) F Index Array 6* pp ! pp F Arrays Used By QuickSort *EFP----------------------------------- QUICK SORT ---- ------------------------  -@ This implementatation of the QuickSort Algorithm -> leaves the String Array A$() that is to be F Sorted Undisturbed. The Array to be sorted is copied into -F a temporary Array Sort$(). The temporary Array Sort$() -B is sorted and a Index Array Sort%() is created. N The Index Array Sort%() contains the order in which to access A$().   B Copy String Array to be Sorted in Temporary Array  8Ȭ*EG)F Xq% = Number Of Elements In Array $* E*F Initialize Index Array O2* E* Fa Sort$() = Tempoary Sort String F ! A$() = String Array To Be Sorted s *F* : Initialize Quick Sort Variables  +EF" + EF  Start Count Of Array a" + E)F End Count Of Array a,EF" Start Count Of Array r -E)Ft End Count Of Array y EP-------------------------- QUICK SORT ALGORITHM ---------------------------- |F- -,Ff-F F.E,F/E-FP---------------------------------------------------------------------------- |F- r. / F-F FP---------------------------------------------------------------------------- |F-5/F /.F-F F4/FP---------------------------------------------------------------------------- |F-4+F f#., #-/ F-F# F + E,F + E.F,E/FF-FFN--------------------------------------------------------------------------- |F- (E/ F 0E/ F/ E. F/ E. F . E(F . E0F-FEP---------------------------------------------------------------------------- |F- ̘/ . F-F FP---------------------------------------------------------------------------- |F-4.F  /.F-F F4/F-FP---------------------------------------------------------------------------- |F- (E/ F 0E/ F/ E. FF/ E. FF . E(F . E0F-FEP---------------------------------------------------------------------------- |F- + E/F + E-F-E.FF-FFP---------------------------------------------------------------------------- |F- Π#-, F-F# Fb.E,G-FrX/E,G.Fr1E./,Fr 1 1 F /E.F-F F (E1 F 0E1 F1 E1 FF1 E1 FF 1 E(F 1 E0F|F /F0 β.F0P---------------------------------------------------------------------------- |F- ,E + F -E + F5+F +FF-F F-FP---------------------------------------------------------------------------- |F- |< Sort%() Contains an Index to A$()  P---------------------------------------------------------------------------- 6EF 2Ft,!F F!.FN**************************** SORT RECIPE NUMBER ************************** +!FFtEGF E F* \F6EF.F!N***************************** SORT COMMAND SCREEN ************************* !|FYF|,F*3EFFEPFEQFERF< LRWWpp F-2EF3EF,FZ F < ҞRWW >>F-2EF3EF,FZ F < RWWHHffF-2EF3EF,FZ F < JRWWppF-2EF3EF,FZ F < ӤRWW F-2E F3EF,FZ F < RWW //F-2E@@F3EF,FZ F < bT ppFYF,F*EF5EF,FF3EF FE< T  >>FYF,F*EF5EF,FF3EF FE< *T HHffFYF, F*EF5EF,FF3EF FE< ՖT ppFYF, F*EF5EF,FF3EF FE< T  FYF5E F,F 3EF FE< @T **99F3EF4EF FE TZ3FF j4F-F F ր4F-F F+F*EF/E F *E*/FF FF F* F* F 5FEGF E F F F 05FF,EGF E F F F f5FFbEGF E F JF F ע5FמEGF E  F ׆F FEGF$ ; @` ;*@`` F *E*F * EF F װFt J5 FFEGF <  F *E*F * EF F FF F6E*F.F+"F%!!F*$ ! !  !pFS#F $!!!F$ ! !  !pFS$0!$! !lFS(!!! F!F,' !R!Please Wait - PRINTINGF!F.FN*************************** SCREEN DRAWING PROCEDURES ******************** ***** INDEX SCREEN *+F*6!!`!`F*6!@!!F6!`!`!F 6!!!F $!!!F%!!F$4!!f!8F #F!F(! !! FC('N!!RECIPE FILE INDEXFI!F$4!!f!8FD!! !?F!! !GFC!! !F !!! !!FU!P! !PFU%!!F$!X! !F !F(!!!@FS4'! !# RECIPE NAME F (!!!FS,'! !FOOD GROUP FOOD TYPEF ,'i! !DISH TYPE TEMP RATINGF !F $!!!F$!P!!!F $!P!!!F $.!P!.!!F $f!P!f!!F $ !P! !!F $ !P! !!F  fHF#F$! !!F!!! F$ !! ! F F#F $!!!F$ ! !H! FD$ ! ! ! FD%!!F&4!pF&@ !pF(!!!F!F'<!!PRINTOUTF'  !!EXITF $!!!F$\!!!\!?FD$ !/!H!9FD$p!/!4!9FD $!!!F!+!\!+FR%!!F&4!4F&z!4F(!!!@F"'x!)! INDEX SCROLLF(!!!@F'!7!UPF'!7!DOWNF $!!!F$\!!!\!>FD$!!!!>FD $!!!F$!)!\!)FU $!!!F$,!+!J!3FU$!5!:!=FU$=!5!Y!=FU$,!+!J!3FU$!5!:!=FU$=!5!Y!=FU(!!!F$'*!'! MARK RECIPE'SFU(!!!F!F'/!1!SET MARKF '!;! CLEAR ONEF '>!;! CLEAR ALLF $!!!F$z!#! !*FD$z!,! !3FD$z!5! !<FD$ !#!  !*FD$ !,!  !3FD$ !5!  !<FD$  !#! !*FD$  !,! !3FD$  !5! !<FD$ !5! !<FD$ !$! !.FD$a!(!u!7FD(!!!F%!!F&{!%F&{!.F&{!7F& !%F& !.F& !7F&  !%F&  !.F&  !7F& !7F& !&F&b!*F' !)!8F'~!)!7F'~!2!4F'~!;!1F' !2!5F' !;!2F' !)!9F' !2!6FF' !;!3FF' !;!0FF' !+!CLEARF'd!1!ENTERF(!!!@FM$\!3!!3F$\!-!!-F'w!<!JUMPF.F***** INGREDIENTS SCREEN *+-F*6!`!`!FR6!!@!F6!!!`F 6!!!F $!!!F!! !@F*%!!F$z! ! !@FP(!!!@FB' !`!,AMOUNT UNIT INGREDIENTF%!!Fz!! ! F!F%!!F(! !!F0/!!H!INGREDIENT LISTINGF!F $!!!F$z! !z!pF$ ! ! !pFY!  ""Fz!!z! FN !! ! FN%!!F$ !*!R!9FO$ !!R!%FO$ !!R!FO$ !\!R!zFO$ !4!R!RFO $!!!F$ !*!R!9FT$ !!R!%FT$ !!R!FT$ !\!R!zFT$ !4!R!RFT!F%!!F(!!!F(/`!H! ! DIRECTIONSF$/`!p! !INDEXFI(/`! ! ! MAIN MENUFF&/`! ! !PRINTOUTF$/`!4! !RESIZEF!F $!!!F$ ! ! !4F2$ !p! !*F2%!!F& !(F& !tF!F(!!( !FR'@ !4!FORWARDF'@ !t!BACKWARDF$ !p!R!pFT(!!!F' !!SERVESF $!!!F$ !(!R!(FT%!!F&0!F.F-***** DIRECTIONS SCREEN +.F*6!@!@!@F6!`!!`F6!`!!F 6!!!F $!!!F!! !@F*$t! ! !@F%!!Fz!! !F%!!F!F(! !! F(/!`!H! DIRECTIONSF!F $!!!F$t!p! !pF $!!!F$t! !t!pF$ ! ! !pFY!  ""Ft!!t! F !! ! FN%!!F&! F %!!F$z!(! !hFI(!!!@F %!!F$ !*!R!9FO$ !!R!%FO$ !!R!FO$ !\!R!zFO$ !4!Z!RFO $!!!F$ !*!R!9FT$ !!R!%FT$ !!R!FT$ !\!R!zFT$ !4!Z!RF!F(!!!F*/`!H! ! INGREDIENTSFI$/`!p! !INDEXFI(/`! ! ! MAIN MENUFS&/`! ! !PRINTOUTF"/`!4! !EDITF!F $!!!F$ ! ! !4F2$ !p! !*F2%!!F& !(F& !tF!F(!!( !FR'@ !4!FORWARDF'@ !t!BACKWARDF!F$ !p!R!pFT(!!!F' !!SERVESF $!!!F$ !(!R!(FT%!!F&0!F.F.***** SORT SCREEN +F*6! ! ! F 6!!!F6!!!`F6!`!!`F!F(!!! F$!!!F!! !@F%!!F!! !@F $!!!F%!!F$*!!u!0FI$*!!u!0FI*'4!!SORT / SELECT MENU'SF%!!F2!P!!DF%!!F$ !P! !DFM%!!F$!!!F$!p!!8FI$!p!!8FI$H!p!  !8FI$H!p!  !8FI(!!!F$'*!(! SORT INDEX BYFM(!!!F"'M!(! SELECT ONLYFY $!!!F!! !?F!H! !HF!H! !HF$ !H! !?FI%!!F$!L!!>FI%!!F$!!L! !%F%!! F$!!&! !>F%!!F$R!p!W!F-$R! !W!>F-$R!H!W!fF-$R!p!W!F-$R! !W!F-$R! !W!/F-$R!p!W!F-$R! !W!>F-$R!H!W!fF-$R!p!W!F-$R! !W!F-$R! !W!/F-%!!F$T!p! !F$T! ! !>F$T!H! !fF$T!p! !F$T!p! !F$T! ! !>F$T!H! !fF$T!p! !F$T! ! !F$T! ! !F(!!!@F$'X!! RECIPE NUMBERF-"'X!6! RECIPE NAMEF"'P!^! FOOD GROUPF"'X!! FOOD TYPEFF"'X!! DISH TYPEFF 'P!+! RATINGF(!!!@F"'T!! FOOD GROUPF"'V!6! FOOD TYPEFF"'V!^! DISH TYPEFF 'T!! RATINGF 'T!! MARKEDF$ !%! !%F%!!F(!!!@F$T!*! !9F#F$T!*! !9F"/e!4!H!EXITF#F!F.F***** EDIT SCREEN +/F*6!!`!FR 6!!!F6!`!!F6!!!`F$! !!F%!!F!! !>F*%!!F$4! !f!pFN$!@!!F!! !>F $!!!F$4! !f!pF (!!! F&'H!H!RECIPE EDIT MENUF $!!!F$ !p!p! F $ !p!p! F $(!x!l!F (!!!@F2/\!!H!CHANGE RECIPE NUMBERF(/\!>!H! EDIT INDEXF./\!\!H!EDIT INGREDIENTSF./\!z!H!EDIT DIRECTIONSFF2/\!!H!RETURN TO MAIN MENUFF.F/J********************** PREVIOUS DATA FOR EDIT ************************ +0F(!!!@F'p!X! F'`!! F'P!<! F'P!\! F'@!|! F'0!!  F(!!!@F*$!!!F #F$W!h!W!FA#F.F+1F*(!!!@F*F F*  FEF'! !FEF!EGHH F EF  E5? @@ F  H F'!! F F l F'!! F F4FEF FGEFYP!  ""FEF!EG\H0F E? @@  F'H!!F4FEF F!EF' ! !FEF!EG/ H FFE?  @@ F'!!F4FEF dF!(!!!@F.F!+3F>(!!!@FEFEFVEG HpFIE? @@l F'(!!F4FEF  F!(!!!@F.F!72/BfBlO`UXY[|\]K6΄V@ |lϸND__0abcd<BOV=٠?dx>~~LBnzֆPN\$eiotuw2h0tr=>T> THE ASSISTANT CHEF (an electronic cookbook) VERSION 0.9 (May 1988) BY: Eric Coners 53 South Clinton Ave Apt 1W Bayshore, N.Y. 11706 GENIE U#: XTH57665 WRITTEN IN: GFA BASIC I. INTRODUTION After spending money on a series of computer cookbooks for my fiancee in an attempt to get her interested in computing (hopefully interested enough to accept, or at least overlook, my need to satisfy a craving which can only be fulfilled by buying something new for the computer each month), I found her using the programs once or twice and then abandoning them. The reason seemed to be that they were not user friendly enough to make it worthwhile for her, or give her much enjoyment with them. After using them myself, I had to agree with her. So, combining my limited programming skills with an excellent programming language (GFA BASIC), I set out to write a program which would do what my 'store bought' ones didn't. Though the program has been tested by myself and my fiancee I doubt if it's yet bug free. Any bugs or desired changes can be directed to me through GEnie mail. I've included the source code to allow minor changes to be made (i.e. Printer Codes and minor bugs). I make no claims at being a good programmer, so better programmers please don't be to critical. The end of this doc file will list some improvements I plan on making (if my fiancee continues to use the program or enough people are interested). Also included in the list are improvements I would like to make but don't know how. If anyone out there can help me with these things it would be appreciated. II. FILES Included should be the following files; 1. AST_CHEF.PRG 2. AST_CHEF.BAS 3. TITLE_SC.PI2 4. INDEX.DAT 5. INGREDS.DAT 6. DIRECTNS.DAT 7. AST_CHEF.DOC III. PROGRAM INSTRUCTIONS A. INDEX The Index screen lists all the receipe's in the current file. Recipe's will be listed by; Recipe #, Recipe name, Food Group, Food Type, Dish type, Temperature (Hot/Cold) and rating (1 -5 stars).The following describes the actions that can be taken from the Index screen. 1. EXIT - Returns you to the Main Menu 2. PRINTOUT - Takes you to the Printout Selection menu. 3. Scroll - Use Up and Down arrows to scroll through the Index 4. Pick Recipe Number - This calculator style entry item will be used throughout the program (refered to as calculator), simple enter the number desired with the mouse then click on ENTER (to start over CLEAR). 5. Jump - Click on Jump then use the calculator to Enter the desired recipe number. The Index will jump to that recipe. This option is included to allow for easy movement through the index as it grows. 6. Mark Recipe - Click on SET MARK and enter a number on the calculator. That Recipe will be marked and appear RED in the index. CLEAR ONE MARK then recipe number will unmark a marked recipe. CLEAR ALL will clear all marks. MARKED recipe's can be viewed or printed separated using the SELECT ONLY or PRINT ONLY options. 7. Select Recipe - To select a recipe to view enter the number on ther calculator (make sure Jump or Mark is NOT selected). Once Enter you will be taken to that recipes ingredient screen. B. SORT INDEX Selecting Sort index will take you to the SORT/SELECT ONLY screen. You can; 1. Sort the index by; Recipe Number, Recipe Name, Food Group, Food Type, Dish Type, Rating. 2. Select Only recipe's with certain criteria to be viewed on the index or recipe screens. That is; ONLY a certain; Food group, Food Type, Dish Type, Rating, or Marked Recipe's. Selection screens will appear with choices when using this option. Simply Click on the desired choice. If OTHER is included as a choice; Click on Other then Type in the Choice (An exact match will be looked for). C. ENTER NEW RECIPE Be careful when entering a new recipe. Known errors are trapped and your given opportunities to correct before saving. But the potential for unknown bugs to pop does exist. INDEX INFORMATION 1. Hit return if the assigned recipe number (consecutive) is OK. If not Hit escape and enter the desired number (If that number exist's the existing recipe will be overwritten) 2. Enter Recipe name 3. Click on Food Group (Other - Enter manually) 4. Click on Food Type " 5. Click on Dish Type " 6. Click on Temperature 7. Click on Rating You will then be asked to Continue, Redo the index, Or Start Over INGREDIENTS 1. Enter the Amount of People the recipe serves 2. For each ingredient enter; Amount (XX.XXX) Unit (ie. Pounds, ounces, Teaspoons, Each) Ingredient Blanks (return) are allowed and can be use to space different segments of the recipe. Once entered (Return) a given entry cannot be changed without redoing the whole ingredient listing. (be carefull) 3. When all ingredients are entered, enter ESC - RETURN in the Amount column to exit. You will then be asked to Continue,Redo Ingredients,or Start over DIRECTIONS Enter the recipe directions by typing in each line. Once a given line is entered it cannot be corrected without redoing the whole directions. Blank lines (return) are allowed and can be used for spacing. When all ingredients are entered, enter ESC - RETURN on the last line (on a blank line). You will then be asked to Continue, Redo Directions, or Start Over SAVE RECIPE You will then be asked if you want the Recipe Saved. D. EDITING A RECIPE Editing a recipe follows the same format as entering a new one. You will be shown the current recipe and may edit that or enter a different recipe number to edit. When editing the old information will be shown in light printing. This is only to remind you of what the existing information is, ALL INFORMATION MUST BE ENTER AGAIN WHEN YOU EDIT A RECIPE. E. SELECT A RECIPE Works the same as selecting a recipe in the index screen. F. VIEWING A RECIPE 1. Ingredient screen - Shows serves amount and ingredient listing. You can resize the ingredients to serve more or less. (you will be asked if all future recipes viewed are to show this resizing or only the current one ) 2. Directions screen - Shows the recipe directions 3. Both of these screens allow you to travel backwards and forwards through the recipe file (It will show All, selected or marked recipes depending on you previous selection) G. PRINTOUTS 1. Entire Index - Printouts the index (if a select only option is in effect only those will be printed) 2. Partial Index - Will ask you to give the recipe number range 3. Complete Recipe Listing - Will printout a selected recipe including the Heading, Ingredients and Directions. 4. Ingredients or Directions only - of a selected recipe 5. Marked Recipes - will printout a complete listing of all recipe's marked. IV. ODDS AND ENDS A. FILE REQUIREMENTS The program, data and screen files must be in the same directory and be the exact same names as are listed above. B. FILE SIZE LIMITATIONS The maximum file size is currently 300 recipe's. This is based on a limiting factor of storage space of a double sided disk containing the required files. Each recipe consumes a total of 2,293 bytes (70-index, 1023 - ingredients and 1200-directions). 300 recipe's will use 687,900 bytes of disk space and memory. With the amount of memory the programs consumes this is also approximated the file size maximum for a 1 megabyte memory configuration. If you have a Hard Drive and more than one megabyte of memory you can change the file maximum in the program dim statements to allow for larger files. If you have a single sided drive or 1/2 a megabyte of memory your maximum file size will be about 125 recipe's (this has not been tested). There is some checking for free memory and disk space in the program before allowing new recipe's to be entered. However, this hasn't been tested and I don't know what will happen if you do go over it. So be carefull as you get near the file maximum for your computer configuration. I would suggest makeing a new file disk before you get to the maximum file size. C. MAKING A NEW FILE DISK The program looks for the three data files under the names listed here in the directory the program was run from. If you want to start a new file, copy the program and title screen to a new disk (or rename the current data files so the program doesn't see them -dangerous make sure you rename all three data files) or new directory (Hard Drive). Run the program. An alert will tell you no recipe files were found. Click on NO to the change disk request. This will take you into the program without a recipe file in memory. Select 'Enter a new recipe' and enter a recipe. New Index, Ingredient and Direction files will be created. D. BACKUPS Again, the program has been somewhat tested but all bugs aren't known. Specifically what will happen when the file size starts approaching maximum. Back up your data files frequently, especially before entering new recipe's, editing recipes's, making new data files and when approaching file maximum. E. DISK ACCESS As you files increase in size it will take an increasing amount of time to load them at program startup. I don't know how to speed this up right now but will work on it. Running the program from a Hard Drive does help the situation. V. REVISIONS If there is an interest in this program I will continue to revise it. Below is listed revisions I am now planning ( an * next to it means I don't know how to do it yet and would appreciate help if someone does). *1. Speed up disk reading of files. 2. Continue to correct bugs when found. 3. Set up a subroutine to save Selected or Marked files to new data files. To make it easier to organize like recipe's into the same file as files get larger. 4. Allow for different recipe files to be selected from within the program. *5. Use a point and click routine when selecting a recipe for viewing or marking instead of using the calculator method. 6. Make a 'Shopping List' subroutine to add up all ingredients used in marked recipe's. *7. Have the ingredient and direction entry work as a text editor. *8. Allow for longer ingredient and direction listings (with scrolling) (and keeping compatability with my current filing system) *9. Have some of the screens draw faster with consuming more memory 10. This doc file. VI. INCLUDED RECIPE'S Included with the program are some recipe's my fiancee has entered. This should give you an idea of the format of the program and get you going more quickly. You can keep them or trash them and start you own files from scratch (You may want to try some of them a few are pretty good). VII. CONCLUSION Well that's it. I think I covered most of the important points. A quick endorsement for GFA BASIC. This is the first program of this magnitude I've every tried to write. GFA BASIC made it alot easier than I thought it would be. Some of the subroutines use in the program were taken from other public domain programs (like the sorting subroutine). I tried to leave author's names in the source code (if they were there to start with). I just like to thank every one who has uploaded GFA programs with the source code included, it's help me learn quite a few tricks I never would have otherwise. Eric Coners May 29,1988 `9UT` Efv*oM' m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNrHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NN\NP ,`NuJrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr NL9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa2|a>:><|a4g RGj`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn| 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNނpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@NN?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|ޖ  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</N`JFkSFk&aQN``Ha"FFaQL8N46.ޖJgtBnޖNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N4<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dCpNEN&`"A<,(Np`pN0<9@:, INJ@g@8 FN EdbAJfE @e4r$Wf"FANuPRN:LST:AUX:CON:MID:IKB:VID:,J@fC E& B Og& Rgl Ag@ Ug2 Ig $CpNp=`pNAXJ@jNNurAt`t Add.A0Hk"JjJBft??/?<BNA JjNNu?Hl?<6NAP0,NuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNup6`p5`p4`p3` p2`p`pN @ddAg(g@A `1||9XgBX)HJPfNu"lJQf2")IBQlk0N` QNu2p~?`2p~@`~?`~@St4f9G/0N&(g^AA `.j>(1GRhgbHhBg?,(/?<BNA Jk@$_>g8 Z"XPf, HQH/?,(?,NA gJk p x?gp%NNu @fp7`J@jD@vqapvN>)@p `H@)@prtNLAHplrtNLB 2pNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNLAl 2l 4HVNuAl 2l 4L VA0000000000prtNL9Cp rtNLAv` Av `Avl 2l 4)lVHN$Al 2l 4HPrtpgNLaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNu0<}N& ?<NNC`&?<NNT"@ C <}N`Nj@((?<NN.?<NNX@LvA HA HNuNup9@HA)A,N FN @e024E$ Bb5B5A6CC5CK5CAB008:Dk`Ek\00<,>,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNupmrtA)HA)HNLpNHHPN 4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)IN(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NHNuNAH2 @erp0QtpoNLNr|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| NL2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NNP"l`dpNAtrdJhk\QpaNH ld$l`"Hg: k&@0+R`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNA0pNN$N8$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuNJ@gpNu _0HpN _0HpNp"_0HqNp"_0HqNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNuNUHNuNRHNuNTHNu Ihd*N8$E$RR@H`2QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N8$E$R`QˈN ENup`(* 0(iN8$E 4R`Q$D 4R`QˈN DN ENua NuN IHPg"B  g &gNLJBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNRGFc8>`4A g6 g0 g` gTlfelhgFf2pRGRFa`a,` `?~ap ap a 0NuCpE`bf`FgRGJGgRSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0Nu?<?<NMXNur9A(HNLNu0,^2,`NzEfpaRppaNAEg0PaľEfa4RE`p a2a*Efp a(NldeS@f lbfSl`9Ab9FdNupapqr`p`C l ", Ⲭ dfѬ SA 0! Nup"NNNJfNup#`"rNN,"p`tdbDA0Hg<<R@f|0HN8*JFk*HQ/??<?NAXfX ENuJkpNp`p`\F( &I.` ??<NMXJ[j E&DNuak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuN<(`|HP?N><pg2JFg W"X2@e2<A`QNCpR@ 1 fA 0! "_Nnp`pNu)H9@Jp4NP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8NX  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C\fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Error # ][Abort]\f.B &lX)K\)ld` lp ,BQjNup(NV"l`Yd&-KNNP"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`$Y8gHRDD*D%H8#$c2g# HRDD%H`ANXAhNXA큘N|&<x*<NfN)N:& TRY | ANOTHER | DISK CNnHxHmNF YES | NO r"_ NAxN8AxN|&<x*<NfN)NANXAhNXA, 0ANXN)A, 0ANXA8 0NNpp@pW?<?<NN\pp@pWBg?<NN\pp@pW?<?<NN\pp@pW?<?<NN\A킚NpNpNprNpNpNpN <"<N <"<N>pN0 <"<N <"<NpNpNpNpNpN< <"<NNFRECIPE'S IN THIS FILE: 4NpNpNpNpN <"<NAN|NNpNpNpNprNpN0p "<N <"<Np""<N <"<NpNpNpNp NpNpN< <"<TNNF MARK RECIPE'S4NpNpN< <"<TNNF MARK RECIPE'S4NpN@ADNXAN|&<x*<NpJBgp/AN|&<x*< NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN?N)AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN?AfNXNNN5AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNC ANANݐA$N|&<x*<NpJBgp/A큀N|zNpJBgp/A큆N|zNpJBgp$VHfNA0ACNXA큀N|&<x*<NpJBgp/A$N|zNpJBgp/A큆N|zNpJBgp$VHfNAAC.NXA큆N|&<x*<NpJBgp/A큀N|zNpJBgp/A$N|zNpJBgp$VHfNB ACNXA$N|zNpJBgp/A큀N|zNpJBgp/A큆N|zNpJBgp$VHfNBjNJLpNpNpNpN <"<NNF 4NA CNnA CNnpNp NprNpN0 <"<N <"<3NBm(BmBmpN0p N`NCAB 0ADNXN~pNpNpNpNpNpNpN <"<9N <"<N>pN< <"<TNNF MARK RECIPE'S4NpNpN< <"<TNNF MARK RECIPE'S4NpNATNxrNNR NAN|&<x*<N:fNFN>ATNxrNN` 4NA NxC>N\N|CN\&<x*<N"fNFN>ATNxrNA NxC>N\N|CN\&<x*<N"pJBgp/A NxC>N\N|CN\&<x*<N:pJBgp$VHfNGbN>ATNxrNA NxC>N\N|CN\&<x*<N:fNGN>ATNxrNA NxC>N\N|CN\N|CPN\&<x*<NfNH2N>pNNpbNpNNN>A NxC>N\N|CN\NNA NxC>N\N|CN\N|CPN\&<x*<N fNHN>pNNpbNpNNN>A NxC>N\N|CN\NNN>ATNxrNA NxC>N\N|CtNNNN>ATNxr#NA NxC>N\N|CzNNNN>ATNxr-NA NxC>N\N|C타NNNN>ATNxr;NA NxC>N\N|C탆NNNN>ATNxrENA NxC>N\N|C탌NNNN>ATNxrJNA NxC>N\N|C탒NHPp"_NPNNN>pNNpbNpNNN`NqpNpNpNpNN~AZ 0ADN|AZN`AZNxC>N\ANdNfNJCZA 0N`NqNqNNANXpNpNpNp "<Np"<dN>AZ 0ANxCtNHPAZN|&<x*<NN|/p""_N~C큶NnHmp N"_N(gNKPAZN`ANxCtNHPAZN|&<x*<NN|"_NPCNnANNprNprfNpr"Npr^Npr,NN:#:Npr@NAN|NNpNpNpNprNZpNpNpNp "<N <"<bN>pNpNpNp+rNp:rgN>pNpNpNp NA퀢N|zNfNMZp7r7NANxCN\NNA퀢N|&<x*<NfNMp7r7NA퀖N|NNpNpNpNp,rNZpNpNprNpr}Np"<fNp"<N <"<Np"<4N <"<4Np r}Np "<fNA,NpC,NAZ 0N>prNAf 0 <r$<&<x*<AfNNhA`N8AfN|&<x*<NAlNݐA퀢N|zNfNOAZNx/ANxCbNHPAlNx/p""_N~NC,NAZNxC,N\zN fNOHN>A`NxrNAZNxC,N\NNAZNxC,N\zNfNON>A`NxrNp NNA퀢N|&<x*<NfNQ:AZNx/ANxCbNHPAlNx/p""_N~NC,NAZNx/AZNxC,N\A퀖NdNHANxCN\L8N4C,NAZNx/AZNxC,N\&<x*< NC,NAZNx/AZNxC,N\NC,NAZNx/AZNxC,N\&<x*< N:C,NAZNxC,N\zN fNQN>A`NxrNAZNxC,N\NNAZNxC,N\zNfNQ:N>A`NxrNp NNAZNN`8NqAZ 0N>prNAf 0 <r$<&<x*<AfNNhA`N8ANxChNHPAfNx/p ""_N~C큶NnN>A`NxrNA큶NNAZNN`NqNqAZ 0N>pr(NAf 0 <r$<&<x*< AfNNhA`N8ANxC탘NHPAfNx/p"""_N~C큶NnN>A`Nxr(NA큶NNAZNN`NqNqNAN8NxAN8NAN8AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNSN_AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNTxN5AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNUFN)AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNV"AfNXNNNJLA CNnA CNnAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNYV?<?<?<~?<A킔" N4APNXAjNXNxAN8NAN8NAN8AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNXrANA퀖Nݐ <"<NNF NA CNnA CNnp NNXv`?<?<A킔"NRA C킔NnN:. USE THIS | SERVING SIZE | UNTIL CHANGED |CNnHxHmN:YES|NOr"_ NAxN8AxN|&<x*<NfNY&A큪 0AxN|&<x*<NfNYLBmA\ZNXAN|&<x*<NpJBgp/AN|&<x*< NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNZA큪N|&<x*<NfNZNA퀢 0A큪N|zNfNZhBmA N|&<x*<NA NݐADN|A NdN"fNZCDA 0A NxC>N\ANݐNJAN|&<x*<NpJBgp/AN|&<x*< NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN\RA큪N|&<x*<NfN[A퀢 0A큪N|zNfN[Bm <r$<A NdNA NݐA N|&<x*<N"fN\4A 0A NxC>N\ANݐNJ`dNpNpNpNp*rNp:rgN>N>prNAT 0 <r$<ATN`NhA`N8N>A`NxrNN` 4NN`NqNqAZ 0N>prNAf 0 <r$<&<x*<AfNNhA`N8AfN|&<x*<NAlNݐAZNx/ANxCbNHPAlNx/p""_N~NC,NAZNx/AZNxC,N\A퀖NdNHANxCN\L8N4C,NAZNxC,N\zN fN^,N>A`NxrNAZNxC,N\NNAZNxC,N\zNfN^fN>A`NxrNp NNAZNN`NqprNpN\ANdNfN_NCZA 0N`NqNqNNA#:NXpNpNpNp"<Np"<bN>AZ 0ANxCtNHPAZN|&<x*<NN|/p""_N~C큶NnHmp N"_N(gN`AZN`ANxCtNHPAZN|&<x*<NN|"_NPCNnANNpNpNpNp+rNp:rgN>pNpNpNp NA퀢N|zNfNafp7r7NANxCN\NNA퀢N|&<x*<NfNap7r7NA퀖N|NNpNpNpNp,rNZpNpNprNpNpNpNpNpNpNpNprNprfN>prNprfNpr"Npr^Npr,NN:#:Npr@NAN|NNpNpNpNprNZAZ 0N>prNAf 0 <r$<&<x*< AfNNhA`N8ANxCnNHPAfNx/p;""_N~C큶NnN>A`NxrNA큶NNAZNN`NqNqNAN8NxAN8NAN8AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNdNJLAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNdN5AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNeN)AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNfAfNXNNN_AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNg`NNNsAN|&<x*<NpJBgp/AN|&<x*< NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNhBmA N|&<x*<NA NݐADN|A NdN"fNhvCDA 0A NxC>N\ANݐN_fAN|&<x*<NpJBgp/AN|&<x*< NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNiBm <r$<A NdNA NݐA N|&<x*<N"fNiA 0A NxC>N\ANݐN_f`RNNpp@pWBg?<NN\pp@pW?<?<NN\pp@pW?<?<NN\pp@pW?<?<NN\pNp NprNprN <"<vNpNpNpNprN <"<vN>pNpNpNp"<Np("<N>pNpNpNp NpNprNNR RECIPE No.: ANNpNpNpNp N <rNN:&PRESS 'ESC' TO MANUALLY ENTER RECIPE #N <rUNN:PRESS RETURN TO USE ASSIGNED #NNCNnHmA "_N(gHmpN"_NfNn4NAzNXHmpN"_NfNnCA 0 <r$<ANdNANݐNnCA 0ANXNFI CONTINUE | INDEX AGAIN | START OVER |CNnHxHmNF CONT | INDEX | START | r"_ NAxN8AxN|&<x*<NfNoHmpN"_N(fNo <r$<ANdNANݐNlAxN|&<x*<NfNoHmpN"_N(fNo <r$<ANdNANݐNiAhNXNFI CONTINUE | INGDS AGAIN | START OVER |CNnHxHmNF CONT | INGDS | START | r"_ NAxN8AxN|&<x*<NfNpNoAxN|&<x*<NfNqHmpN"_N(fNq <r$<ANdNANݐNi <r$<A~NdNA~NݐANXpNNFI CONTINUE | INSTS AGAIN | START OVER |CNnHxHmNF CONT | INSTS | START | r"_ NAxN8AxN|&<x*<NfNrNq:AxN|&<x*<NfNrdHmpN"_N(fNr^ <r$<ANdNANݐNi <r$<A퀄NdNA퀄NݐNF! SAVE | OR |START OVER|RCNnHxHmNF SAVE | STOP r"_ NAxN8AxN|&<x*<NfNs. <r$<ANdNANݐNiANXA4NXANXN:, MORE | RECIPES | TO ENTER CNnHxHmN:YES|NOr"_ NAxN8AxN|&<x*<NfNsNiNsA, 0ANXN)NNNzA0NXpNpNprNpNpNpNpNpNpNpN <"<N <"<N> <"<N <"<N <"<N <"<N <"<NN:#:N <"<NAN|NN <"<N <"<N> <"<N <"<N <"<N <"<N <"<NANxCtNNA CNnA CNnNAN8NAN8AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNw?<?<?<~?<A" N4APNXAjNXNxAN8NAN8NAN8AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNwANANݐ <"<NNF NA CNnA CNnp NNw`?<?<A"NRA CNnNt AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNx2NNNyAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNxNNNzAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNy>NNN{AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNyNNN)`Az 0NNN\pN0A|NXN>prNN` RECIPE No: ANNANXBm~NF! START OVER | SAVE INDEX CNnHxHmNF START | SAVE r"_ NAxN8AxN|&<x*<NfNzNsAxN|&<x*<NfNzANXNsAn 0AhNXBmrNF! START OVER | SAVE INGDS CNnHxHmNF START | SAVE r"_ NAxN8AxN|&<x*<NfN{NsAxN|&<x*<NfN{A4NXNsAt 0ANXBmxNF! START OVER | SAVE INSTS CNnHxHmNF START | SAVE r"_ NAxN8AxN|&<x*<NfN|`NsAxN|&<x*<NfN|ANXNsNpNpNprNprN <"<}NpNpNprNp"<Np"<NpNpNpNpN

prNNR NN>prNN`) 4NN>p rNN` NN>p rNNR NN>prNNR NN>prNNR NN>prNN` 4NN~AzN|&<x*<NfNA3NXN>prNN` RECIPE NAME: 4 <"<NN:MAXIMUM OF 28 CHARACTERSNA rNAzNXN>p rNNR FOOD GROUP: ANXN>ANNN>p rNN` FOOD TYPE: 4ATNXN>ANNN>prNN` DISH TYPE: 4ANXN>ANNN>prNNR HOT/COLD: ANXN>A"NNN>prNNRRATING: ANXN>A(NNpNN~NNA탼NANANpC탼NpCNpCNpNpNprNpNpNpNpNp"<NNFRECIPE INGREDIENTS ENTRY SCREEN4NprN <"<Npr}N <"<gNpNpNpNpNp"<NN:,AMOUNT UNIT INGREDIENTNpNpNprNpr}Np"<gNp"<N <"<Np"<4N <"<4Np*rNp^rxNpnrN <rdNp4rNp4rxNpzrNpzrdNpNpNpNp r NZpNpNpNpNpNp"<*Np"<vNp"<2Np"<nNp"<prNNRSERVES: N>NC.NnN>prNA~N|&<x*<NA~NݐNhA`N8A~N|&<x*<NgNN>A`NxrNA~NxC탼NrNA~NxC탼NHPpN"_NgNN>A`NxrNA~NxCNr NN>A`Nxr(NA~NxCNr#N`pNN~NNANp(CNpNpNprNpN0prN <"<~NprKN <"<BNpNpNpNpNp "<NN:RECIPE DIRECTIONS ENTRY SCREENNpNpNprNp>"<FNpr"<xNp*r N <rANpNpNpNp@r NZp@"<HNZpNp"<*Np"<vNp"<2Np"<nNp"<pr NA 0ANN|AN`N>p NN`NqNqN>A NNBmN>pr NA퀄N|&<x*<NA퀄NݐA퀄N|&<x*<NgNNhA`N8N>Nhr NA퀄NxCNrpN0pNpNprN <"<N <"<XNN>pr6NN` FOOD GROUP:4Ar NN>p rNpNp NprNpNpNpNp"<N <"<bN>pN0N~N\N:BEEFC큶NnN:VEALC큼NnN:LAMBCNnN:PORKCNnN: OTHER MEATCNnNFCHICKENECNnN:TURKEYCFNnNFHENKCLNnN:DUCKCRNnNF OTHER POULTRY4CXNnN:FISHC^NnNFLOBSTERCdNnN:CRABCNnN:SHRIMPCNnNFCLAMSPCjNnN:SCALLOPSCpNnNF OTHER SEAFOOD4CvNnN:VEGTABLEC|NnNFPOTATOEEC킂NnNFOTHEROC킈NnpNpNpNpNA a0AN *0pNpNprNp"<N <"<0Np"<N <"<:NpNpNpNp"<NZANxr NANNx/A큶"NANxr(NANNx/A큼"NANxr0NANNx/A"NANxr8NANNx/A"NANxr@NANNx/A"NANxrHNANNx/A"NANxrPNANNx/AF"NANxrXNANNx/AL"NANxr`NANNx/AR"NANxrhNANNx/AX"NANxrpNANNx/A^"NANxrxNANNx/Ad"NANx"<NANNx/A"NANx"<NANNx/A"NANx"<NANNx/Aj"NANx"<NANNx/Ap"NANx"<NANNx/Av"NANx"<NANNx/A|"NANx"<NANNx/A킂"NANx"<NANNx/A킈"NpNpNpNpNA"NXNxA퀊N8NA퀐N8NAN8AN|&<x*<NgNA Y0A 0 A퀐N|&<x*<N"fNDANxr NpNNANxr NpNNA큶CNnNtANxr Np NNANxr Np NNA퀐N|&<x*<NpJBgp/A퀐N|&<x*<N"pJBgp$VHfN ANxr(NpNNANxr(NpNNA큼CNnNpN0pNpNprN <"<N <"<bNN>pr6NNR FOOD TYPE:Ar NN>p rNpNpNpNp"<N <"<bN>pN0N~A"NXN\pNpNpNp NpNpNprNp"<N <"<SNp#"<N <"<INpNpNpNp""<NZpNpN0pNpNprN <"<N <"<XNN>pr6NNR DISH TYPE:Ar NN>prNpNpNpNp"<N <"<bN>pN0N~A"NXN\pNpNpNp NpNpNprNpF"<Npx"<SNpK"<Nps"<INpNpNpNpJ"<NZpNpl"<NpNNpl"<8NpNNA큼C"NnNjpl"<Np NNpl"<8Np NN`pNpNpNpF"<N <"<bN>pN0N~A"NXN\pNpNpNp NpNpNprNp"<N <"<SNp#"<N <"<INpNpNpNp""<NZpNpN0AzNXN~pNpNprNp<"<"Np^"<N <"<"Np^"<Np<"<"NpZ"<"N <"<"Npd"<"NpZ"<"NpZ"<NpZ"<Npd"<Npd"<Npd"<"NpNpNpNp_"<NZpNpNpNpNpNprNN` 4NN>prNA킎rNA킎NANݐ <r$<ANdNANݐNn4N <,CPNpNpNpNpPrPNpx"<&N>pN0pNpNprNpPrPNpx"<&NpRrXNpv"<NpNpNpNp NpNpNpNprNprN <"<@NpNpNprNpr N <"<7NpNpNpNprNZpNpNpNpNprNNFSELECT PRINTOUT DESIRED4NpNpNprNprNp"</NpNpNpNpNp(r-NN:COMPLETE INDEXNp <"<TN <"<NNpNpNpNpN <"<hNN:FROM: TO:NBm`BmfNxAN8NAN8NAN8A\N|zN gN8AjNXAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN4ANA\Nݐ <"<NNF NA CNnA CNn <"<NA\N|NNp N`NxAN8NAN8NAN8AbN|zN gNͶAjNXAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNͲANAbNݐ <"<NNF NA CNnA CNn <"< NAbN|NNpN`ALNXAъNX?<?<A"NRA CNn?<K?<PA"NRAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNΜALNXA߶NX?<K?<PA"NRAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN>ALNXAfNX?<K?<PA"NRAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNALNXAܤNX?<K?<PA"NRAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNЂALNXANX?<K?<PA"NRAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHgN`A CNnA CNnN~A큒 0AN|A큒N`A큒NxCPN\&<x*<NfN|C큒A 0A߶NXN`NqNqN~AhN|&<x*<NfNA\ 0CDAb 0ANXAhN|&<x*<NfNANXN~N:NN:NANXBm^AJ 0C\AT 0AbN|ATN`AZNATNxC>N\N|CN\&<x*<N"fNҐN:p NATNxC>N\N|CN\&<x*<N"fNN:p NN:ATNxC>N\N|CN\NN:p NN:ATNxC>N\N|CtNNN:p NN:ATNxC>N\N|CzNNN:p NN:ATNxC>N\N|C타NNN:p NN:ATNxC>N\N|C탆NNN:p NN:ATNxC>N\N|C탌NNN:p NN:ATNxC>N\N|C탒NHPp"_NPNNAZN|&<x*<NfN԰N:NN:NN:NR* Page AJNNAJNN:p NNNANXBm^N`NqN:p NNNN~N: RECIPE INDEXNNpNpNprN <"<N <"<N <"<6N <"<6N <"<N <"<6NpNpNpNpN <"<JNN: PICK N <"<JNN: NUMBERN <"<JNN: THEN 'ENTER'N <"<NN:  NUMBER NpNpNprN <"<N <"<N <"<N <"<N <"<N <"<N <"<N <"<&N <"<N <"<&N <"<N <"<&N <"<0N <"<DN <"<0N <"<DN <"<0N <"<DN <"<NN <"<bN <"<TN <"<vN <"<N <"<NpNpNpNpNpNpNpN <"<NZ <"<NZ <"<NZ <"<NZ <"<NZ <"<NZ <"<2NZ <"<2NZ <"<2NZ <"<PNZ <"<ZNZ <"<NZpN< <"<Np8NN <"<Np7NN <"<Np4NN <"<Np1NN <"<Np5NN <"<Np2NN <"<8Np9NN <"<8Np6NN <"<8Np3NN <"<VNp0NN <"<XNNFCLEAR4N <"<NNFENTER4NpNpN0pNpNprNpPrPNpx"<&NpRrXNpv"<NpNpNpNp NpNNADNAJNCA 0A 0A 0BmANxCNA,N|&<x*<NfNrAZ 0AN|AZN`AZNx/AZNxCtNCNN`NqNqA,N|&<x*<NfNAZ 0AN|AZN`AZNx/AZNxCzNCNN`NqNqA,N|&<x*<NfNJAZ 0AN|AZN`AZNx/AZNxC타NCNN`NqNqA,N|&<x*<NfNAZ 0AN|AZN`AZNx/AZNxC탆NCNN`NqNqA,N|&<x*<NfN"AZ 0AN|AZN`AZNx/AZNxC탒NCNN`NqNqAN|&<x*<NN|CNANxC>NpCDNpCJNBmBmAN|AN`ANx/AN|C>NANx/ANxCNCNN`NqNqA 0ANx/tCDNANx/AN|CJNBm CA 0AN|ANdN&<x*<N"fNJNbCA 0CA 0ANxCNHPANxCN"_N2fNNZANAN|ANdN"fNNbANANAN|ANdNHAN|ANdNL8NfNNANx/AN|CDNANx/AN|CJNCA 0NANxCNC킦NnANxC>N\A NݐANx/ANxCNCNANx/ANxC>N\C>NANx/A킦CNANx/A N|C>NN:ANxCNHPANxCN"_NN\A NݐANx/ANxCNCNANx/ANxC>N\C>NANx/A킦CNANx/A N|C>NNANx/AN|CDNANx/AN|CJNCA 0NAN|ANdN&<x*<N&<x*<NfNNAN|&<x*<NANݐAN|AN`CA 0 <r$<ANdNAN`AN|ANdNANdNH <r$<L8NA&NݐA&NxCNHPA&N|&<x*<NN|CN"_NFfN <r$<ANdNANݐNA&NxCNC킦NnA&NxC>N\A NݐA&Nx/A&N|&<x*<NN|CNCNA&Nx/A&N|&<x*<NN|C>N\C>NA&N|&<x*<NN|/A킦CNA&N|&<x*<NN|/A N|C>NN`NNqN`NqANxCDN\ANݐANxCJN\ANݐANAN|zNfNN"NCAD 0A,N|&<x*<NfNZAbNXN~NAZ 0AN|AZN`AZNx/AZNxCN\C>NN`NqNqCAD 0N~NNA(pNXBm6NxAN8NAN8NAN8AN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNA, 0A2 0ANXAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNA, 0A2 0ANXAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNA, @0A2 0ANXAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNA, 0A2 0ANXAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNA, 0A2 0ANXAN|&<x*<NpJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNA, @0A2 0ANXAN|&<x*<NpJBgp/AN|&<Ԁx*<NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfNNNANXAC킲NnA> 0A NXA2 0AN|&<x*<NpJBgp/AN|&<Ԁx*<NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN NNATNXAC킲NnA> 0A NXA2 0AN|&<x*<NpJBgp/AN|&<Ԁx*<NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN NNANXAC킲NnA> @0A NXA2 0AN|&<x*<NpJBgp/AN|&<Ԁx*<NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN NNANXA(C킲NnA> 0A NXA2 0AN|&<x*<NpJBgp/AN|&<Ԁx*<NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN NNA> 0A NXA2 0AN|&<x*<NpJBgp/AN|&<Ԁx*<NpJBgp/AN|&<x*< N"pJBgp/AN|&<x*<NpJBgp/AN|&<x*<N"pJBgp$VHfN rA2 0BmNANANxC>NANxCNA>N|&<x*<NfNAZ 0AN|AZN`AZNx/AZNxCzNCNN`NqNqA>N|&<x*<NfNAZ 0AN|AZN`AZNx/AZNxC타NCNN`NqNqA>N|&<x*<NfNAZ 0AN|AZN`AZNx/AZNxC탆NCNN`NqNqA>N|&<x*<NfNAZ 0AN|AZN`AZNx/AZNxC탒NCNN`NqNqAZ 0AN|AZN`AZNxCNHPp"_NPHPHmp"_NP"_NfNAN|&<x*<NANݐANx/AZN|C>NN`NqNqA>N|&<x*<NfNNN`NqNqCAD 0N~pNpNpNpPrPNpx"<&N>pN0pNpNprNpPrPNpx"<&NpRrXNpv"<NpNpNpNp NpNpN0pNpNNN: INDEX SCROLLNpNpNpNpN <r@NN:UPN <"<NN:DOWNNpNpNprN <"<N <"<N <"<6N <"<6NpNpNprN <"<6N <"<NpNpNprN <"<YN <"<N> <"<;N <"<tN> <"<zN <"<N> <"<YN <"<N <"<;N <"<tN <"<zN <"<NpNpNpNpN <"<TNNF MARK RECIPE'S4NpNpNpNpNpN< <"<_NN:SET MARKN <"<=NNF CLEAR ONE4N <"<|NNF CLEAR ALL4NpNpNprN <"<N <"<N <"<N <"<N <"<N <"<N <"<N <"<&N <"<N <"<&N <"<N <"<&N <"<0N <"<DN <"<0N <"<DN <"<0N <"<DN <"<NN <"<bN <"<TN <"<vN <"<N <"<NpNpNpNpNpNpNpN <"<NZ <"<NZ <"<NZ <"<NZ <"<NZ <"<NZ <"<2NZ <"<2NZ <"<2NZ <"<PNZ <"<ZNZ <"<NZ <"<Np8NN <"<Np7NN <"<Np4NN <"<Np1NN <"<Np5NN <"<Np2NN <"<8Np9NN <"<8Np6NN <"<8Np3NN <"<VNp0NN <"<XNNFCLEAR4N <"<NNFENTER4NpNpNpNpN <"<N <"<6N <"<N <"<6N <"<NN:JUMPNN~Npp@pWBg?<NN\pp@pW?<?<NN\pp@pW?<?<NN\pp@pW?<?<NN\pNpNprNprN <"<NpNpNpNpr}N <"<gNpNpNpNpNp"<NN:,AMOUNT UNIT INGREDIENTNpNpNpNpr}Np "<fN>pNprNpr}Npr}Np"<gNp"<gNpNpNpN <rN <riN> <rN <riN> <rN <riN>pnrNp}riN>pZrNpiriN>pNpNprN <rN <riN <rN <riN <rN <riNpnrNp}riNpZrNpiriNpNpNpNpNpNprNprzNprzNp"<gNp"<gNpNpNpNp"<NZpNpNpNpr}Np"<dN>pNpNpNpNpNpNpN <rN <riN> <rN <riN> <rN <riN>pnrNp}riN>pZrNpirmN>pNpNprN <rN <riN <rN <riN <rN <riNpnrNp}riNpZrNpirmNpNpNpNprNpNpNpNp"<Np"<N>p"<Np"<Np"<NN:SORT / SELECT MENU'SNpNpNpNprNp1"<?N>pNpNpNp"<ANp1"<~N>pNpNpNpNpNprNprKNp."<N>prKNp."<Np"<Np."<.N>p"<Np."<.NpNpNpNpNp*rUNNF SORT INDEX BY4NpNpNpNpNp*"<NNF SELECT ONLY4NpNpNprNprN <"<Np2rNp2"<NprNp"<Np"<@N <"<@NpNpNp Np3rN <"<=N>pNpNpNp3"<CN <"<{N>pNpNp N <"<CN <"<{N>pNpNpNppPriNp_"<N>pdriNps"<N>pxriN <"<N> <riN <"<N> <riN <"<N>ppP"<Np_"<N>pd"<Nps"<N>px"<N <"<N>p<"<NpK"<NpP"<Np_"<Npd"<Nps"<Npx"<N <"<N <"<N <"<N> <"<N <"<NpNpNpNpNpGrlNNF RECIPE NUMBER4Np[rlNN: RECIPE NAMENporhNN: FOOD GROUPN <rlNNF FOOD TYPE4N <rlNNF DISH TYPE4N <rhNN: RATINGNpNpNpNpNpG"<NN: FOOD GROUPNp["<NNF FOOD TYPE4Npo"<NNF DISH TYPE4N <"<NN: RATINGN <"<NN: MARKEDN <"<@N <"<NpNpNpNpNpNpNpN <"<N <"<N>pN0 <"<N <"<N <"<NN:EXITr2NpN0pNpNpNpNp "<Np"<N>pNpNprNprN <"<~NpNpNprNp "<Np"<NpNpNpNp Np"<NN:RECIPE EDIT MENUNpNpNprNp<"<N <"<N>p<"<N <"<Np>"<N <"<NpNpNpNpNpK"<NN:CHANGE RECIPE NUMBER"<Np_"<NN: EDIT INDEX"<Npn"<NN:EDIT INGREDIENTS"<Np}"<NNFEDIT DIRECTIONS4"<N <"<NNFRETURN TO MAIN MENU4"<NN~NpNpNpNpNp6rxNANxCtNNpNrpNANxCzNNp^rhNANxC타NNpnrhNANxC탆NNp~r`NANxC탌NN <rXNANxC탒NNpNpNpNpNpNpNprNpN0p:"<N <"<NpN0N~pNpNpNpNA,NpC,NAZ 0p("<NA NA` 0Af 0 <r$<&<x*<AfNAfN|&<x*<NAlNݐAZNx/ANxCbNHPAlNx/p""_N~NC,NAZNxC,N\zN fN5A`Nx"<NAZNxC,N\NNAZNxC,N\zNfN6 A`Nx"<Np NNAZNA`N|&<x*<NA`NݐN`NqAZ 0N>prNA` 0Af 0 <r$<&<x*<AfNANxChNHPAfNx/p ""_N~C큶NnA`Nx"<NA큶NAZNA`N|&<x*<NA`NݐN`NqNqAZ 0p("<@NA NA` 0Af 0 <r$<&<x*< AfNANxC탘NHPAfNx/p"""_N~C큶NnA`Nx"<:NA큶NAZNA`N|&<x*<NA`NݐN`NqNqpNpNpNpNN~pNpNpNpNAZ 0A` 0Af 0 <r$<&<x*< AfNANxCnNHPAfNx/p;""_N~C큶NnA`NxrTNA큶NAZNA`N|&<x*<NA`NݐN`NqNqpNpNpNpNN~N81844680468046804680468046802064105610561056105610561056105620160350435043504350435043504201696096096096096096096005( &  &<^" T(6((thh\ĸ$$PDL`@VHT BJZH>4H" T0 "$B*"$H,H NB B*H,Z8<"64("("(("((  " T(| | | | &4" " " Pf(8864FN Vh">>>>FVFNJ>BBBBBBBBBBBBJJJJJJJZJ">>>>FVFN>">N>n">>>>FVFrNhZ ̬x     h4 &p@tp,TD@ "& "$l J&@B::::::::::>llllnH$LF0$F@(`.p"""""" $ $ $ $4"lllhHhH#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E DB 02 #W 00 00 0A 01 1E 17 08 A:\*.*@ #W 00 00 0D 08 2A 0B 00 @ #W 00 00 0E 09 2A 0B 00 @ #W 00 00 0F 0A 2A 0B 00 @ #M 00 00 00 FF A FLOPPY DISK@ @ #M 00 01 00 FF B FLOPPY DISK@ @ #T 00 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @ If necessary - pound Meat. Coat with flour. Brown meat in melted butter (in skillet). Stir in remaining ingredients. Heat to a boil. Lower heat to a simmer. Cover pan and simmer 30 minutes (Turn once). Melt the butter and pour it into a broiler dish. Add wine / lemon juice / garlic / onions / parsley. Stir together. Add drained scallops. Broil (or bake at 400) 5 minutes on each side. (or until scallops are opaque) * Avoid poking scallops (they dry out). De-Vein shrimp / Remove legs / Shell (leave tails) Melt butter and garlic in a skillet. Add Shrimp. Cook 1 - 2 minutes each side. (until shrimp are pink and opaque) Add lemon juice,salt and pepper. Quickly remove shrimp (place on a plate). Raise heat and boil pan juices (quickly) until syrupy. Add parsley and pour over shrimp. Mix all liquids together. Add dry ingedients (not meat) and mix. Add meat and mix well. Put into a meat loaf dish. Bake at 350 for 1 hour uncovered Drain excess fat. Pound cutlets if necessary. Season meat w/ salt and pepper / Coat with flour. Dip into egg then coat with bread crumbs. Heat oil and butter in a skillet. Brown meat over medium to low heat. Drain oil. Add water. Heat to boiling. Reduce heat and cover. Simmer for 30 minutes. Serve with lemon slices and parsley. Heat skillet. Add butter / garlic / worcestershire sauce / Teriyaki sauce. Cover and cook until done to taste. Peel / Slice / Separate onions. Add garlic / tobasco sauce / tomato sauce / and butter. Fry until onions are done. Defrost pie shell Chop spinach and saute in; (Butter , Onions, Lemon Juice and Worcestershire sauce) Spread spinach saute into pie shell. Add the grated Cheddar and Swiss cheeses. Mix Milk and Beaten eggs and pour over top. Bake at 375 for approximately 45 minutes or until a knife comes out dry. Wash and split hens lengthwise. Mix other ingredients over low heat in a saucepan. Broil hens for 10 minutes (5-6 inches from heat) Set oven to bake at 425 Turn over hens and baste with sauce. Bake hens for 20 - 25 minutes basting with sauce frequently. Cook shells as per package instructions and drain. Combine (Ricotta, Mozzarella, Egg, Bread crumbs, parsley, Salt, and Pepper). Stuff into shells. Pre-heat oven to 350. Spoon sauce lightly into a 13" X 9" oven dish. Add shells. Cover shells with sauce. Sprinkle on Parmesan. Bake for 30 minutes. Brown chicken legs in oil and paprika. (Over medium heat in skillet for 15 minutes) Add vegetables and Worcestershire sauce. Cover and simmer for 15 minutes. Stir in light cream. Serve. Mix (2 T butter, honey, mustard, salt, curry, tarragon) Melt together in a saucepan. Put chicken legs in a baking dish. Lightly cover w/ melted butter. Bake for 20 minutes at 450. Turn oven down to 325. Cover chicken with 1/2 of honey mixture. Bake for 30-45 minutes while frequently basting w/ the remaining honey mixture. Remove fat from the Pork chops. Grease skillet and add white wine and paprika Browm meat over medium heat. Mix 1/4 cup of peach syrup with the; Chile powder, tarragon, lemon juice and pepper. Pour over meat. Cover and simmer for 30 minutes. During last 5 minutes add chopped peaches(of 2 peach halves) Serve. Mix appropriate quantities of above ingredients. (To suite taste and servings) Top with dressing. In a saucepan melt/mix / Butter,Seasoning Salt & Lemon juice Put chicken parts into a baking dish and brush with the above mixture. (Save some for basting) Sprinkle on Oregano. Bake at 350 for 50-55 minutes (Frequently basting w/mixture) Mix all ingredients together in a bowl. Marinate for 2 hours. With the marinade; Grill or Broil steaks for 7-10 minutes each side. (4 inches from heat) Cook onions in oil over medium heat for 3 minutes. Add chicken and saute in onions for 5 minutes. Mix remaining ingredients in a small bowl. Pour sauce over chicken,cover and simmer until tender,about 30-40 minutes. Melt butter in heavy pan. Saute onion,celery,pepper and garlic until onion is wilted, 3 to 5 minutes. Add tomato paste,stirring constantly 3 minutes over low heat. Add 1.5 cups of water and sugar. Add pepper and cayenne. Cook uncovered over medium-low heat 20 minutes stirring occasionally. Add shrimp. Cook until shrimp are pink and opaque, about 3 minutes. Dissolve cornstarch in 0.50 cup water and add. Cook another 2 minutes, until thickened. Add green onions and parsley, and mix. Combine bread crumbs and cheese; reserve half for topping. In a small saucepan cook bacon until done. Remove from pan. In the bacon grease, cook onion until tender. Stir in flour until blended. Add milk. Cook and stir over medium heat until thickened and bubbly. Stir in crumbled bacon and drained spinach. Dip chicken breasts in breadcrumb mixture and place in a suitable sized baking dish. Spoon spinach mixture over chicken; sprinkle with remaining breadcrumb mixture. Bake, uncovered, in a 350 degree oven for half an hour, or until chicken is no longer pink. Flatten pork cutlets to 0.25 inch thickness. Dust pork with flour. Dip pork into mixture of egg and waterthen coat with breadcrumbs. In a large skillet, saute pork in butter, about 3 minutes per side or until golden brown; add more butter if necessary Keep pork warm while preparing sauce. Saute carrot in same skillet until tender-crisp, about 2 minutes. Stir in gravy and milk, lemon juice, and dill; heatthrough. Stir sour cream into sauce just before serving. More sour cream or milk may be used to attain desired thickness of sauce. In a deep saucepan,heat the olive oil; add the garlic,onion,and green onion, and saute for 5 to 7 minutes. Add the tomato, tomato paste, red wine, parsley, and peppersand stir. Simmer gently for about 5 minutes. Add whole (boiled-open) clams and cover with sauce. Cover pan and simmer gently for 2 to 3 minutes, stirring gently. Serve. Using a meat grinder of food processor, gind together the bologna and swiss cheese. Mix into mixture india relish, chopped onion, mustard, and mayonnaise. Butter inside of each hotdog roll, and stuff the mixture equally into all 6 rolls. Wrap each roll separately in aluminum foil and refrigerate for at least 1 hour before baking. Mat also just be frozen for later use. Bake foil-wrapped rolls at 325 degrees for 25 minutes, or until insides are all melted. ( Defrost before baking.) Using a fork, mix together breadcrumbs, onions, garlic, milk, and egg. Add in the ground beef and mix together well. Form into meatballs approx. 2 inches in diameter. Brown meatballs lightly in hot oil in a large saucepan big enough to hold all meatballs at once. In an appropriate sized saucepan, mix together the jelly, ketchup, mustard, honey, and tarragon. Over low heat, simmeruntil jelly is melted. Stir ocassionally to prevent burning. In the same saucepan in which they were cooked, pour the jelly mixture over the browned meatballs and heat to simmer. Simmer on low heat for 20 minutes. Serve. In a blender, blend together eggs, cream, ham, and swiss until well blended, but not too long. Pour mixture into 6 buttered custard cups; place in pan of hot water. Place pan in oven preheated to 275 degrees. Bake for 40 minutes until set. Toast and butter English Muffin halves. Prepare Hollandaise Sauce according to package directions. When souffles are done, place each one onto a buttered muffin half. Top with Hollandaise. Chop hardboiled eggs into medium-sized chunks. Stir into eggs the chopped celery. Mix together the mayonnaise, paprika, ginger, and mustard. Serve on toast. Pound cutlets to 0.25 inch thickness. Lightly brown cutlets in butter in a medium sized saute pan. Remove to serving plates, keeping warm. Mix together wine, milk, mustard, Tarragon, and flour. Pour into same saucepan over medium heat. Stirring constantly,thicken sauce. Pour over chicken. Brown chicken in butter. Mix the juice of the orange, wine, onions, honey, and tarragon. Add to chicken, and simmer for 25 minutes. (Turn once.) Remove chicken and keep warm. Mix orange liquoer, flour, and the grated peel from the orange, and add to pan juiced. Thicken pan juices over medium heat, and pour over chicken. (Can also substitute shrimp for chicken.) Mix together all ingredients except potatoes. Add potatoes to mixture, mix well, and serve. Mix together orange juice, wine, red pepper, green onions, soy sauce, and orange peel. Marinate chicken slivers in mixture for 0.50 hour. Remove chicken from marinade and stir fry in butter in a medium sized saucepan. Mix corn starch with small amount of water and add to saucepan over medium heat. Stir constantly to thicken. Stir in peanuts and serve. In a small saucepan,over low heat,mix apricot preserves, syrup, lemon juice, and butter. Put cutlets in an ungreased baking dish, 13"x9"x2". Spread half of the sauce mixture over the chicken. Cover and bake for 15 minutes at 400 degrees. Uncover chicken and add potatoes. Cover chicken and potatoeswith remaining sauce mixture. Lower oven temperature to 300 degrees, and cook, u uncovered, for 10 minutes. (good with grren beans) Pound cutlets until 1/4 inch thick. Mix together cornstarch, garlic, paprika, and pepper. Coat cutlets with mixture. In hot butter or vegetable oil, in medium high heat in a saucepan, quickly brown cutlets. Remove to serving plate and keep warm. To hot skillet juices, add capers and lemon juice. Stir to mix pan juices and scrapings (deglaze) and pour over cutlets. Serve with lemon slices. In a large bowl, mix salad dressing and honey. Add shrimp and marinate 1 hour. Slice orange and lemon into "circle" slices. Into each slice, make one radial cut to center. Twist slices into an "s" shape. On barbeque skewers, skewer shrimp, lemons, and oranges alternately. Grill on barbeque, brushing frequently with marinade. Shrimp are cooked when they turn opaque. Slice scrubbed potatoes inti 1/2 inch slices. Boil potato slices until tender, approximately 15 minutes. Drain potatoes and return to pot. Add butter and scallions. Toss to mix well. Slice scrubbed squash crosswise in 1/2 inch slices. Slice out seeds from slices. Place squash in a large skillet. Add enough water to cover. Bring to boiling. Reduce heat and simmer, uncovered,until squash is translucent and tender, about 10 minutes. Melt butter in a small saucepan. Blend in brown sugar, orange juice concentrate, cinnamon, and nutmeg. Bring to boiling. Cook and stir until mixture is smooth, about 1 minute. Drain squash and put onto serving plate. Pour hot sauce mixture over squash. Combine eggs, milk, garlic, and a dash of pepper. Add potatoes, spinach(drained), and cheese. Mix well, and pour into a well-greased 8 inch skillet. Cook, covered, over medium heat 10 to 12 minutes or until center is soft-set and bottom is golden. Remove from heat; let stand, covered, 5 minutes. Cut into wedges. In a bowl, combine sherry, soy sauce, ginger, garlic, and mustard. Add chicken. Stir to coat and let marinate 2 hours at room temperature. Remove chicken from marinade with a slotted spoon, reserving marinade. Broil for 15 to 20 minutes, turning every 5 minutes and brushing with marinade. Arrange on serving dish and garnish with scallions. Mix chili sauce, honey, and vinegar. Serve as a dip for the hot chicken. In a 10 inch skillet, heat 1 tablespoon oil. Add onion and saute for several minutes more. Add the tomatoes, oregano, parsley, and capers. Cover and simmer for about 10 minutes. Remove tomato mixture and set aside. Rinse and patdry pounded cutlets. Season with pepper and dust with flour. Into the same skillet, add the remaining tablespoon of oil. When the oil is hot, add the veal and lightly brown both sides. Lower heat to simmer and add the tomato mixture. Cover and cook about 5 minutes or until done as desired. Garnish with chopped parsley and diced tomatoes. In a small saucepan over low heat, melt together the Marsalawine, garlic, parsley, and butter. Set aside. Mix together bread crumbs and lemon juice and set aside. Boil open the clams. Remove immediately from water and twistoff the empty half of the opened shell. Discard shells. Pull clam away from remaining half of shell and rinse. Put clam back on half shell.(Handle carefully so as not to bruise clam.) Arrange clams(on half shell) on a broiling dish. Pour half of butter mixture over clams. Sprinkle bread crumb mixture over clams. Sprinkle chopped peppers over clams. Top with 1 inch strips of uncooked bacon. Pour remainder of butter mixture over clams. Broil until bacon is cooked. Serve with the pan drippings and the lemon wedges. Dredge cutlets in bread crumbs. Into a large saucepan, add oil, dill, and Marsala. Heat to a boil over high heat. Add cutlets and saute until lightly browned. Remove to serving dish. Add Heinz Brown Gravy to saucepan and reduce over high heat. Pour over turkey and serve. Slice eggplant into 1/4 inch slices. Dip each slice into beaten egg and then breadcrumbs to coat. In a large saucepan, heat 1/8 inch oil until very hot. Brown eggplant pieces on both sides. Spread a small amount of the spaghetti sauce over the bottom of a 13x9x2 baking dish, and arrange sauteed eggplantin dish. Cover with remaining spaghetti sauce. Sprinkle with shredded Mozzarella and sprinkle with Parmesancheese. Bake, uncovered, at 350 degrees for 1/2 hour. Serve. Slice sausages into 1 inch pieces and saute in oil in saucepan over medium heat for 5 minutes. Add sliced onions and peppers and cook 5 minutes longer. Add sausage mixture to spaghetti sauce and serve over cooked spaghetti. Saute garlic in wine and butter over medium heat. Add scallions and saute until wilted. Add sliced mushrooms, bacon, and shrimp. Quickly cook shrimp until opaque. Serve. VEAL SCALLOPPINE MEAT VEAL ENTRE HOT BROILED SCALLOPS SEAFOOD SCALLOPS ENTRE HOT SHRIMP SCAMPI SEAFOOD SHRIMP ENTRE HOT MEAT LOAF - GROUND BEEF MIX MEAT BEEF ENTRE HOT BREADED VEAL/CHICKEN CUTLETSMEAT VEAL ENTRE HOT SKIRT STEAKS MEAT BEEF ENTRE HOT FRIED ONIONS ALA DAVE VEGETABLEVEGTABLE SAUCE HOT SPINACH QUICHE VEGETABLEVEGTABLE ENTRE HOT SWEET AND SOUR GAME HENS POULTRY HEN ENTRE HOT ***** STUFFED SHELLS OTHER OTHER ENTRE HOT GOLDEN CHICKEN W/ VEGETABLESPOULTRY CHICKEN ENTRE HOT HONEY - MUSTARD CHICKEN LEGSPOULTRY CHICKEN ENTRE HOT PEACH-CHILE PORK CHOPS MEAT PORK ENTRE HOT ORANGE-ALMOND SALAD FRUIT OTHER SALAD COLDNONE LEMON-OREGANO CHICKEN POULTRY CHICKEN ENTRE HOT NONE LAMB STEAKS ALA BEARD MEAT LAMB ENTRE HOT **** GOLDEN BLOSSOM CHICKEN POULTRY CHICKEN ENTRE HOT NONE SHRIMP JAMBALAYA SEAFOOD SHRIMP ENTRE HOT NONE CHICKEN ALA MARIA POULTRY CHICKEN ENTRE HOT NONE DILLED PORK SCALLOPINI MEAT PORK ENTRE HOT NONE CLAMS POSILLIPO SEAFOOD CLAMS ENTRE HOT NONE BOLOGNA AND CHEESEWICH MEAT BOLOGNA LUNCH HOT *** SWEET AND SOUR MEATBALLS MEAT BEEF ENTRE HOT **** EGGS BENEDICT SOUFFLES EGGS EGGS BREAKFASTHOT NONE EGG SALAD ALA KATHY DROSTE EGG EGG LUNCH COLDNONE TARRAGON CHICKEN CUTLETS POULTRY CHICKEN ENTRE HOT NONE CHICKEN ALA ORANGE POULTRY CHICKEN ENTRE HOT NONE POTATO SALAD VEGETABLEPOTATOE SALAD COLDNONE ORANGE PEANUT CHICKEN POULTRY CHICKEN ENTRE HOT NONE BAKED CHICKEN & SWEET POTATOPOULTRY CHICKEN ENTRE HOT *** VEAL PICCATA MEAT VEAL ENTRE HOT NONE BARBEQUED SHRIMP SEAFOOD SHRIMP ENTRE HOT *** NEW POTATOES WITH SCALLIONS VEGETABLEPOTATOE SIDE DISHHOT NONE ORANGE GLAZED ACORN SQUASH VEGETABLESQUASH SIDE DISHHOT NONE SPINACH & POTATO PIE EGG EGG BREAKFASTHOT NONE TERIYAKI CHICKEN WINGS POULTRY CHICKEN ENTRE HOT NONE VEAL LIVORNESE MEAT VEAL ENTRE HOT NONE CLAMS CASINO SEAFOOD CLAMS APPETIZERHOT ***** TURKEY CUTLETS WITH GRAVY POULTRY TURKEY ENTRE HOT NONE EGGPLANT PARMIGIANA VEGETABLEVEGTABLE ENTRE HOT NONE SAUSAGE & PEPPERS MEAT SAUSAGE ENTRE HOT NONE SHRIMP,MUSHROOMS,& ONIONS SEAFOOD SHRIMP ENTRE HOT NONE 2 2 0.25 0.25 1 0.25 0.25 1 1 1 CUTLETS CUPS CUPS CUP CUPS CUPS TABLESPOON TABLESPOON TABLESPOON VEAL CUTLETS FLOUR MELTED BUTTER MUSHROOMS WHITE WINE WATER CHICKEN BOUILLION PARSLEY FLAKES CRUSHED GARLIC 2 1 0.5 0.25 1 0.5 1 0.5 POUND CUP CUP CLOVE CUP TABLESPOON CUP BAY SCALLOPS BUTTER LEMON JUICE CHOPPED GARLIC CHOPPED ONION PARSLEY WHITE WINE 2 12 0.5 2 2 SHRIMP STICK CLOVES TABLESPOONS JUMBO SHRIMP BUTTER GARLIC (minced) LEMON JUICE SALT PEPPER PARSLEY 2 1 2 0.25 0.25 0.5 1 0.5 1 POUND EGGS CUP CUP CUP TABLESPOON CUP CLOVE GROUND BEEF EGGS MILK KETCHUP MINCED ONION WORCESTERSHIRE SAUCE BREAD CRUMBS MINCED GARLIC SALT PEPPER 2 2 0.5 1 0.25 1 1 0.25 CUTLETS CUP EGG CUP TABLESPOON TABLESPOON CUP VEAL OR CHICKEN FLOUR BEATEN EGG DRY ITALIAN BREAD CRUMBS BUTTER VEGETABLE OIL WATER 2 2 2 1 0.25 0.25 STEAKS TABLESPOONSCLOVE CUP CUP SKIRT STEAKS BUTTER CRUSHED GARLIC WORCESTERSHIRE SAUCE TERIYAKI SAUCE (OR BEER) 8 4 1 1 0.25 2 ONIONS CLOVE TABLESPOON CUP TABLESPOONS SLICED ONIONS GARLIC TOBASCO SAUCE TOMATO SAUCE BUTTER 4 1 1 3 8 8 0.5 1 1 1 1 PIE SHELL CUP EGGS OUNCES OUNCES CUP TABLESPOON TABLESPOON TABLESPOON TABLESPOON UNCOOKED PIE SHELL MILK EGGS (BEATEN) GRATED CHEDDAR CHEESE GRATED SWISS CHEESE CHOPPED SPINACH BUTTER CHOPPED ONIONS LEMON JUICE WORCESTERSHIRE SAUCE 2 2 4 2 1.5 2 1 1 HENS TABLESPOONSTABLESPOONSTABLESPOONSTABLESPOONSTABLESPOON TABLESPOON CORNISH GAME HENS FROZEN ORANGE JUICE CONCENTRATE KETCHUP MUSTARD SOY SAUCE LEMON JUICE HONEY 4 1 24 1 8 1 1 0.2 1 QUART SHELLS CUP OUNCES TABLESPOON EGG CUP TABLESPOON SPAGHETTI SAUCE PASTA SHELLS RICOTTA CHEESE SHREDDED MOZZARELLA CHEESE PARMESAN CHEESE EGG DRIED BREAD CRUMBS PARSLEY SALT PEPPER 2 2 0.75 0.25 20 0.5 1 3 2 1 LEGS CUP CUP MUSHROOMS PEPPER ONION CARROTS TABLESPOONSDASH LARGE CHICKEN LEGS WHITE WORCESTERSHIRE SAUCE LIGHT CREAM SLICED MUSHROOMS SLICED GREEN PEPPER SLICED MEDIUM RED ONION CUBED CARROTS VEGETABLE OIL PAPRIKA 4 8 0.25 0.13 0.5 0.25 3 1 LEGS CUP CUP TEASPOON TEASPOON TABLESPOON DASH CHICKEN LEGS HONEY MUSTARD CURRY TARRAGON BUTTER SALT 2 4 8 0.25 2 1 1 1 1 CHOPS OUNCES CUP TABLESPOONSDASH SPLASH DASH DASH PORK CHOPS CLING PEACHES IN SYRUP (8 oz. can) CHILI SAUCE LEMON JUICE TARRAGON POWDER WHITE WINE (or water) PAPRIKA PEPPER 2 LETTUCE OR SPINACH MANDARIN ORANGES CHOPPED BERMUDA ONIONS ALMOND SLIVERS PIQUANT DRESSING(SWEET OIL&VINEGAR) 2 1.5 0.25 0.25 1 POUNDS TABLESPOONSTABLESPOONSDASH CHICKEN PARTS LEMON AND PEPPER SEASONING SALT LEMON JUICE OREGANO 2 2 0.25 0.5 0.13 0.5 0.5 1 1 1 STEAKS CUP CUP CUP CUP TEASPOON DASH DASH DASH LAMB STEAKS SOY SAUCE ORANGE JUICE WORCESTERSHIRE SAUCE CHOPPED ONION PEPPER ROSEMARY THYME CURRY 2 4 1 2 8 0.75 0.25 0.25 2 1 0.25 0.5 2 LEGS CUP TABLESPOONSOUNCES CUP CUP CUP TABLESPOONSTEASPOON TEASPOON TEASPOON TEASPOONS CHICKEN LEGS CHOPPED ONION VEGETABLE OIL TOMATO SAUCE (1 8 OZ. CAN) ORANGE JUICE LEMON JUICE HONEY PREPARED MUSTARD SALT (OPTIONAL) PEPPER DRIED TARRAGON CHOPPED GARLIC 2 1 8 1 0.5 0.5 4 2 2 1 1 0.5 0.5 0.25 POUND TABLESPOONSCUP CUP CUP CLOVES TABLESPOONSCUPS TEASPOON DASH TEASPOON CUP CUP SHRIMP(MEDIUM RAW,PEELED,DEVEINED) BUTTER CHOPPED ONION CHOPPED CELERY CHOPPED BELL PEPPER GARLIC,MINCED TOMATO PASTE WATER SUGAR BLACK PEPPER & CAYENNE PEPPER CORNSTARCH GREEN ONION, CHOPPED FINE PARSLEY, CHOPPED FINE 2 2 0.33 1 3 1 1 0.33 0.50 4 BREASTS CUP TABLESPOON WHOLE TABLESPOON TABLESPOON CUP 10 OZ.PKG. PIECES CHICKEN, LARGE BREADCRUMBS, ITALIAN SEASONED PARMESAN CHEESE, GRATED GREEN ONIONS, CHOPPED BUTTER FLOUR MILK FROZEN CHOPPED SPINACH,THAWED. BACON 2 0.50 1 1 0.50 2 1 1 3 1 0.50 1 POUND TABLESPOON CUP TABLESPOONSMEDIUM 12 OZ. JAR TABLESPOONSTEASPOON TEASPOON TABLESPOON PORK TENDERLOIN,SLICED INTO CUTLETSEGG WATER SEASONED BREADCRUMBS BUTTER CARROT, DICED VERY SMALL HEINZ HOMESTYLE BROWN GRAVY MILK LEMON JUICE DILL WEED, DRIED SOUR CREAM 2 16 2 3 0.25 2 0.50 1 0.33 3 0.50 0.25 WHOLE TABLESPOONSCLOVED CUP WHOLE CUP TABLESPOON CUP TABLESPOONSTEASPOON TEASPOON CLAMS, BOILED OPEN OLIVE OIL GARLIC, CHOPPED CHOPPED RED ONION GREEN ONIONS, CHOPPED TOMATO, CHOPPED FINE TOMATO PASTE RED WINE FRESH PARSLEY, CHOPPED CRUSHED RED PEPPER PEPPER 6 1 0.75 1 4 0.25 0.33 6 6 POUND POUND TABLESPOON TABLESPOONSCUP CUP WHOLE TABLESPOONS BOLOGNA SWISS CHEESE INDIA RELISH CHOPPED ONION PREPARED MUSTARD MAYONNAISE HOTDOG ROLLS BUTTER 2 0.50 0.50 0.25 1 0.25 1 1 3 2 2 0.25 POUND CUP CUP CLOVE CUP WHOLE 10 OZ.JAR TABLESPOONSTABLESPOONSTABLESPOONSTEASPOON GROUND BEEF BREADCRUMBS, ITALIAN SEASONED CHOPPED ONIONS GARLIC, CHOPPED MILK EGG CURRANT JELLY KETCHUP MUSTARD HONEY TARRAGON 6 8 0.50 6 1 1 1 WHOLE CUP TOASTED PACKAGE CUP CUP EGGS HEAVY CREAM ENGLISH MUFFINS INSTANT HOLLANDAISE SAUCE FINELY CHOPPED HAM FINELY SHREDDED SWISS CHEESE 2 8 0.50 0.50 0.50 2 0.25 HARDBOILED CUP TEASPOON TEASPOON TABLESPOONSCUP EGGS, PEELED CELERY, CHOPPED PAPRIKA GROUND GINGER PREPARED MUSTARD MAYONNAISE 2 2 0.25 0.25 1 0.50 0.50 4 CUTLETS CUP CUP TEASPOON TABLESPOON TEASPOON TABLESPOONS CHICKEN WHITE WINE MILK MUSTARD CRUSHED DRIED TARRAGON FLOUR BUTTER 2 2 1 1 0.25 1 0.25 2 1 4 CUTLETS LARGE TABLESPOON CUP TABLESPOON TEASPOON TABLESPOONSTEASPOON TABLESPOONS CHICKEN ORANGE MINCED ONION WHITE WINE HONEY TARRAGON ORANGE LIQUOER (GRAN MARNIER) FLOUR BUTTER 2 1 2 1 1 0.25 0.50 1 2 4 CUP TABLESPOONSTEASPOON TEASPOON TEASPOON CUP CUP HARDBOILED CUPS MAYONNAISE VINEGAR SUGAR SALT PEPPER CHOPPED ONION CHOPPED CELERY EGGS, CHOPPED COOKED POTATOES( PEEL,SLICE,COOK.) 2 2 1 0.50 1 2 1 4 0.25 1 BREASTS CUP CUP DASH WHOLE TABLESPOON TABLESPOONSCUP TABLESPOON CHICKEN, CUT INTO STRIPS. ORANGE JUICE WHITE WINE DRIED RED PEPPER GREEN ONIONS, CUT INTO 2 INCH PCS. SOY SAUCE FRESH ORANGE PEEL DRY ROASTED PEANUTS CORN STARCH 2 2 0.50 3 3 1 4 CUTLETS CUP TABLESPOONSTEASPOONS TABLESPOON WHOLE CHICKEN(WHOLE, THICK ONES) APRICOT PRESERVES MAPLE SYRUP LEMON JUICE BUTTER SWEET POTATOES-COOKED,PEELED,HALVED 2 2 2 1 1 0.50 2 2 4 CUTLETS TABLESPOONSCLOVE DASH TEASPOON TABLESPOONSTABLESPOONSSLICES VEAL CORNSTARCH GARLIC, CHOPPED BLACK PEPPER PAPRIKA CAPERS, DRAINED LEMON JUICE LEMON 2 1 1 0.25 1 1 POUND BOTTLE CUP SLICED SLICED MEDIUM SHRIMP, CLEANED,WITH TAIL ONITALIAN STYLE SALAD DRESSING HONEY LEMON ORANGE 2 4 4 4 LARGE TABLESPOONSWHOLE NEW (RED) POTATOES, SCRUBBED BUTTER SCALLIONS, CHOPPED 2 1 0.50 0.50 1 0.50 0.13 LARGE CUP CUP 6 OZ. CAN TEASPOON TEASPOON ACORN SQUASH, SCRUBBED BUTTER BROWN SUGAR ORANGE JUICE CONCENTRATE, THAWED CINNAMON, GROUND NUTMEG, GROUND 2 4 1 0.50 1.50 1 0.50 EGGS TABLESPOON TEASPOON CUPS 10 OZ CUP BEATEN MILK GARLIC, CHOPPED FROZEN HASH BROWNS(ONIONS & PEPPERSFROZEN CHOPPED SPINACH, THAWED SHREDDED SWISS CHEESE (2 OZ.) 2 1 1 2 2 2 1 2 1 0.33 0.33 CUP CUP TEASPOONS CLOVES TEASPOONS POND WHOLE CUP CUP CUP DRY SHERRY SOY SAUCE GROUND GINGER GARLIC, MASHED DRY MUSTARD CHICKEN WINGS AND DRUMSTICKS SCALLIONS, CHOPPED CHILI SAUCE HONEY RED WINE VINEGAR 2 2 2 2 0.66 DASH 0.50 1.50 1 2 1 CUTLETS TABLESPOONSTABLESPOONSCUP DASH TEASPOON CUPS TEASPOON TABLESPOONSTABLESPOON VEAL OLIVE OIL ONION, FINELY CHOPPED BLACK OLIVES, PITTED & SLICED HOT PEPPER FLAKES(OPTIONAL) MINCED GARLIC TOMATOES, CHOPPED DRIED OREGANO PARSLEY, FINELY CHOPPED CAPERS FLOUR FOR DREDGING OLIVE OIL FOR SHALLOW FRYING 2 12 4 1 1 0.50 5 4 0.25 3 4 SMALL TABLESPOONSTEASPOON TABLESPOON CUP TABLESPOONSSLICES CUP TABLESPOONSWEDGES CLAMS MARSALA WINE GARLIC, CHOPPED FINE. FRESH PARSLEY, CHOPPED BUTTER FRESH RED PEPPER, CHOPPED BACON, UNCOOKED DRY ITALIAN FLAVOR BREAD CRUMBS LEMON JUICE FRESH LEMON 2 2 0.50 0.25 0.25 1 0.25 CUTLETS CUP CUP CUP TABLESPOON CUP TURKEY, POUNDED THIN DRY ITALIAN FLAVOR BREAD CRUMBS HEINZ HOMESTYLE BROWN GRAVY VEGETABLE OIL DRY DILL MARSALA WINE 2 1 1 8 1 1 LARGE LARGE OUNCES CUP EGGPLANT JAR SPAGHETTI SAUCE MOZZARELLA CHEESE, SHREDDED EGG ITALIAN FLAVOR DRY BREAD CRUMBS VEGETABLE OIL GRATED PARMESAN CHEESE 2 4 4 0.50 1 1 SAUSAGES SAUSAGES MEDIUM LARGE VEGETABLE OIL SWEET ITALIAN SAUSAGES HOT ITALIAN SAUSAGES GREEN PEPPER, SLICED ONION, SLICED JAR SPAGHETTI SAUCE COOKED SPAGHETTI 2 1 4 0.50 2 1 1 4 POUND SLICES CUP TABLESPOONSTEASPOON CUP WHOLE SHRIMP,SHELLED,DEVEINED,& BUTTERFLYBACON, COOKED AND CRUMBLED WHITE WINE BUTTER GARLIC, CHOPPED MUSHROOMS, SLICED SCALLIONS, SLICED INTO 1 INCH PCS. p6pr`P7wWw00??)=**?*ʩ秿)=)=Ϫ?08PxUOUGUSQTC%/??U?GQyQyTTӳ37q3**?JO*z+{*?3703TUUOUGUSUQQT^U??UGRSUQTs303pϪ?? *?(x(<33f330T??G??UQ=? m?*UU???b72?kf m?UPUQ* ??? m?*UOT*U UUU@??ÿ?}?ߞ m?UPUTUUTQ*QU ??Ø˘?^/}k?b m?*UOT*U UUU@???>?>|cx m?UPUTUUTQ*QU ???>?>|c` m?*UOT*U UUU@??ØϘ?^/}k?>b m?UPUTUUTQ*QU ??ÿ?}? m?*UOT*U UUU@??À<<??? m?UPUTUUTQ*QU ?? m?*UOT*U UUU@?? m ?UPUTUUTQ*QU ??mmmmmmmmmmmmmmmm?*UOT*U UUU@??mmmmmmmmmmmmmmmm?UPUTUUTQ*QU ??mmmmmmmmmmmmmmmm?*UOT*U UUU@?? m ?UPUTUUTQ*QU ??? m?*UOT*U UUU@????~ m?UPUTUUTQ*QU ????| m?*UOT*U UUU@????^fצ_o1}^f m?UPUT UUTQ*UUUUUUUU ???fdžo}f m?*UUUUUUUUT*U UUU@???f}| m?UPUTUUTQ*UUUUUUUU ????^f1}^a m?*UUUUUUUUT*U UUU@????w| m?UPUTUUTQ* ????~ m?**UUUUUUUUUUUUUU@??? m?UPUUUUUUUUUUUUUTQ* ?? m ?**UUUUUUUUUUUUUU@??mmmmmmmmmmmmmmmm?UPUUUUUUUUUUUUUTQ* ??mmmmmmmmmmmmmmmm?**UU??mmmmmmmmmmmmmmmm?UPUQ?? m ?*UUUUUUUUUUUUUUUU??? m?UUUUUUUUUUUUUUUUQ??????|?> m?*UUUUUUUUUUUUUUUU???}}?ߞ m?UUUUUUUUUUUUUUUUQ???^b?/}k?b m??x?>|cx m??`?G>|c` m??b/}k?>b m??y}? m??>??? m?? m? m ?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm? m ?? m??|? m??}? m??o}?k/ m??o|?c m??o|c m??}k? m??g} m???? m??8 m? m ?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm?mmmmmmmmmmmmmmmm??UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTU?UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT?UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTx~~~~~~UUUUUUW #include #undef EOF #include #include #include "account.h" #include #include #include /**********************************************************************/ /* DEFINES */ /*********************************************************************/ #define WI_KIND (SIZER|MOVER|FULLER|CLOSER|NAME) #define EOL '\n' /*********************************************************************/ /* GLOBAL VARIABLES */ /*********************************************************************/ FILE *fp1; FILE *fp2; FILE *fp3; FILE *pr; float get_float(); int gl_hchar; int gl_wchar; int gl_wbox; int gl_hbox; /* system sizes */ int phys_handle; /* physical workstation handle */ int handle; /* virtual workstation handle */ int contrl[12]; int intin[128]; int ptsin[128]; int intout[128]; int ptsout[128]; /* storage wasted for idiotic bindings */ int work_in[11]; /* Input to GSX parameter array */ int work_out[57]; /* Output from GSX parameter array */ int pxyarray[10]; /* input point array */ int wi_handle; /* window handle */ int top_window; /* handle of topped window */ int xdesk,ydesk,hdesk,wdesk; int xold,yold,hold,wold; int xwork,ywork,hwork,wwork; /* desktop and work areas */ int xobj,yobj,hobj,wobj; int mx,my; /* mouse x and y pos. */ int butdown; /* button state tested for, UP/DOWN */ char password[6]; int *dummy; int pasok ; int pass ; int crec = 1 ; /* cheque record */ int srec = 1 ; /* standing order rec */ int tdate ; int day ; int month ; int number ; int year ; struct info { float balance ; char n_password[6] ; int chk_rec ; int std_rec ; int curmth; }; struct info old = {00000.00,"12345",1,1,00}; struct record { char payee[20]; int chk_cleared ; float chk_number ; float chk_amount ; }; struct record cheque = {"dddddddd",0,0000000.00,000000.00}; struct stand { char payee[20]; int number; int date; float amts; int d_flag; int m_flag; }; struct stand sords = {"aaaaaa",0000,00000,000000.00,00,00}; typedef union { struct { unsigned day : 5; unsigned month : 4; unsigned year : 7; unsigned seconds : 5; unsigned minutes : 6; unsigned hours : 5; } part; long realtime; } time; /******************************************************************/ main() { int resolution ; int i ,x,c,cmth,ende; long gemdos(); OBJECT *tree; char dummy1[10],dummy2[10]; time mytime; open_work(); appl_init(); graf_mouse(3,&dummy); /* mouse = hand */ phys_handle=graf_handle(&gl_wchar,&gl_hchar,&gl_wbox,&gl_hbox); resolution = Getrez(); wi_handle=wind_create(WI_KIND,xdesk,ydesk,wdesk,hdesk); wind_get(0, WF_WORKXYWH, &xdesk, &ydesk, &wdesk, &hdesk); if (resolution != 1) { form_alert(1,"[1][ Medium Resolution | Only ][OK]"); good_by1(); } if (!rsrc_load("account.rsc")) { /* If not found display alert box and then abort. */ form_alert(1, "[1][Cannot find account.rsc file|Terminating ...][OK]"); good_by1(); } if((fp1 = fopen("file1","br+"))==0) { fp1 = fopen("file1","bw+"); fclose(fp1); } if((fp2 = fopen("file2","br+"))==0) { fp2 = fopen("file2","bw+"); fclose(fp2); } if((fp3 = fopen("file3","br+"))==0) { fp3 = fopen("file3","bw+"); fclose(fp3); } fp1 = fopen("file1","br+"); fp2 = fopen("file2","br+"); fp3 = fopen("file3","br+"); setbuf(fp1,NULL); setbuf(fp2,NULL); setbuf(fp3,NULL); rsrc_gaddr(R_TREE,TREE10,&tree);/* main menu tree*/ hndl_dialog(tree); /* Call routine to handle the dialog entry. */ get(fp1,&old,0); fflush(stdout); /* Get the date and time with the long word of the time data structure. */ mytime.realtime = Gettime(); day = mytime.part.day; month = mytime.part.month; year = mytime.part.year + 80; if ( old.curmth != month ) { cmth = FALSE; old.curmth = month; } else cmth = TRUE; crec = old.chk_rec ; srec = old.std_rec ; passw(); pasok = strcmp(old.n_password,password); if (pasok != 0) { form_alert(1, "[3][Incorrect Password| Access Denied !! ][OK]"); good_by(); } for ( i = 1; i <= srec-1 ; i++) { if((x = get3(fp3,&sords,i)) == EOF ) form_alert(1, "[2][Error in reading record ][OK]"); fflush(stdin); if ( sords.number != 0 ) { if ( cmth == FALSE ) sords.d_flag = FALSE; if ( day >= sords.date && sords.d_flag == FALSE) { old.balance = (old.balance - sords.amts); sords.d_flag = TRUE; } } if (( x = put3(fp3,&sords ,i )) != 0) form_alert(1, "[2][Error in writing | standing order file ][OK]"); fflush(stdout); } display(); } /*******************************************************/ display() { int ende; long gemdos(); int item,event; long tree; rsrc_gaddr(R_TREE,TREE03,&tree);/* main menu tree*/ form_center(tree, &xobj, &yobj, &wobj, &hobj); form_dial(0, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(1, 1,1,1,1 ,xobj, yobj, wobj, hobj); objc_draw(tree, 0, MAX_DEPTH, 0,0, wdesk, hdesk); while (ende != TRUE) { event = evnt_button(1,1,1,&mx,&my,&dummy,&dummy); item = objc_find (tree,0,20,mx,my); switch(item){ case AM1: objc_change(tree,AM1,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM1,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); stand_ord(); break; case AM2: objc_change(tree,AM2,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM2,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); cheque_inp(); break; case AM3: objc_change(tree,AM3,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM3,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); clear_cheque(); break; case AM4: objc_change(tree,AM4,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM4,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); credits(); break; case AM5: objc_change(tree,AM5,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM5,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); delete_so(); break; case AM6: objc_change(tree,AM6,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM6,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); fflush(stdin); print_cheque(); break; case AM7: objc_change(tree,AM7,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM7,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); new_pass(); break; case AM8: objc_change(tree,AM8,0,xwork,ywork,wwork,hwork,SELECTED,1); ende = TRUE; objc_change(tree,AM8,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); fflush(stdout); good_by(); break; } } /* end for while*/ } /****************************************************************/ /* standing order setup */ /****************************************************************/ stand_ord() { int x; char dummy1[10], dummy2[3], dummy3[20], dummy4[10]; OBJECT *tree; rsrc_gaddr(0, TREE05, &tree); /* get address of dialog tree */ sords.date = 0 ; /* set date to default */ sprintf(dummy1,"%d",srec); dummy2[0] = '\0'; /* initial position for cursor */ /* Make the TEDINFO string pointer point to your input array.*/ ((TEDINFO *)tree[SO2].ob_spec)->te_ptext = dummy2; ((TEDINFO *)tree[SO2].ob_spec)->te_txtlen = 3; dummy3[0] = '\0'; ((TEDINFO *)tree[SO3].ob_spec)->te_ptext = dummy3; ((TEDINFO *)tree[SO3].ob_spec)->te_txtlen = 19; dummy4[0] = '\0'; ((TEDINFO *)tree[SO4].ob_spec)->te_ptext = dummy4; ((TEDINFO *)tree[SO4].ob_spec)->te_txtlen = 9; tree[SO1].ob_spec = dummy1; objc_change(tree,EXI,0,xwork,ywork,wwork,hwork,NORMAL,0); hndl_dialog(tree); /* Call routine to handle the dialog entry. */ sscanf(dummy2,"%d",&sords.date); sprintf(sords.payee,"%s",dummy3); sscanf(dummy4,"%f",&sords.amts); if(sords.date == 0) { fflush(stdout); display(); } sords.number = srec; put3(fp3,&sords,srec ); srec++; old.std_rec = srec; if (( x = put(fp1,&old,0)) != 0) form_alert(1, "[2][Error in writing | info record ][OK]"); fflush(stdout); display(); } /****************************************************************/ /* cheque input */ /****************************************************************/ cheque_inp() { int x ; OBJECT *tree; int test; /* test for valid cheque */ char dummy1[10],dummy2[20],dummy3[10],dummy4[10]; cheque.chk_number = 0 ; /* set default for cheque number */ cheque.chk_amount = 0 ; /* set default for ammount */ sprintf(dummy4,"%6.2f",old.balance);/*in memory type convert*/ rsrc_gaddr(0, TREE00, &tree); /* get address of dialog tree */ dummy1[0] = '\0'; /* initial position for cursor */ /* Make the TEDINFO string pointer point to your input array.*/ ((TEDINFO *)tree[CHKNUM].ob_spec)->te_ptext = dummy1; ((TEDINFO *)tree[CHKNUM].ob_spec)->te_txtlen = 9; dummy2[0] = '\0'; ((TEDINFO *)tree[CHKPAY].ob_spec)->te_ptext = dummy2; ((TEDINFO *)tree[CHKPAY].ob_spec)->te_txtlen = 19; dummy3[0] = '\0'; ((TEDINFO *)tree[CHKAMT].ob_spec)->te_ptext = dummy3; ((TEDINFO *)tree[CHKAMT].ob_spec)->te_txtlen = 9; tree[CURBAL].ob_spec = dummy4; objc_change(tree,OK,0,xwork,ywork,wwork,hwork,NORMAL,0); hndl_dialog(tree); /* Call routine to handle the dialog entry. */ test = 0; sscanf(dummy1,"%f",&cheque.chk_number); sprintf(cheque.payee,"%s",dummy2); sscanf(dummy3,"%f",&cheque.chk_amount); sscanf(dummy1,"%d",&test); if (test == 0 ) /* test for valid cheque input */ { fflush(stdout); fflush(stdin); display(); } cheque.chk_cleared = 1; old.chk_rec = crec; /* update record number */ old.balance = (old.balance - cheque.chk_amount); put2(fp2,&cheque,crec ); crec++; old.chk_rec = crec; if (( x = put(fp1,&old,0)) != 0); fflush(stdout); display(); } /****************************************************************/ /* clear cheques */ /****************************************************************/ clear_cheque() { int x; char dummy1[10]; char dummy2[10]; int recnum,loop,item,event,i; OBJECT *tree; rsrc_gaddr(0, TREE02, &tree); /* get address of dialog tree */ form_center(tree, &xobj, &yobj, &wobj, &hobj); form_dial(0, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(1, 1,1,1,1 ,xobj, yobj, wobj, hobj); recnum = crec ; for ( loop = 1 ; loop <= ( recnum-1 ) ; loop++) { get2(fp2,&cheque,loop); if (cheque.chk_cleared != 0 ) { sprintf(dummy1,"%6.0f",cheque.chk_number);/*in memory type convert*/ sprintf(dummy2,"%6.2f",cheque.chk_amount); tree[CCHKNUM].ob_spec = dummy1; tree[CCHKPAY].ob_spec = cheque.payee; tree[CCHKAMT].ob_spec = dummy2; objc_draw(tree, 0, MAX_DEPTH, 0,0, wdesk, hdesk); event = evnt_button(1,1,1,&mx,&my,&dummy,&dummy); item = objc_find (tree,0,MAX_DEPTH,mx,my); objc_change(tree,CLEAR,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,CLEAR,0,xwork,ywork,wwork,hwork,NORMAL,1); objc_change(tree,UCLEAR,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,UCLEAR,0,xwork,ywork,wwork,hwork,NORMAL,1); if ( item == 8) cheque.chk_cleared = 0; else cheque.chk_cleared = 1; put2(fp2,&cheque,loop ); } } form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); fflush(stdin); display(); } /****************************************************************/ /* print cheques */ /****************************************************************/ print_cheque() { int ende,item,event,x; OBJECT *tree; ende = FALSE; x = Cprnos(); if (x == 0) { form_alert(1, "[3][Your printer is not | Online please TURN ON ! ][OK]"); fflush(stdout); display(); } pr = fopen ("PRT:","w"); setbuf(pr,NULL); rsrc_gaddr(0, TREE04, &tree); /* get address of dialog tree */ form_center(tree, &xobj, &yobj, &wobj, &hobj); form_dial(0, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(1, 1,1,1,1 ,xobj, yobj, wobj, hobj); objc_draw(tree, 0, MAX_DEPTH, 0,0, wdesk, hdesk); while (ende != TRUE) { event = evnt_button(1,1,1,&mx,&my,&dummy,&dummy); item = objc_find (tree,0,MAX_DEPTH,mx,my); switch(item) { case PT1: objc_change(tree,PT1,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,PT1,0,xwork,ywork,wwork,hwork,NORMAL,1); ende = TRUE; form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); do_p_one(); break; case PT2: objc_change(tree,PT2,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,PT2,0,xwork,ywork,wwork,hwork,NORMAL,1); ende = TRUE; form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); do_p_two(); break; case PT3: objc_change(tree,PT3,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,PT3,0,xwork,ywork,wwork,hwork,NORMAL,1); ende = TRUE; form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); do_p_three(); break; case RET: objc_change(tree,RET,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,RET,0,xwork,ywork,wwork,hwork,NORMAL,1); ende = TRUE; form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); break; } } fflush(stdout); display(); } /*****************************************************************/ /* print out 1*/ /*****************************************************************/ do_p_one() { int recnum ; int loop; int c; int x ; recnum = crec; fprintf(pr,"\t\t CHEQUES ISSUED as of"); fprintf(pr," %d/%d/%d\n",day,month,year); fprintf(pr,"\nRecord\t\tNumber\t\t Amount\t\tPayee"); fprintf(pr,"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); for (loop = 1 ; loop <= (recnum-1) ; loop++) { get2(fp2,&cheque,loop); fprintf(pr," %d",loop); fprintf(pr,"\t\t%6.0f",cheque.chk_number); fprintf(pr,"\t\t%6.2f",cheque.chk_amount); fprintf(pr,"\t\t%s\n",cheque.payee); } fprintf(pr,"\t Balance to date :%6.2f",old.balance); fflush(pr); display(); } /****************************************************************/ /* print out 2 */ /****************************************************************/ do_p_two() { int x ; int c ; int loop ; int recnum ; fprintf(pr,"\n\n\n\t\t UNCLEARED ITEMS"); fprintf(pr,"\n\t\t ~~~~~~~~~~~~~~~"); fprintf(pr,"\n\tUncleared up to %d/%d/%d",day,month,year); fprintf(pr,"\n\n\n\n\t\tNumber\t\t Amount\t\tPayee"); fprintf(pr,"\n\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); recnum = crec ; for ( loop = 1 ; loop <= ( recnum-1 ) ; loop++) { get2(fp2,&cheque,loop); if (cheque.chk_cleared != 0 ) { fprintf(pr,"\t\t%6.0f",cheque.chk_number); fprintf(pr,"\t\t%6.2f",cheque.chk_amount); fprintf(pr,"\t\t%s\n",cheque.payee); } fflush(pr); } display(); } /****************************************************************/ /* print out 3 */ /****************************************************************/ do_p_three() { int x ; int c ; int loop ; int recnum ; fprintf(pr,"\n\t\t STANDING ORDERS"); fprintf(pr,"\n\t\t ~~~~~~~~~~~~~~~~"); fprintf(pr,"\n\tActive as of %d/%d/%d\n",day,month,year); for (loop = 1 ; loop <= srec-1; loop++) { get3(fp3,&sords,loop); fflush(stdout); if (sords.number != 0 ) { fprintf(pr,"\n Current record number : %d",loop); fprintf(pr,"\n Standing order number : %d",sords.number); fprintf(pr,"\n Standing order date : %d",sords.date); fprintf(pr,"\n Recipient of order : %s",sords.payee); fprintf(pr,"\n Standing order amount %6.2f\n\n",sords.amts); } } fflush(pr); display(); } /****************************************************************/ /* debit credit */ /****************************************************************/ credits() { OBJECT *tree; float credit,debit = 0.0; char dummy1[10],dummy2[10],dummy3[10]; int x; rsrc_gaddr(0, TREE06, &tree); /* get address of dialog tree */ dummy1[0] = '\0'; sprintf(dummy3,"%6.2f",old.balance); ((TEDINFO *)tree[CRED].ob_spec)->te_ptext = dummy1; ((TEDINFO *)tree[CRED].ob_spec)->te_txtlen = 9; dummy2[0] = '\0'; ((TEDINFO *)tree[DEBI].ob_spec)->te_ptext = dummy2; ((TEDINFO *)tree[DEBI].ob_spec)->te_txtlen = 9; tree[DBAL].ob_spec = dummy3; hndl_dialog(tree); /* Call routine to handle the dialog entry. */ objc_change(tree,EX,0,xwork,ywork,wwork,hwork,NORMAL,0); sscanf(dummy1,"%f",&credit); sscanf(dummy2,"%f",&debit); old.balance = ( old.balance + credit ); old.balance = ( old.balance - debit ); if (( x = put(fp1,&old,10)) != 0) form_alert(1, "[2][Error in writing | info record ][OK]"); fflush(stdout); display(); } /****************************************************************/ /* delete s/o */ /****************************************************************/ delete_so() { char dummy1[10],dummy2[20],dummy3[10]; int recnum; int item; int event; int n; OBJECT *tree; rsrc_gaddr(0, TREE07, &tree); /* get address of dialog tree */ form_center(tree, &xobj, &yobj, &wobj, &hobj); form_dial(0, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(1, 1,1,1,1 ,xobj, yobj, wobj, hobj); for(n = 1; n <= (srec-1);n++) { get3(fp3,&sords,n); get(fp1,&old,0); if (sords.number != 0 ) { sprintf(dummy1,"%d",sords.number); sprintf(dummy2,"%s",sords.payee); sprintf(dummy3,"%6.2f",sords.amts); tree[SNUM].ob_spec = dummy1; tree[SPAYEE].ob_spec = dummy2; tree[SAMOUNT].ob_spec = dummy3; objc_draw(tree, 0, MAX_DEPTH, 0,0, wdesk, hdesk); event = evnt_button(1,1,1,&mx,&my,&dummy,&dummy); item = objc_find (tree,0,MAX_DEPTH,mx,my); objc_change(tree,SOK,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,SOK,0,xwork,ywork,wwork,hwork,NORMAL,1); objc_change(tree,SCANCEL,0,xwork,ywork,wwork,hwork,SELECTED,1); objc_change(tree,SCANCEL,0,xwork,ywork,wwork,hwork,NORMAL,1); form_dial(2, 0,0,0,0,xobj, yobj, wobj, hobj); form_dial(3, 1,1,1,1 ,xobj, yobj, wobj, hobj); if ( item == 5) sords.number = 0 ; put3(fp3,&sords,n); } } fflush(stdout); display(); } /*******************************************************************/ /* NEW PASS*/ /******************************************************************/ new_pass() { char dummy1[10]; char crypt[10]; int i ; OBJECT *tree; rsrc_gaddr(0, TREE08, &tree); /* get address of dialog tree */ dummy1[0] = '\0'; ((TEDINFO *)tree[NPASS].ob_spec)->te_ptext = dummy1; ((TEDINFO *)tree[NPASS].ob_spec)->te_txtlen = 6; hndl_dialog(tree); /* Call routine to handle the dialog entry. */ objc_change(tree,OUT,0,xwork,ywork,wwork,hwork,NORMAL,0); strncpy(old.n_password,dummy1,5); put(fp1,&old,0); fflush(stdout); display(); } /*******************************************************************/ /* good bye*/ /******************************************************************/ good_by() { appl_exit(); fclose(fp1); fclose(fp2); fclose(fp3); v_clsvwk(handle); exit(); } /*******************************************************************/ /* good bye1 without closing files */ /******************************************************************/ good_by1() { appl_exit(); v_clsvwk(handle); exit(); } /****************************************************************/ /* open virtual workstation */ /****************************************************************/ open_work() { int i; handle = phys_handle; for ( i = 0 ; i < 10; work_in[i++] = 1 ); work_in[10] = 2 ; v_opnvwk(work_in,&handle,work_out); } /**********************************************************************/ /*GET PASSWORD */ /**********************************************************************/ passw() /* get password */ { OBJECT *tree; rsrc_gaddr(0, TREE09, &tree); /* get address of dialog tree */ password[0] = '\0'; /* initial position for cursor */ /* Make the TEDINFO string pointer point to your input array.*/ ((TEDINFO *)tree[PASSIN].ob_spec)->te_ptext = password; ((TEDINFO *)tree[PASSIN].ob_spec)->te_txtlen = 6; hndl_dialog(tree); /* Call routine to handle the dialog entry. */ fflush(stdout); } /**********************************************************************/ /* WRITE RANDOM RECORD */ /*********************************************************************/ put(fp1,recrd,num) FILE *fp1; struct info *recrd; int num; { long strec ; int code,rlen,i ; rlen = sizeof *recrd; strec = num * rlen ; if (( code = fseek(fp1,strec,0)) != NULL) { if (( code = fseek(fp1,0L,2)) != NULL) return(-1); while ((code = fseek(fp1,strec,0)) != NULL) for (i = 0 ; i < rlen ; i++ ) fputc('\0',fp1); } if (( code = fwrite(recrd,rlen,1,fp1)) == 1) return(0); else return(1); } /**********************************************************************/ /* READ RANDOM RECORD */ /**********************************************************************/ get(fp1,recrd,num) /* read random record */ FILE *fp1; struct info *recrd ; int num; { long strec ; int code,rlen,i ; rlen = sizeof *recrd ; strec = num * rlen ; if ((code = fseek(fp1,strec,0)) != NULL) return (EOF) ; if ((code = fread(recrd,rlen,1,fp1)) == 1) return (0); else return(1); } /**********************************************************************/ /* WRITE RANDOM RECORD 2 */ /*********************************************************************/ put2(fp2,recrd,num) FILE *fp2; struct record *recrd; int num; { long strec ; int code,rlen,i ; rlen = sizeof *recrd; strec = num * rlen ; if (( code = fseek(fp2,strec,0)) != NULL) { if (( code = fseek(fp2,0L,2)) != NULL) return(-1); while ((code = fseek(fp2,strec,0)) != NULL) for (i = 0 ; i < rlen ; i++ ) fputc('\0',fp2); } if (( code = fwrite(recrd,rlen,1,fp2)) == 1) return(0); else return(1); } /**********************************************************************/ /* READ RANDOM RECORD 2 */ /**********************************************************************/ get2(fp2,recrd,num) /* read random record */ FILE *fp2; struct record *recrd ; int num ; { long strec ; int code,rlen,i ; rlen = sizeof *recrd ; strec = num * rlen ; if ((code = fseek(fp2,strec,0)) != NULL) return (EOF) ; if ((code = fread(recrd,rlen,1,fp2)) == 1) return (0); else form_alert(1, "[2][Error in reading info record ][OK]"); return(1); } /**********************************************************************/ /* WRITE RANDOM RECORD 3 */ /*********************************************************************/ put3(fp3,recrd,num) FILE *fp3; struct stand *recrd; int num; { long strec ; int code,rlen,i ; rlen = sizeof *recrd; strec = num * rlen ; if (( code = fseek(fp3,strec,0)) != NULL) { if (( code = fseek(fp3,0L,2)) != NULL) return(-1); while ((code = fseek(fp3,strec,0)) != NULL) for (i = 0 ; i < rlen ; i++ ) fputc('\0',fp3); } if (( code = fwrite(recrd,rlen,1,fp3)) == 1) return(0); else return(1); } /**********************************************************************/ /* READ RANDOM RECORD 3 */ /**********************************************************************/ get3(fp3,recrd,num) /* read random record */ FILE *fp3; struct stand *recrd ; int num; { long strec ; int code,rlen,i ; rlen = sizeof *recrd ; strec = num * rlen ; if ((code = fseek(fp3,strec,0)) != NULL) return (EOF) ; if ((code = fread(recrd,rlen,1,fp3)) == 1) { return (0);} else form_alert(1, "[2][Error in reading info record ][OK]"); return(1); } /******************************************************************/ /*handle diolgue box*/ /******************************************************************/ hndl_dialog(tree) OBJECT *tree; { int cx, cy, cw, ch; /* Last four coordinates are calculated so that when displayed the dialog appears in the center of the screen. */ form_center(tree, &cx, &cy, &cw, &ch); /* Initialise AES to prepare it for a dialog. */ form_dial(0, 0,0,0,0,cx, cy, cw, ch); form_dial(1, 0,0,0,0,cx, cy, cw, ch); /* Draw the dialog. */ objc_draw(tree, ROOT, MAX_DEPTH, cx, cy, cw, ch); /* Form_do will not return until the exit button is selected. */ form_do(tree, 0); /* editable field */ /* Tell the AES to redraw the screen area behind dialog */ form_dial(2, 0,0,0,0,cx, cy, cw, ch); form_dial(3, 0,0,0,0,cx, cy, cw, ch); } ACCOUNTS PROGRAM This program was written with LASER 'C' from Megamx inc. This program was my first attempt at a GEM program, after many hours at the keyboard this is the result. The first versions were written with Megamax and the final version in LASER 'C', which for the interested is a much improved version of Megamax,the parts that caused me the problems with Gem seem to have been cured or explained better in the doc.s The program consists of two parts ACCOUNT.PRG and ACCOUNT.RSC both of these must be present on the disc for the program to run, the program will create three more files if these are not present on the disc ie. FILE1,FILE2,FILE3 these are used to hold the account information. The program will run much better with a R.T.C installed in your ST, or you must set the date correctly before running this program as when the program is run it will automatically remove from its copy of your account your standing orders at the date (day only) that you have selected. PLEASE NOTE THE PASSWORD TO OBTAIN ACCESS TO THE PROGRAM IS 12345 The password may be altered by the user to any alpha/numeric combination up to 5 characters `hdKJ$f(ByhOq/9n0?<HNA\OJk.@n0`6 - ЭЭйn0"ҍ¼.A// Bg?<JNA #w yw/(,HhNP/9t/9s?9rtN+(N*lNT?<N6(NVN$NI܇ۄHAHB>܇ۄH@HC>܇ۄ>ڇلHDHEHF8:|HB>ڇن>؇HC>ڇنH@HB>ڇن~>(JkڅلSG <"FHD„v 歊ȀۆنGk Gc xz`xz`SGOHG؇Jj LN^NuNVH n $& n "(*fJgx(fJgt H@8HB:LME,<.*FHÁ…HC΃ƅąb fbRD1DHBHC.h~>ЇHG~` B@H@:|FH@HAHF<0BAHBHC8:ǒxjSG҃тd6BBHBHC,h ,ІHF|` B@H@:ƒ*HEHE8BEjSF҃BdHG>H@HA0,h ,ІHF|` B@H@6HC:2HAH@xDjSF҃dhrHF<x8(z <"FHG‡v 殌΀݅߅Dk Dc ~|`~|`SDLHDބJj LN^NuNV 9nAqА䀰|l ynXn 0<`0<N^NuNVH`Yn yn PN 9nAqАfAn*H`0- |g / N6X An"Ҽ@m?.NPTL N^NuNVH*n0- |g/ N7Xg0<`20- |g /-N@XBm ?- N`Tg0<`0<L N^NuNVH*n0- |f0<`r.0- |gV0- |f0<`R0- |g?<B?- N>.P?/-?- NGP @f m@ 0<`m *Bm0<L N^NuNVH *n BnH|bf=| RH Erg Ewg Eag 0<H`j 9q(@Jf.An(H`0, |f` An"Ҽ@m An"Ҽ@m 0<H`BqBl -H|+W|g l l Ewf0fl `x EafB?<0<n?/.NB:P>JGm ?<B?N>.Pl 0fl `.Bg0g0<`0<n?/.NB:P>0fl Gf Bl 0<H`9G Bl <()@9yo L0N^NuNV#q/.N6X/. /.N7PN^NuNVA X//. /.NRO N^NuNV n Sh0(J@m. n "R AH|`/. . H?Na\NqN^NuNVH *n(n0. 2,>Am@0g(?/ /N_VO 0H0Hє0n 0l/ N`Xg0<`0. 2,>Aor0g&?/ /N_VO 0Hє0H0n Bl>. `0HF0g?/ ?, NDP<J@nJFnJFl0<@`0< l 0<`(`"?. / /N_VO 0. Hє0. l0<L0N^NuNVH *n(n0, |g0, |fl 0, |f0<`TJnn0<`H ,f/ NVhX(BlBG` RG0. HSn0.J@m/ ?. / N9O g0L0N^NuNVH*n0- |g/ N7Xg0<``` 0- |g nf 0-H *m ?./. ?- N>.PJl <`Bm0- |gm 0<L N^NuNVH *n(n`":,A>. Eo>`>. 0g60n ?// N_VO 0H0Hє0,g0lGl JEf/ N7Xg0<`":,A0. Emv=n 0g<. 2. HHAA`<. 0n `G0H0g?/ ?, NGP>J@n Gf&l@ ?<0.FH/?, N>.P0<` 0. f0<L0N^NuNVH*n>. <.(n0, |g0, |fl 0, |f0<` ,f/ NVhX(9lBE`RE0HSF0J@m/ ?/ N<O g0, |ff gX0, |g/ N7Xgl@ `:&l`R g H| f gH| f/ N7Xgl@ Bl0L8N^NuNVJnl3rv <`H?.?./. ?<BN*O -@Jm .`?<?.B?<BN*O -@Jl .3rv <`?<?.B?<BN*O -@ nf .Ю -@ `& nf .Ю -@ `0.g <` . oH?.NBT|J@f .3rv <``` Hn . /?.?<@N*O Bg?./. ?<BN*O J]|=@g3rv <`` . NqN^NuNVH .<".ҼS/"</NOx"X/./NO. /NFLX*@f <`(M)G P/N@X 9oL0N^NuNVH .<".PS/"</NOx"Xށ 9o(@JfAq (@#o#qBq*T -e* -f(`  -+G#o P`( of/N?X*@Jf <`(M*U`L0N^NuNV0./N@XN^NuNVH .f`v .Q*@(yo` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#oL0N^NuNVBn`<0.@Ar00f&0.@Ar10.@Ar1 ` Rn nmN^NuNVBn`*0.@Ar00nf0.@ArBpRn nmN^NuNVH>.=|\Ar"HPgXHf0(LN^NuNVHHyo/.NGPfBG`Hyo/.NGPf><`Hyo/.NGPf><`0. |gR0. |?/.?<=N*P>J@m 0. |g&JGm??<>N*XBg/.?<`j0. |gD0. |?/.?<=N*P>J@m"??<>N*XBg/.?<`0. |?/.?<=N*P>JGl 3rv0<`?. ?NAtX0LN^NuNVHn/<?.?<?N*O f|.HN^NuNV09oyof0<3o3o`BgNCT=@ nf09ogSyo` n f009oRyoAq ?< ?<?<N*n\` nf ?<N6(T nfD0.29oRyoAq?< ?<?<N*n\?< ?<?<N*n\`"0.29oRyoAq0<f 09oAq0H|f0<`09oRyoAq0HNqN^NuNVH *n 0.-@Byrv?.NbTg6B`NCH|f``RR0.SnJ@f .``4/. /.?.?<?N*O -@Jl .3rv0<`?.NBT| f .=@ . *@(@`v HmT/ 0./?.?<?N*O -@Jl .3rv0<`F .f`.0.*LH| fR`Sn0.f H-@ .L0N^NuNV/.?<HN*\-@ .f-|3rv .N^NuNV0./NFLXN^NuNVH*nJ fm m Bm`@m m . *+@;| Ang Anf Anh m BmL N^NuNV .#o#o3o/./. HyoNRO yoB .N^NuNVA X//. /.NGO N^NuNVHn B/.BgN\ON^NuLB@ggSBAgHJ@gHANuNVH*n(n >.&MNqSG0J@mf`BSG0J@l L8N^NuNVH*n (MBn ng?.NBT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@N*O <Hg 3rv0<`dA&H0f~ =@`J/ 0./?.?<@N*O -@2.¼g .3rv0<` .n0.L8N^NuNV?<NMT0<N^NuNVAx#xAt#xAt#xAwZ#xAvB#xAr#xAx#v(?< NMT3wZw09wN^NuNV3t3 t3 t?<NMT n0w\ n0w^ n0w` n0wb09wZN^NuNV3t# vB?<4NMTN^NuNV#vB?<6NMT n 0w\ n0w^ n0w` n0wb09wZN^NuNV3t3 t3 t3t3t3u3u3u3u nf 3rP3rR3rN3rL?<3NMTN^NuNV n0rP n 0rR n0rN n0rLN^NuNV#vB3 t?<2NMTN^NuNV?<MNMT n0w\ n 0w^ n0w` n0wb09wZN^NuNV3t# vB?<NNMTN^NuNV#vB3 t3t3t3t3t3u3u3u?</NMTN^NuNV#vB3 t3t3t3t3t3u?<*NMTN^NuNV#vB3 t3t3t3t?<+NMTN^NuNV3t3 t3x?<pNMTByx n r09wZN^NuNV#vB?<nNMTN^NuNV3t3 t3 t3t3t?<dNMTN^NuNV3t3 t?<hNMT n 0w\ n0w^ n0w` n0wb09wZN^NuNV3x0.| AcHЈ-@=|` nR2.AAxH1Rn nm/9v(NclX09wZN^NuNV3erByrByr3rNO*N^NuNV#r|#r .мZ#r3drByr3 r n 3rNO*09r n 03oAu#r|Aw#rAs#rAvZ#rN^NuNV .3r .3rN^NuNV .3r .3rN^NuNV09r69rƼ n N^NuAtwXyw !JHyr#rxHyrx" <sNBYywAtw"P$hNuNVH$.f BB`&". Bvd d``bd-@-A LN^NuNVHL&gHC H@J@g@HCBCւ-C LN^.JNuNV?.?<LN*XN^NuNVH*n ..(U0.`(<< `><<`6<<BE`,<<:< ` `|Xg|dgΰ|ogа|ug°|xg Jl ndf - D.` 0. fμA м&@B#(/8H/NOxX(0 D m2<7E`2<0A /0H/NOx X.f/ / NcVP*L8N^NuNVH>. *n (U=| Gf><#v#vHyoHyvN.tP]|=@0R@?HnHnHnNgLO0.g-.H|0f.f0` nff<.GRF0no<.JFl0<`0?HnHnHnNgLOA&HA&H`SFSn0gJnl`0SnJnl0g.` 0RnSG0g nm`JFoH`0<0SFSG0J@l`J0g.A R&@`SG0J@lE-L0.H/HnBg?<dNP O (n*L8N^NuNVHBG n*P`0 HC|0>HAp+0H|f n 0L N^NuNVH<*n(n &nBn`P?<%/ Nb\$@Jg2. g$/ ??</ N=0O <n0Gg` R(@`*/ NcX>/ ??</ N=0O <n`Bn=|Bn8< H|-f=|RH|0f8<0RH|*f R=ST`-LHnNRX=@(nH|.f>RH|0f8<0RH|*f R=ST`-LHnNRX=@(nH|lf=|Rf`$A $@-@H=@`$SX/ NcX:no:.8< `0.g `0H/Hn?.?.NP O 0.g0<`0<*. ng=n` nRT:<`#v#v/9v/9vHn?.?.NQOP*.`f0. nR:<`P`N|Xg<|cg|dg.|eg|fg|gg|og|sg|ug|xgNU0.gj/ ??</ N=0O <n0Eg`>.E`4Sm0-J@m0 URH|` / ?Na\ @f` RnSG0J@l`f>.E`4Sm0-J@m0 URH|` / ?Na\ @f` RnSG0J@l/ ??</ N=0O <n0Eg`f0.LHAp+0H|f n 0L N^NuNV09rhg/9rjN`RX` yrpRrpHNqN^NuNVHNqNW>Ap+HЈ @H|f0LN^NuNVH>.<. :. BnBnB0.`"<< `2<<`*<<`"<< ``|dgڰ|hg|ogְ|xg E-f=|NW:0``" "Ё6.HЃ(=|NW:0SGJ@g??NWX=@ @f`` 6.HЃ(=|NW:0SGJ@g??NWX=@ @f`X` 6.HЃ(=|NW:0SGJ@g??NWX=@ @f``|gz| g,|g0.g09rngByrn09rhg/9rj?Nc\`Srp0.g D` NqLN^NuNVH>.<. -yp-yp BnBnBnBn=|Bn=|-yp-yp G-f=|NW>`BnBE` G-f0.g =|`Ap+0pH|g0.g0. G|0=@` G0gBn0.fRE`n0.gSE0.f^#v#vHnHyvN.P?/HyvN0VPTHypHyvN.P-yv-yvSn`0 G.f0.f=|` GEg Gef0.f=|``=|NW>SF0f0.f3rn0.gn`n`*JElHnHnN.PRE`HnHnN.PSE0f0.gHypHnN.P09rhg/9rj?Nc\`Srp#v#vLN^NuNVH BG3rh# rp#rjByrn nX*P`HAp+0`H|g2NW: Eg 09rhg/9rj?Nc\`Srp` F%gFNW: Ef0<`0Fg&09rhg/9rj?Nc\`Srp0`v`j0<=@=@=|H|*f=|RHAp+0H|g-MHnNWDX=@*nH|lf=|RH Dcf0NW: @f0<`0.f0 nX PRG` Ddg Dog Dxg DhfNW: @f0<`?.??NXZ\-@09rng0`0.f>0.g nX P `( Dhf . nX P` . nX P0RG`0 Deg DffNW: @f0<`?.?NYX-yv-yv09rng0`0.f>0.g nX P !n`"#v#vN+z nX P RG` DsfNW: @f0<`0.f nX(P`$0.f0NW: @f0<`NSn0.g0gAp+0PH|gB09rhg/9rj?Nc\`SrpRGf0L0N^NuNV n"n 2.HbL0|f |f`( |g `Q`fA`2Q`XA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV?.NATJnn0<`,?.?<>N*X=@g3rv0<``0<NqN^NuNV nSh0(J@m n R @H|` /.Na:XNqN^NuNVH*n0- |g0- |fm 0- |fm@ 0- |`g*Bm0<`X -f / NVhX*0- |gHynN7X0- |g0<`0-?/?- NDP;@0<L N^NuNVH*n/ N`Xg0<`8Sm0-J@l mfm `m@ Bm0<` URH|L N^NuNVH*n 0- |g0- |fm 0- |fm@ Bm0- |@g0<` -f / NVhX0- |g UR m `<0- |g2m UR . H| g ml . H|`V/ N7Xg m@ 0<`>0- |gBm. H|`$`"0-S@;@m . URH|NqL N^Nu o/ f pJWf`g fS `pNuNVBBg?.Hn?<WN*O =@JW|N^Nu op`R@SJWfFNuNVH*n 0- |f f0<`Rm. S UHL N^NuLrWf SNuAtwXyw !J"/0<NBYywAtw"P$hNu NV0.f#nv#nv`$ nl#q<v#q@v` n4o#nDv#nHv`Ap -@ n]|=@g 0.D@=@0.|=@0.g0 .2.HЁQ @#v#v-yv-yv0.@=@0.|=@0.gn .2.HЁм0 @#v#v-yv-yv0.gHnHnN2P` #v#v-yv-yv0.@=@0.|=@0.gt .2.HЁмh @#v#v-yv-yv0.f0.gHnHnN2P` #v#v-yv-yv0.gH#nv#nv-yv-yvHnHnN4.P#v#v`#v#vN^NuNVH *n(n Bn-L-U-mBEK.g>OG|JGn|m`NB0T@|dm0<d@D@`B0D@S@|dm0<d@?NeTOHyv/ N2PO`&0-H@$-JGg FGQ0<0dR@0.BAQ/,>QQԟ׆G|0QB`Rn0.g(nB`0R 2.HmB`d .6.HЃR(@ nH|0fRZ$` R$H|9n nH|0f(n R*@NqfSE .6.HЃ @B n0L0N^Nuaaaaaa12345dddddddd[1][ Medium Resolution | Only ][OK]account.rsc[1][Cannot find account.rsc file|Terminating ...][OK]file1br+file1bw+file2br+file2bw+file3br+file3bw+file1br+file2br+file3br+[3][Incorrect Password| Access Denied !! ][OK][2][Error in reading record ][OK][2][Error in writing | standing order file ][OK]%d%d%s%f[2][Error in writing | info record ][OK]%6.2f%f%s%f%d%6.0f%6.2f[3][Your printer is not | Online please TURN ON ! ][OK]PRT:w CHEQUES ISSUED as of %d/%d/%d Record Number Amount Payee ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %d %6.0f %6.2f %s Balance to date :%6.2f UNCLEARED ITEMS ~~~~~~~~~~~~~~~ Uncleared up to %d/%d/%d Number Amount Payee ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %6.0f %6.2f %s STANDING ORDERS ~~~~~~~~~~~~~~~~ Active as of %d/%d/%d Current record number : %d Standing order number : %d Standing order date : %d Recipient of order : %s Standing order amount %6.2f %6.2f%f%f[2][Error in writing | info record ][OK]%d%s%6.2f[2][Error in reading info record ][OK][2][Error in reading info record ][OK] @ Wi??!TD-@ !TD-@$?!TD-?.B9??q CON:AUX:PRT:@$@Hp+ (( (( AAAAAABBBBBB @$@Y@@@È@jA.AcAׄCAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs<*                                               f                                  8                 \              4    .   $.". (H.H". (H. 2". (H. ($&$$&$      v                "  (lv R04: "F6$,:4t2.Dt0b,n,,<* (X&>&. . 4&f.,*   ."((  , @FfN & &8 (                 &   ,6$f@D$dHH8PtBF&8  ^& 0Hv*,,2 .(*V   D$    8,J f2 2$ Dd$&`v L< <   V$V2Z ZPlease EnterPassword_____XXXXX______Standing Order date:__99______Standing Order Payee:___________________XXXXXXXXXXXXXXXXXXX______Standing Order Amount ________XXXXXXXXStanding Order setupEXITStanding order number***clearedunclearedCHEQUE INFORMATIONcheque payeecheque numbercheque amount ***********************************************Debits / CreditsEXIT______Enter Debit:________XXXXXXX______Enter Credit:________XXXXXXXX**********Balance Please enter cheque information.OKCheque Amount _________XXXXXXXXX______cheque number :_______9999999*******______Cheque payee :___________________XXXXXXXXXXXXXXXXXXXcurrent balance MAIN ACCOUNTS MENUEnter Standing order infoEnter Cheque infoClear ChequesDelete Standing orderPrintout MenuNew PasswordDebits / Credits / InfoSelectSelectSelectSelectSelectSelectSelectQUITBANK ACCOUNT PROGRAMgem version of account.tos ver 5-9by S.Hardy CONTINUEPrint all chequesPrint uncleared chequesPrint standing ordersPrintout MenuRETURN TO MENUOKOKOKEXITNEW PASSWORD______Enter New Password :_____XXXXXDelete Standing OrderStanding order No.Standing order payeeStanding order amount CANCELOK********************************************p 0000`@  <`x<0  ??3?~  / / ff6:;ApGNeho) +,EOVm}"#_f2& c! $ 1   Vp:, (   p*" 5 n  B P`    p      p9   () R n !6  u0p2     0 >  j$ c$ q$ x$ $ $ $%K  d0S:1 "  r p/'  5 D"G" J" p' M R  ( p:&       *   jBJ#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 18 11 #W 00 00 0C 05 12 09 08 A:\*.*@ #W 00 00 0D 08 15 0B 00 @ #W 00 00 0E 09 15 0B 00 @ #W 00 00 0F 0A 15 0B 00 @ #M 00 00 00 FF A FLOPPY DISK@ @ #M 00 01 00 FF B FLOPPY DISK@ @ #T 00 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @