IMD 1.16: 1/06/2007 13:05:36 FOGCPM.180 --FOGCPM180CALCULATSCRCHECKBK SCR> CORREL INC CORREL SCR CORREL2 SCR DEPREC SCRNAMES INCPETTY SCRPETTY1 INCPETTY2 INCPOEM SCRPRICE INCSCHOOL INCSCHOOL SCRSTANLET SCRSTANLET1SCR  STANLET2SCR!STANLET3SCR "#TOTALS $FIX COM6%&'()*+READ FIX,-FIX C L./01234567REFSORT COMv89:;<=>?@ABCDEFREFSORT NOTGHIINSTALL DOC]JKLMNOPQRSTUREFSINSTCOMVWXYZ[\]^_`abcdeREFSINSTCOM5fghijkl-09-13 87 REFSINSTDTA"mnopqREFSINSTMSGrstSRT COM/uvwxyzSRTEXPLNDOC@{|}~SRT AQMSRT AQMz-CPM180 DOCThis is the disk name.  #input mac_calc,,^j^j^jWhat do you wish calculated [[dp mac_calc = ,,mac_calc,, ]] #announce Check Book Balancer [[def 9.2]] CheckBook Balancer [[d oc=0]] [[d od=0]] Date Check Number Description Check Amount Deposit Amount Running Count Ch De Checks In Transit 8.1 OPENING BALANCE [[ rc=443.01]] 8.2 [[ cn=1005]] Dividend [[ ca=440]] [[ da=12500]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.2 [[ cn=cn+1]] CEB for travel [[ ca=234.15]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] CEB salary [[ ca=1200 ]] [[ da=00000]] [[ rc=rc-ca+da]]  [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Newspaper Sub [[ ca=25 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Magazine Sub [[ ca=40 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ oc=1]] [[ if(oc,ca,0)]] [[s oc=0]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Health Insurance [[ ca=55.87 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] [[ ca=00.00 ]]VOID [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Lawyer [[ ca=55.00 ]] [[ da=00000]] [[ rc=rc-ca+da]]  [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Postage [[ ca=30.35 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Supplier 1 [[ ca=2550 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Supplier 2 [[ ca=2556 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] FAB Salary [[ ca=1303.33]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] [[ ca=00.00 ]]VOID [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Accountant [[ ca=975 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Landlord [[ ca=311.67]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Office Supply Store [[ ca=10 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Postage [[ ca=40 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Supplier 2 [[ ca=2335]] [[ da=3000 ]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Supplier 4 [[ ca=288.75]] [[ da=110 ]] [[ rc=rc-ca+da]] [[ od=1]] [[ if(oc,ca,0)]] [[ if(od,da,0)]][[s od=0]] 8.3 [[ cn=cn+1]] Landlord [[ ca=13.07]] [[ da=00000]] [[ rc=rc-ca+da]]  [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Consultant [[ ca=150 ]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 8.3 [[ cn=cn+1]] Supplier 5 [[ ca=2164]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ ca=0000]] [[ da=00000]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ cn=cn+1]] [[ rc=rc-ca+da]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] End Of Period Book Balance [[ rc ]] ============================================================================================================================================================================================================= Previously outstanding items. ----------------------------- Date Check Number Description Check Amount Deposit Amount Checks Deposits Os checks In transit. 6.8 955 Office Supply Co. [[ ca=100]] [[ da=0000]] [[ oc=1 ]] [[ if(oc,ca,0)]] [[ if(od,da,0)]][[s oc=0]] 7.12 967 Landlord [[ ca=345.67]] [[ da=0000]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 7.17 990 Accountant [[ ca=200]] [[ da=0000]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 7.15 1002 Parking Garage [[ ca=112]] [[ da=0000]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] [[ts osch]] [[ts osde]] [[dp Your outstanding checks total ,,osch,, and your outstanding deposits total ,,osde,,.]] Ending book balance = [[ rc ]] #input mac_charge,,Please enter the bank charges,,[[ bc=$I ]] Bank charges = mac_charge ------------ Adjusted book balance = [[ abb=rc-bc]] Outstanding checks = [[ osch ]] Deposits in transit = [[ osde ]] Adjustments = [[ adj=0 ]] ------------ Bank Balance = [[ abb+osch-osde-adj]] ============ Co. [[ ca=100]] [[ da=0000]] [[ oc=1 ]] [[ if(oc,ca,0)]] [[ if(od,da,0)]][[s oc=0]] 7.12 967 Landlord [[ ca=345.67]] [[ da=0000]] [[ if(oc,ca,0)]] [[ if(od,da,0)]] 7.17 990 Account#input mac_x,,Enter the x co-ordinate #input mac_y,,Enter the y co_ordinate [[d x=mac_x]] [[d y=mac_y]] [[ x ]] [[ y ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] #announce Calculating a population correlation coefficient. #define bump,,[[$1 $2=$2+1]] Population Correlation Coefficients =================================== Using The All New,Singing,Dancing and Swearing Scrivener. 5/8/85 [[def4.0]] [[de This is a comment the dlf%4.0f defines the format as floating point of field 4 ]] [[d n=0]] +----------------------------------------------------------------------------+ | x y x^2 y^2 xy | +----------------------------------------------------------------------------+ [[ x=10 ]] [[ y=6 ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=7 ]] [[ y=4 ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=12 ]] [[ y=7 ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=12 ]] [[ y=8 ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=9 ]] [[ y=10]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=16 ]] [[ y=7 ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=12 ]] [[ y=10]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=18 ]] [[ y=15]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=8 ]] [[ y=5 ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=12 ]] [[ y=6 ]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=14 ]] [[ y=11]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] [[ x=16 ]] [[ y=13]] [[ x^2 ]] [[ y^2 ]] [[ x*y ]] bump [s,,n] ---------------------------------------------------------------------------- [[t sx ]] [[t sy ]] [[t sxs ]] [[t sys ]] [[t sxy ]] =========================================================================== Population coefficient is given by sum(xy) - sum(x)*sum(y)/n ------------------------------------------------- sqr[((sum(x)^2)-(sum(x)^2)/n))*((sum(y)^2)-((sum(y)^2)/n)] = [[o sxy ]] - [[o a= sx*sy/n]] --------------------------------------- sqr[ [[o b=sxs-((sx^2)/n)]] * [[o c=sys-((sy^2)/n)]] ] [[def5.1]] = [[o a=sxy-a]] ------------------ [[o b=(b*c)^0.5 ]] [[def5.4]] = [[ a/b ]]  ---------------------------------------------------------------------------- [[t sx ]] [[t sy ]] [[t sxs ]] [[t sys ]] [[t sxy ]] =========================================================================== Population coefficient is given by sum(xy) - sum(x)*sum(y)/n -----------------------------------#announce Calculating a population correlation coefficient. Population Correlation Coefficients =================================== [[def4.0]] [[de This is a comment the def4.0 defines the format as floating point of field 4 ]] [[d n=0]] +----------------------------------------------------------------------------+ | x y x^2 y^2 xy | +----------------------------------------------------------------------------+ #input mac_number,,Enter the number of points #repeat #include correl.inc,,mac_number [[d n=mac_number]] ---------------------------------------------------------------------------- [[t sx ]] [[t sy ]] [[t sxs ]] [[t sys ]] [[t sxy ]] =========================================================================== Population coefficient is given by sum(xy) - sum(x)*sum(y)/n -------------------------------------------------  sqr[((sum(x)^2)-(sum(x)^2)/n))*((sum(y)^2)-((sum(y)^2)/n)] = [[o sxy ]] - [[o a= sx*sy/n]] --------------------------------------- sqr[ [[o b=sxs-((sx^2)/n)]] * [[o c=sys-((sy^2)/n)]] ] [[def5.1]] = [[o a=sxy-a]] ------------------ [[o b=(b*c)^0.5 ]] [[def5.4]] = [[ a/b ]] --------------------------------------------------------------- [[t sx ]] [[t sy ]] [[t sxs ]] [[t sys ]] [[t sxy ]] =========================================================================== Population coefficient is given by sum(xy) - sum(x)*sum(y)/n ------------------------------------------------- #input _NAME_,,Enter the name of the asset (max 20 letters) #input _COST_,,The cost of the asset was #input _LIFE_,,Enter the estimated lifetime of the asset #input _EDV_,,Enter the estimated disposal value of the asset [[def 8.6]] [[d of=(_EDV_/_COST_)]] [[d root=of^(1/_LIFE_)]] [[d rate=100-(100*(root))]] [[def 8.3]] #overtype [[dm deprec.out]] [[dp the rate of depreciation of the _NAME_ is ,,rate,,^j^j^m]] #insert #input mac_name,,Enter Customer Name,,$I #input mac_add1,,Enter the address (5 lines) #input mac_add2,, ,,$I #input mac_add3,, ,,$I #input mac_add4,, ,,$I #input mac_add5,, ,,$I #announce ^j^j Petty Cash book #input _TODAY_,,Enter Today's date #input _REC_NUM_,,^jHow many receipts do you wish to enter #input _PAY_NUM_,,^jHow many payments do you wish to enter [[ef 7.2t]] __________________________________________________________________________________________________________________ | | | |Voucher| | | | |Total | |Receipts |Date | Details |Number |Fares |Postage |Clean |Sundries |Payments | ------------------------------------------------------------------------------------------------------------------ #repeat #include petty1.inc,,_REC_NUM_ #repeat #include petty2.inc,,_PAY_NUM_ | | | | | | | | | ================================================================================================================== | | Totals | |[[t ftot]] |[[t ptot]] |[[t ctot]] |[[t stot]] | [[t ttot]] | #input _BAL_,,Enter the balance | | Balance  | | | | | | [[ b=_BAL_]]| ================================================================================================================== | | | | | | | | | | | | | | | | | | [[t rtot]] | | | | | | | | [[ ttot+b]] | #overtype [[ _BAL_]] |_TODAY_ | Balance | | | | | | | [[ ttot ]] |_TODAY_ | Cash | | | | | | | ------------------------------------------------------------------------------------------------------------------ #insert [[dm post.out]] [[dp ^j^mPetty cash for _TODAY_]] [[dp ^j^mpostage ,,ptot,,]] [[dp ^j^mfares ,,ftot,,]] [[dp ^j^mcleaning ,,ctot,,]] [[dp ^j^msundries ,,stot,,]] [[dp ^j^mtotals ,,ttot,,]] [[dp ^j^m]]  |[[t ftot]] |[[t ptot]] |[[t ctot]] |[[t stot]] | [[t ttot]] | #input _BAL_,,Enter the balance | | Balance #input _DETAILS_,,^j^jEnter a description of the receipt #input _DATE_,,Enter the date of the receipt #input _REC_,,^jEnter the value of the receipt #overtype | | | | | | | | | [[_REC_]] |_DATE_ | _DETAILS_ | | | | | | | #insert #input _DETAILS_,,^j^jEnter description of payment #input _DATE_,,Enter date of payment #input _V_NUM_,,^jEnter the voucher number #default 0 #input _FARES,,Input cost of fares (or RETURN if zero). #input _POST,,Input cost of postage (or RETURN if zero). #input _CLEAN,,Input cost of cleaning (or RETURN if zero). #input _SUND,,Input sundries costs (or RETURN if zero). #default #overtype | | | | | | | | | |_DATE_ | _DETAILS_ |_V_NUM_|[[b _FARES]]|[[b _POST]] |[[b _CLEAN]]|[[b _SUND]] | [[l ltotal]]| #insert #random pronoun,,I,,We,,He,,You,,They #random verb_1,,like,,hate,,want,,grasp,,spurn,,love #random verb_2,,give,,send,,break,,make,,bend,,eat #random verb1,,verb_1,,verb_2 #random adj1,,pretty,,ugly,,comely,,podgy,,piebald,,punk-rock #random noun1,,maiden,,tractor,,hedgehog,,pot-plant #random verb2,,a'sitting,,reclining,,recumbent #random phrase1,,look again,,run to catch it,,put some specs on,,shakes ones toupee #random phrase2,,find it isnt there,,simply cannot care,,think it is'nt fair #random phrase3,,was'nt just the thought of it,,couldnt have my mistake,,should'nt really have occured #random phrase4,,think it such a crime,, feel so at the time pronoun verb1 a adj1 noun1 verb2 on a chair and when pronoun phrase1 pronoun phrase2 it phrase3. pronoun phrase4 but any way, I have to say, I do it just to rhyme. #announce ^m^j^jIncluding price list [[d stack=2.50]] [[d stack=3.80]] [[d stack=0.80]] [[d stack=0.50]] [[d stack=1.45]] [[d stack=9.95]] [[d stack=6.95]] [[d stack=6.5]] PETTY SCRPETTY1 INCPETTY2 INCPOEM SCRPRICE $$$#input _DESCRIPTION_,,Enter the description #input _COST_,,Enter the cost #overtype _DESCRIPTION_ | [[b _COST_]] #insert PETTY SCRPETTY1 INCPETTY2 INCPOEM SCRPRICE INCSCHOOL $$$#announce ^j^j^j #define _TERM_,,Autumn #define _YEAR_,,1986 #define _WHEN IT BEGINS_,,September 11th 1986. #input _THE BOYS NAME_,,Enter the pupil's name #input _HIS FORM_,,What form is he in #default 00 #announce For the following questions press return for 0. #input _THE FEES_,,What fees should be paid #input _DISCOUNT_,,What discount for second child #input _LUNCHES_,,Enter the lunch costs #input _PIANO_,,Enter piano costs #input _MUSIC BOOKS_,,Enter the costs of music books #input _SPEECH_TRAINING_,,Enter the costs of speech training #input _BRASS_,,Enter the brass costs #input _INSTRUMENT HIRE_,,Enter the costs of instrument hire #input _SURCHARGE_,,Enter the surcharge #input _HOW MANY_,,Enter the number of extras [[def 8.2t]] Dotheboys Hall School Ltd Duncaning Duncaning 3549 _TERM_ Term _YEAR_ Name:- _THE BOYS NAME_ Form _HIS FORM_ ---------------------------------------------------------------- Fees | [[ _THE FEES_]] discount fo 2n chil [[z -_TH FEES_*(_DISCOUNT_/100)]] |------------- | Total fees | [[t ftotal]] | Lunches | [[b _LUNCHES_]] | Piano | [[b _PIANO_]] Music Books | [[b _MUSIC BOOKS_]] | Speech Training | [[b _SPEECH_TRAINING_]] | Brass | [[b _BRASS_]] Instrument Hire | [[b _INSTRUMENT HIRE_]] | Extras:- | [[sz _HOW MANY_]] #repeat #include school.inc,,_HOW MANY_ | Surcharge  | [[b _SURCHARGE_]] |------------- | # | [[t total]] ============= [[dm totals]] [[dp [[,,total,,^]^] _THE BOYS NAME_ ^j^m]] [[dm CON:]] [[dp ,,total,, _THE BOYS NAME_ ^j^m ]] Cheques should be crossed and made payable to Dotheboys Hall School Ltd FEES ARE PAYABLE STRICTLY IN ADVANCE AND MUST BE RECEIVED BY THE FIRST DAY OF THE NEW TERM Next Term Begins _WHEN IT BEGINS_ .pa  Training | [[b _SPEECH_TRAINING_]] | Brass | [[b _BRASS_]] Instrument Hire | [[b _INSTRUMENT HIRE_]] | Extras:- | [[sz _HOW MANY_]] #repeat #include school.inc,,_HOW MANY_ | Surcharge   #input mac_name,,Please enter the customer name #input mac_add1,,Please enter the address line 1 #input mac_add2,,line 2 #input mac_add3,,line 3 #input mac_add4,,line 4 #input mac_add5,,line 5 #input mac_title,,Enter the title (Sir, Madam etc) mac_name mac_add1 mac_add2 mac_add3 mac_add4 mac_add5 Dear mac_title, Man thank fo you orde whic w receive today w will send off your good as soon as possible. Yours sincerely, Mr. M. Director. #input mac_name,,Enter Customer Name,,$I #input mac_title,,Enter His Title (Sir, Madam etc.),,$I #input discount,,Enter The discount this customer gets for bulk,, - $I #input mac_add1,,Enter Address (5 lines),,$I #input mac_add2,, ,,$I #input mac_add3,, ,,$I #input mac_add4,, ,,$I #input mac_add5,, ,,$I [[def t7.2]] Adrian Simpson, You surely, Don't think, I'm going to, Reveal My Address, IP31 3BD. mac_name mac_add1 mac_add2 mac_add3 mac_add4 mac_add5 Dear mac_title, I have great pleasure in announcing the launch of Scrivener, from MML systems Ltd. This program answers the needs of the letter writer, the accountant as well as the home user. Combining a calculator and a powerful macro preprocessor, it works on a text file produced form any standard text editor or word processor. Costs of this package to you are:- MML systems ltd Scrivener package $[[ cost=9.95]] Vat $[[ tax=(cost-dis)*0.15]] sub-total $[[ sub=cost+tax]]  Discount for bulk buying $[[z dis=discount]] Total $[[ sub+dis]] Yours sincerely, A.P. Simpsonscount this customer gets for bulk,, - $I #input mac_add1,,Enter Address (5 lines),,$I #input mac_add2,, ,,$I #input mac_add3,, ,,$I #input mac_add4,, ,,$I #input mac_add5,, ,,$I [[def t7.2]] Adrian Simpson, You surely, Don't think, I'm going to, Reveal My Address, IP31 3BD. mac_name mac_add1 mac_add2 mac_add3 mac_add4 mac_add5 Dear mac_title, I have great pleasure in announcing the launch of Scrivener, from MML systems Ltd. This program answers the needs of the letter writer, the accountant as well as the home user. Combining a calculator and a powerful macro preprocessor, it works on a text file produced form any standard text editor or word processor. Costs of this package to you are:- MML systems ltd Scrivener package $[[ cost=9.95]] Vat $[[ tax=(cost-dis)*0.15]] sub-total $[[ sub=cost+tax]] #include names [[de include the file of questions setting up mac_name etc]] #input mac_title,,^j^jWhat title is the customer addressed by (Sir, madam etc.) #input mac_date,,^j^jWhat is today's date #input mac_house,,^j^jWhere does he live mac_name, mac_add1, mac_add2, mac_add3, mac_add4, mac_add5. mac_date Dear mac_title, understan tha yo hav take mac_hous whic i quit clos t m shop ventur t as fo you esteeme patronage ca suppl yo wit th provision o th highes qualit which a yo wil se fro th enclose list compar favourabl wit larger stores, including forzen products of all kinds. Trustin t b favoure wit you orders whic shal receiv my best attention, I remain, Your obedient servant, J. Taylor. #include names #input mac_date,,Please enter the date #input mac_title,,Enter title (sir,madam etc.) Robinson's Hairdresser, 41 High Street, Limeswold. mac_name mac_add1 mac_add2 mac_add3 mac_add4 mac_add5 Dear mac_title, be t infor yo tha hav arrange t carr o busines a hairdresse a th abov addres an shal requir for tim t tim t mak addition t m stock a prepare t pa cas fo th firs fe purchase and a th account i thi neighbourhoo ar quarterly mee furthe engagment b chequ a th appropriat time. A hav ever confidenc i you fir shal b gla t giv yo m preferenc i a place o th sam footin a you othe customers bot a regard mone matter an th promp respons t orders Wit vie t openin u correspondence ma refe yo t Messrs Frank o Marchenter wh wil giv yo every satisfaction as regards my financial position. Yours faithfully,   Chris Robinson. esser, 41 High Street, Limeswold. mac_name mac_add1 mac_add2 mac_add3 mac_add4 mac_add5 Dear mac_title, be t infor yo tha hav arrange t carr o busines a hairdresse a th abov addres an shal requir for tim t tim t mak addition t m stock a prepare t pa cas fo th firs fe purchase and a th account i thi neighbourhoo ar quarterly mee furthe engagment b chequ a th appropriat time. A hav ever confidenc i you fir shal b gla t giv yo m preferenc i a place o th sam footin a you othe customers bot a regard mone matter an th promp respons t orders Wit vie t openin u correspondence ma refe yo t Messrs Frank o Marchenter wh wil giv yo every satisfaction as regards my financial position. Yours faithfully,  [[ 427.70]] mick CORREL SCR CORREL2 SCR DEPREC SCRNAMES INCPETTY SCRPETTY1 INCPETTY2 INCPOEM SCRPRICE INCSCHOOL INCSCHOOL SCRSTANLET SCRSTANLET1SCR  STANLET2SCR!STANLET3SCR "#TOTALS $$$/A! ! !T9^#V!|9!T9^#V!͋<͔ !V9^#V!^#V!9Ͷ!9^!-͋x!9ͷʃ! ͔ !9^!<9s#r!V9^#V##^#V! 9Ͷ!9! !!:9s#r!B9s#r!L9s#r! F!F9s#r!F9^#V!Q#^! Tb!F9^#V!Q#^!T#!> !<!!:9s#r!F9^#V=!D9s#r!D9^#V!9s!:!9s!!B9s#r!!L9s#r!B9^#V!N9s#rÍ!N9~#fo#s#r!N9^#V! Ͷʛ!L9~#fo#s#r!L9s#r!L9^#V!9^!P9^#V!9s!N9^#V!9^!:|!:9^#V!|!B9^#V+!N9s#r!N9^#V!9~+!.!P9^#V!9s!N9^#V!9^!.|ʘ!C!P9^#V!9#s!N!P9^#V!9##s!G!P9^#V!9###s!!P9^#V!9sÛ~!9!Z !o !X9^#V##^#V+!49s#rz!q !9+!29s#rz!s !<!!69s#r!89s#r!<9^#V!9^!9s!!9s!9i!J9s#r!J9^#V!ͶY!J9^#V!ͷd!!J9s#r!J9^#V! ! !>9s#r! !@9s#r! ! !>9s#r! !@9s#r! ! !>9s#r! !@9s#r!9^!9s!!9s!9i!J9s#r!J9^#V!Ͷ!J9^#V! ͷ!!J9s#r!J9^#V! !!>9s#r! !@9s#r!9^!c|i!9^!C|ʕ! ! !>9s#r! !@9s#r!!89s#r!9^!l|µ!9^!L|!$ ! !>9s#r! !@9s#r!!89s#r!9^!c|!9^!C|"!; ! !@9s#r!!69s#r!9^!l|B!9^!L|c!O ! !@9s#r!!69s#r!9^!n|ƒ!9^!N|ʤ!c !!@9s#r!!69s#r!<9^#V!y !< CEILNRTceIlnrt!!L9s#r!49^#V3!<9s#r!͋ʋ !L9^#V!J9~#fo͛T!<9^#V! |T!<9^#V! |_!!L9s#r!J9^#V!L9~#fo!H9s#r!L9^#V#!L9s#r!<9^#V! |ª!<9^#V! |ʵ!!L9s#r!<9^#V!@9~#fo|s !<9^#VY ! !<9s#r!!L9s#r!!N9s#r!N9~#fo#s#r!N9^#V!H9~#foͶ5!29^#V!>9^#V^p !69~#p !89~#d!29^#V!@9^#V^p !29^#V!B9^#V^!29^#V!@9^#V^p !69~#p !89~#ʽ!29^#V!@9^#V^p !29^#V!B9^#V^!>9^#V! |!29^#V!@9^#V^!>9~#V !!<9s#r!!N9s#r) !N9~#fo#s#r!N9^#V!J9~#foͶV !29^#V!>9^#V^ p 8   8p È !29^#V!>9^#V^!49^#VT!29^#VT FIX...Ver 1.4 by Dave Huntoon 3/12/86 *** Command format error *** Input file ==> %s Drive [n] to write output to or if same ==> *** Drive spec ERROR *** Output file ==> %s rw Error opening file! Exchanging spaces for TABs on char boundary of %d Adding CR for each LF Adding LF for each CR Adding %d NULLs after each LF Exchanging CR for LF Exchanging LF for CR Removing all CR's Removing all LF's Removing all NULL's Unknown command ==> %c A! !! !Q ! ! ! ! !7 !b ! ! ! !!< Correct syntax is: FIX -Tn exchange SPACEs for TABs n = 1 to 8 (character boundary) -Nn add n NULLS for each LF n = 1 to 9 -L adds LF after  each CR -C adds CR after each LF -EC exchanges CR for LF -EL exchanges LF for CR -RC removes all CR's -RL removes all LF's -RN removes all NULL's .CNG = file with changes. ! s# y7*"\%*."`%d0SA!! !!:o&T s!;"! DM!"*Ͷ*`i^! |`i^! |`i#DMð`i~*`i*#"+)s#r`i#DM~'`i^! |`i^! |$!`i#DM+s'ã!*SASA!ͅDM |t! !ͅ! DMÄ`i|ʄ!DM`iA!9^#V! |ʪ! !ͅ!9^#V!ͅ!9^#V!TA! 9! 9^#V!A!9N#F! 9~#fo#s#r+^"|w*%|j! 9~#fo#s#r+^"/!!9~#fo##s#r++^#V"J!!9~#fo##s#r++^#Vx"J! 9^#V^#V!Ͷ!!9~#fo##s#r++^#Vx"!-*+"s!!9~#fo##s#r++^#Vx"J! 9~#fo##s#r++^#V"J! 9~#fo##s#r++^#V"jcdsu^x8,*~g*#"+^`iJt*`iA!9N#F!! 9^#Vs`i 0! 9~#fo+s#rs! PY͞DM“! 9^#VA!9N#F!! 9^#Vs`iT^! 9~#fo+s#rs!PY?DM! 9^#V0123456789abcdefA!DM`i~#]`i'DMJ Z!"^%!6`i##! 9^#V͙"P%|ʅ!"^%!*P%|ʗ͂"P%*P%!& s*P%͑! 9^#V^!r|`i##!ͅ|!"^%ͪ!!J!`is#r!"L%>*N%|!`i##!ͅ`i##!ͅ|0!"^%ͪ!!J`is#r`i"N%ͪ!!# s#r!% s`iA!9N#F!"R%`i*N%|ʏ`i^#V!J͸"R%!"N%á`i*L%|ʡ!"L%!& ^͑`i##!ͅ|!"R%ͪ!`is#r*R%A!9N#F3"T%͋/!*T%T"T%`i~#fo+s#r! /*T%A!9N#F`i*L%͋ʸ!"L%!& ^͑!!J!`i##"!"V%|†!ͪ*V%`i#~#fos#r*V%/J!"J%`i"L%`i^#V*J% *J%J!`i#~#fos#r!J!`is#rL`i~#fo#s#r+^!TA!9N#F!PYTDM`i |O! 9^#V! ^|O!! 9^#V^A! 9N#F!9^#V`i~#fo#s#r+s`i^#V!J! ʪ!͸ʡ!!J`is#r!9^#V!TA!9N#F`iT!`i#DM+Js*N%&^͑x`i!J*N%##*ͪ!ͪ!_!/_"*!"*h*!4Z#4*+"}0xxo&"^%*_͈_*DM*og!9N#F#^#Vkb6#> 6 #=¬>6#=µy]   v0_zW/ : >" A][@a]{]`w# .=V%dw#&{o|g Vdw#G&jz!|*m >?a{ 0:Ҁ7_ o&_ 2P: __ :P_!9V+^+~+ngw#|!9~#fo#}! 9F+N+V+^+~+ng' }'; ++w xɯ1~# x1!9~aN{N o&!9~Ad[d o&A!9N#F`i^! |’`i^! |ʚ`i#DMv!"Z%`i^!-|ʼ!"Z%`i#DM`i^!+|`i#DM!"X%`i^!Q#^!T *X% `i#DM+^"X%*Z%|*X%*X%DM!99`i|DM!99!9`i~# xT!9n~#u!|zͲ}}zͲ||/g}/o#z/W{/_MD!}y/Ox/G>)), }o|g==DM!>))  =}{_<|G|7g}o"{_<)7}{_<|g}oG|g}o|/g}/o|g}o|g}o|ʕÆ}†|ʕ!}•|ʆ!}|}|?>o&zo&|}|>o&|o&}/o|/g#}}o|gBK^#Vz#y####x#~#fo}|>?o&}|>o&b%??????????? 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@  }'; ++w xɯ1~# x1!9~aN{N o&!9~Ad[d o&A!9N#F`i^! |’`i^! |ʚ`i#DMv!"Z%`i^!-|ʼ!"Z%`i#DM`i^!+|`i#DM!"X%`i^!Q#^!T *X% `i#DM+^<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> FIX v1.4 by Dave Huntoon 03/12/86 Can be reached on SPARROW RBBS Rochester, NY 716-377-1113 Have a file that needs fixing?? Need to 'FIX' CR's, LF's? Need to DETAB a file. Got a printer that is slow at LF's? Welllllll then you need FIX !!! <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> <> <> <> FIX will open a specified file and search for the selected <> <> character (CR, LF, TAB) and add or change as follows: <> FIX -xx -Tn replaces TABS with spaces on character boundaries values can be from 1 to 8, nominal = 8 -Nn adds NULLS after every LF for slow pri nters (I have one). value can be from 1 to 9, nominal = 5 -L adds a line feed (LF) after every carriage return CR. -C adds a CR after every LF -EC exchanges CR for LF -EL exchanges LF for CR -RL removes all LF's -RC removes all CR's -RN removes all NULL's <> All changes will be written to .CNG, Drive can be selected. <> <> <> <> <> <> <> <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> oundaries values can be from 1 to 8, nominal = 8 -Nn adds NULLS after every LF for slow pri /* FIX v1.4 by Dave Huntoon 03/12/86 Can be reached at SAPRROW RBBS Rochester, NY 716-377-1113 */ /* LANGUAGE ==> AZTEC C II Compile using "-tiny" switch for smaller .com size */ /***************************************** * Replaces TABS with SPACES ==> -Tn * * adds Nulls for each LF ==> -Nn * * adds LF after CR ==> -L * * adds CR after LF ==> -C * * exchanges CR for LF ==> -EC * * exchanges LF for CR ==> -EL * * removes all LF's ==>> -RL * * removes all CR's ==>> -RC * * removes all NULLS ==>> -RN * ******************************************/ #include "stdio.h" #include "ctype.h" #define TRUE 1 #define FALSE 0 #define ERROR 0 #define NULL 0 #define MAX 8 #define NMAX 9 #define MIN 1 #define NOM 8 #define NNOM 5 #define SP 0x20 #define LF 0x0a #define CR 0x0d #define TAB 0x09 #define BELL 0x07 #define CMD '-' /* FIX will open a specified file and search for the selected character (CR, LF, TAB) and add or change as follows: -Tn replaces TABS with spaces on character boundaries values can be from 1 to 8, nominal = 8 -Nn adds NULLS after every LF for slow printers. value can be from 1 to 9, nominal = 5 -L adds a line feed (LF) after every carriage return CR. -C adds a CR after every LF -EC exchanges CR for LF -EL exchanges LF for CR -RL removes all LF's -RC removes all CR's -RN removes all NULL's All changes will be written to .CNG, Drive can be selected. */ main(argc,argv) int argc ; char *argv[] ; { int i,j,length, length1, temp,temp1, point,change,add,ch1,drive,exchange,remove ; FILE *f1, *f2, *fopen() ; char filenm[20], ch[3], ch2[3], name[20] ; printf("\n\n FIX...Ver 1.4\n") ; printf("\t by Dave Huntoon 3/12/86\n\n") ; if (argc==1 || argc != 3 ) syntax() ; strcpy(ch,argv[2]) ; if((ch[0] != CMD) || (strlen(ch) > 3)) { printf("\n*** Command format error ***\n") ; syntax() ; } ch1=ch[1] ; strcpy(filenm,argv[1]) ; printf("Input file ==> %s\n",filenm) ; j= point = drive = FALSE ; printf("\nDrive [n] to write output to or if same ==> ") ; temp=getchar() ; if (iscntrl(temp)==0) { /* add drive specs to filename to write to */ if (isalpha(temp)==0) { printf("\n\t*** Drive spec ERROR ***\n") ; exit(0) ; } drive=TRUE ; temp1 = toupper(temp) ; name[0]=temp1 ; name[1]=':' ; point= 2 ; } /* end adding drive to name */ j=-1 ; for(i=point; i<12; i++) { j = ++j ; name[i]=filenm[j] ; if(name[i] == ':' && drive == TRUE) i=(point-1) ; if(name[i] == NULL) name[i] = '.' ; if(name[i] == '.') { name[i+1]='C' ; name[i+2]='N' ; name[i+3]='G' ; name[i+4]= NULL ; break ; } } printf("\nOutput file ==> %s\n",name) ; if (((f1=fopen(argv[1],"r"))==NULL) || ((f2=fopen(name,"w"))==NULL)) { printf("\nError opening file!\n") ; exit(1) ; } /* Decide on command to invoke */ exchange = remove = FALSE ; switch(ch1) { case 'T': case 't': { ch2[0]=ch[2] ; ch2[1]=NULL ; length=atoi(ch2) ; if(length < MIN || length > MAX) length = NOM ; printf("\nExchanging spaces for TABs on char boundary of %d\n",length) ; add=(char) SP ; change=(char)TAB ; break ; } case 'C': case 'c': { printf("\nAdding CR for each LF\n") ; add=(char)CR ; change=(char)LF ; break ; } case 'L': case 'l': { printf("\nAdding LF for each CR\n") ; add=(char)LF ; change=(char)CR ; break ; } case 'N': case 'n': { ch2[0]=ch[2] ; ch2[1]=NULL ; length=atoi(ch2) ; if(length < MIN || length > NMAX) length = NNOM ; printf("\nAdding %d NULLs after each LF\n",length) ; add = NULL ; change = LF ; break ; } case 'E': case 'e': { if (ch[2] == 'c' || ch[2] == 'C') { printf ("\nExchanging CR for LF\n") ; add = CR ; change = LF ; exchange = TRUE ; break ; } if (ch[2] == 'l' || ch[2] == 'L') { printf("\nExchanging LF for CR\n") ; add = LF ; change = CR ; exchange = TRUE ; break ; } } case 'R': case 'r': { if (ch[2] == 'c' || ch[2] == 'C') { printf ("\nRemoving all CR's\n") ; change = CR ; remove = TRUE ; break ; } if (ch[2] == 'l' || ch[2] == 'L') { printf("\nRemoving all LF's\n") ; change = LF ; remove = TRUE ; break ; } if (ch[2] == 'n' || ch[2] == 'N') { printf("\nRemoving all NULL's\n") ; change = NULL ; remove = TRUE ; break ; } } default: { printf("\nUnknown command ==> %c\n\n",ch1) ; exit(0) ; } } /* end of command */ /* Go Fix the file */ j=0 ; /* char counter */ while((ch1=getc(f1)) != EOF) { if(j>=length || ch1==CR || ch1==LF) j=0 ; length1=length-j ; j=j+1 ; if(ch1==CR || ch1==LF) j=0 ; if(ch1==change) { switch(ch1) { case TAB: { ch1=(char)SP ; j=0 ;  for(i=0; i -Tn exchange SPACEs for TABs\n") ; printf("\t n = 1 to 8 (character boundary)\n") ; printf("\t -Nn add n NULLS for each LF\n") ; printf("\t n = 1 to 9\n") ; printf("\t -L adds LF after each CR\n") ; printf("\t -C adds CR after each LF\n") ; printf("\t -EC exchanges CR for LF\n") ; printf("\t -EL exchanges LF for CR\n") ; printf("\t -RC removes all CR's\n") ; printf("\t -RL removes all LF's\n") ; printf("\t -RN removes all NULL's\n") ; printf("\n\t.CNG = file with changes.\n\n") ; exit(0) ; } /* end of syntax */  } /* end of Fix */ syntax() /* Incorrect syntax -- INFORM user! */ { printf("\nCorrect syntax is:\n\n") ; printf("\tFIX -Tn exchange SPACEs for TABs\n") ; printf("\t n = 1 to 8 (character boundary)\n") ; printf("\t -Nn add n NULLS for each LF\n") ; printf("\t n = 1 to 9\n") ; printf("\t -L adds LF after each CR\n") ; printf("\t -C  ͫCopyright (C) 1985 BORLAND IncBKaypro with hiliteedP=  E RC1B1~7#~= oͦkԄ!!"~#(}:$= +*!5!*!!:(2!5:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k5!{5__o&  :(͠|(  *"x2y( >28!"9!! og2"">~22 9/4*9 Co&ͦͣ} [ (!e{ͦA8Q0G: x@!\w# (͂ ?(*( .( w^. ^!h6# (?( *( ͂( w#>?> w#ͦ 8 !ɿ .,;:=?*[]<>{}a{ |ʹ}ͽƐ'@'7||}>2ͯ*Bڨ  "og"2>2! ""*B"[Ru*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͺw}8' RB0 >' RqRR!+ Ͱ R!+ Ͱ r!+ Ͱ r!+ Ͱ r!# Ͱ r!+ Ͱ T]KB!z> S>))0 = | |̀̀DMgo>jB0 7?= H͒<z5a)a<z {0Gɯgo||~}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } ) W _}8(8J`9{T]=o`9y ) >' ́ ͬ͗ }>' xˆ }} ˸T}ٕ(0D=z ,= ( ͒ 0%{ , 7 ?(8ͬ x ͆ - r 8˸x ͏  ,-xG}r }مM 9r .>#n0͒ { = - nx ͇ ,-(-˸G,-r }ٕ?M 9.> 8ͬ ?= u+-(>͆ 0ͬ ͆ 8 ?x ͇ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցr <(r 7{ = |٤g{٣_z٢Wy١Ox٠G{ ͬ ́ }x>' ͬ}ƀ/ƀo -́ }0͎-́ ͎,}l˸ 8 4 ͗ x( - 8́ - 8,́ }l8;*!͗ ! >4ͬ͗ ͗ ͬ--- ́ ,,,-xGg?+2n*8t z~,->' x' ͘}. ͆́ , ! >4,͢- o&0%,͗ }gr }؉}颋.:}8c~I$I~L*͢ٷx˸ }0G,<},-(-́ !>I0 ͗͘ o8 ͆ >' m.`1pF,t6|!wS<.z}[|%FXc~ur1}͆ٯx(<˸ 8 !~J 0.O!>s 8 =  n s͗ ͆ .n 0 ͎-́ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͬ͗ I× nn ͗ = ͆ nf^VNF!DLT\I!!53!r1!͒!> x #-= o˸x͆(- }(x>8(z ,z `iÃ!>' |r |̀>)=|(DMbo˸88x(0 8> ̀x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#}˸}րogM| .(z = ~> x0w#xG%͇ %͇ ZJDM%͇ = _~65+~hìx-Sx9?+{Η@}|z z gZJDM0{ ,7}o˸? #yO!@9i&?  #?w#?/w#?w#!9! E9!!9~(+Fͺ!"9!(#>2*"| >"2:( Ͷ *w*6 !\$![ (ͦ( #:~CONTRMKBDLSTCAUXUSR>2i:*ˮ~0:*:(@q##pZ* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͺ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('k!0(ˮ]k!8ˮ!]~-#8~>27kˮw>O$6̃s #r$ͣ6̏ k ( (ˮ qk(ˮ ( k ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͺ>2}*|(̓|( ̓6-#[RM8( G> A~#*'C! !TRUEFALSE!9N#Y~#( G~#> >    "~(kѻ(( !0 (ˮ!!>2Sz:0:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͮ*-w#ww##> ͮÁ""~>2:ZR0 *4#4>2:ZR> *4 #4(> >22*f(/˦:G(##~++ :O x yC!ͺ Q*:G(##~._.͚f<\=<͚*##w ͮ +4 #4x >>2:G("ͮ"*nˮ*0 SZѷR8@* N#F#s#r, 0})jS\*##w+ N#FB ͮr+s>2!T]>)j)0 0= ]R!#]*^#V#N#F#^#V>2Ͱ:0:*6 #-Nw#Fwq#p#6#w#w#w"~Á>">!DM!":*B:!>(>2>">!"2"~ʰ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pSZѷR&* s#r$ s#rL <?*L!\  <( !\$>2>2L:>!(* \$\<(!3: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>) 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* uKB!0>' ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#K*K*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!F"" &y*"*>2"*"!F"""!\*: Nr!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͝O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%â}ͦo*!~6o&|:2 2}:__zѯ2*|KB " z ^C User break+=  I/O Run-time error {ʹ, PC=*ͯNot enough memory Program aborted :ʎ'1!d!;>6!"!*!!͒}2 * &EI$͛!"*!RW!͛ͺFile does not exist!=$Rƒ!͛ͺFile not open for input!=$R°!͛ͺFile not open for output!=$R!͛ͺFile not open!=$R"͛ͺCan't read from this file!=$R-"͛ͺCan't write to this file!=$RY"͛ͺError in numeric format!=$ R—"͛ͺ*Operation not allowed on a logical device!=$!R"͛ͺNot allowed in direct mode!=$"R"͛ͺ%Assign to standard files not allowed!=$R*#͛ͺRecord length mismatch!=$RV#͛ͺSeek beyond end of file!=$R#͛ͺUnexpected end of file!=$R¦#͛ͺDisk write error!=$R#͛ͺDirectory is full!=$R#͛ͺFile size overflow!=$R$͛ͺFile disappeared!=$͛ͺUnknown I/O error: *!!&!ͩ!oDF1Â5Ó3""*!Eʥ$!Դ**o!Դ**ͺ!͒Eʥ$! """**"!}2!*&)^#V*͒E$*&!}2$!*&)^#V**E**s#r%"t"v*!Ey%!Դ*t*o!Դ*v*;!͒Ey%! ""q*q*"m!}2l!*&!Rfz%"o*m!*o)^#VE%!}2l*o#í%*l&}2s*s&"""*z%}oE'**"y!}2x**"}**"{!*x&)^#V*}!*x&)^#V*{}oEʍ&*x&!}2xA&!Ǵ*x&n&E&!*x&)^#V!*x&)^#VS$!*x&)^#V*y'%!*x&)*ys#r!Ǵ*x&!s+"L*L!EI'*L! !NV'*L!N!N,D'!@!@,!F!F,("<">*>*":!}25!*5&)^#V*:͒E'*5&!}25ã'*<*":!}24!*4&)^#V*:͒E(*4&!}24'*>*E"8*<*E"6!*5&)^#V*8*h"2!*4&)^#V*6*h"0*2*d*hd*0*2*hd*d*0*hd!Ǵ*5&!s!Ǵ*4&!s*!E )!!+)!s#r!!+)*!Rs#r!"޳)!"޳*޳!E+!*޳+)^#V"ڳ!*޳+)^#V"س*޳!R"޳*ڳ"ֳ*س"Գ*ֳ*Գ!V"ܳ*ܳ*ֳ*Գ$%*!͒Eʘ)+*ܳ!γͦ$*γ*f*hd*ֳ*Գ*ܳ$%*!͒E)+*ֳ!ҳͦ$*ҳ*fP$E***ֳ!"ֳ*ֳ*Գ*ܳ$%*ֳ!ҳͦ$*!͒E'*+)*Գ*ֳ*ܳ$%*!͒EL*+*Գ!гͦ$*f*гP$Eʦ**Գ!R"Գ*Գ*ֳ*ܳ$%*Գ!гͦ$*!͒Eʣ*+W**ֳ*Գ͸E**ֳ*Գ͒E**ֳ*Գ͂'*ֳ!"ֳ*Գ!R"Գ*ֳ*ԳEʱ)*Գ*ڳR*س*ֳREk+*ֳ*سEb+*޳!"޳!*޳+)*ֳs#r!*޳+)*سs#r*Գ"سõ+*ڳ*ԳEʯ+*޳!"޳!*޳+)*ڳs#r!*޳+)*Գs#r*ֳ"ڳ*ڳ*سͥEV))"h*h!E.*h"]'*h *h !X!X,!! ! }2*&!Em,!}2!X,! *&"*!Eʹ,!*!"*!"T*T!*!}oE,!!^-*T'!^!^,*h "*!Eʾ.!d*h!f*h!*&!Rfzʁ-"V!*V)*T*V#^-!"j!"!}2!"!"!"!*&!Rfz-"V!*V)*Vs#r*V#ü-J$*!EX.!*&!Rfz,."V!Ǵ*V!s*V# .*!E?.'!"Ҵ*!EX.M$*&En.!ԴͰ!Դ͓*&!R!vzʧ."V!*V)*Tz*V+Ä.!f*hz!d*hz.!".!"*"j*j"̳*!Eʪ0*!E/! "*!**&ͥ}oE0**&Eʦ/!ԴM SOWRK.$$$p!Դo!͒El/! "s/!}2!*&!Rfzʦ/"ʳ!*ʳS$*ʳ#É/!*&!R)^#V!*&!R)^#VS$!*&!R)!*&!R)^#V!s#r**&ͥE=0*&!R"ȳC0*"ȳ!*ȳ)^#V**"Ƴ*̳*Ƴ*d*!"*!"**Eʪ0!"*!""ij*!E1*Ҵ*!R*}/o|/g#$%*Ҵ!³ͦ$*³*ij*d*Ҵ!"Ҵ*Ҵ*ͥ*!͒}o}2*&͛ͺ ... aborting. !" !! k͛ͺ Reading file ̈́͛!}!ͪͺ: !ͩ!͎ͫ!:ͣ!͒Eʆ1!E2͛ͺ9No references in input file - what're you trying to pull?!i-1!!* &E2-1!! fzS2" ! * +))))))))M* #%2!}2!" !ͩ!͎ͫ* ! !:ͣ!}o!}oEʩ2!}2! * +))))))))!:* !" *&E`2! ! * ͛!&k͛ͺ references read ... ̈́! .* !" !E2!i!* &EJ3-1k͛ͺInput file closed.͛ͺSorting, please stand by ... ̈́""*!+)))))))):!!!:ͣfz4}2!*&!*&n&s*&#3! e.!:Ͳ!! e.!:Ͳ!}oEJ4!!!! e.!:Ͳ!͒! e.!:Ͳ!͒}oE4*!+)))))))):!!!:ͣfz4}2!*&!*&n&s*&#ò4! e.!:Ͳ!! e.!:Ͳ!}oE/5!!!! e.!:Ͳ!͒! e.!:Ͳ!͒}oE4!:!:}2*&k͛ͺSorting Complete.!" ͛ͺ Writing file ̈́͛!}!ͪͺ: !}2!" ! ͫ0!ͺ! * +)))))))):!ͪ* ! ! * +)))))))):ͣ!}oEʨ6!}2* ! E`6!ͺ! ! * ͛!&k͛ͺ references written ... ̈́* !" * !" *&E51E5͛ͺOutput complete.>͛ͺ8 --------------------------------͛ͺ8 ----- ALPHA REFERENCE SORT -----͛ͺ8 --------------------------------͛͛ͺ7 Copyright Carl M. Tootle 1986͛ͺ2 Version 1.0 - 2/9/86͛ͺ6 Max line length = 255 bytes͛ͺ5 Max Ref length = 10 lines͛!}M͍E 9͛ͺ ͛ͺ?-->>Syntax is "refsort infile.nam outfile.nam."<<-- !}M͍El9͛ͺ ͛ͺ-->>No Output File Specified! !!}o!* &Eʉ9-1!!* &Eʟ9-1!!}o!* &Eʼ9-1!!* &E9-1͛! '" !* &E9-1!i!* &E:-1* !EH:! !͛ͺDone, no errors detected.ñ;* RŠ:͛ͺERROR: k͛ͺwork area too small.̈́ñ;R:͛ͺERROR: k͛ͺillegal item length.̈́ñ; R;͛ͺERROR: k͛ͺtoo many records.̈́ñ; R=;͛ͺERROR: k͛ͺ disk full.̈́ñ; Ry;͛ͺERROR: k͛ͺsort read error.̈́ñ; R±;͛ͺERROR: k͛ͺdirectory full.̈́ ̈́; R ͛ͺERROR: k͛ͺsort read error.̈́E; R Version 1.0 - 2/9/86͛ͺ6 Max line length = 255 bytes͛ͺ5 Max Ref length = 10 lines͛!}M͍E 9͛ͺ ͛ͺ?-->>Syntax is "refsort infile REFSORT.COM ----------- Copyright 1986 Carl M. Tootle This is an extension of my line-sorting program, LINESORT.COM, which alphabetically sorts ASCII input on a line-by-line basis. This program was written in response to the need to sort document references longer than one line. A single reference may be up to ten lines of up to 255 bytes each. All references must be in an ASCII text file, single-spaced and with a blank line between each reference. The first line of each reference is the sort key, and leading spaces or tabs are ignored. The sort is on a case-INsensitive basis, and each reference is written to an ASCII output file in sorted order. Input files and output files are specified as command-line parameters:  refsort input.fil output.fil Sorting proceeds in memory, if possible, and if not then disk space is automatically used. This is the Turbo-Sort tool distributed by Borland International with the Turbo-Pascal compiler, and is a QuickSort algorithm. It requires PLENTY of empty disk space (and more time) as the size of the input file increases. The object file was compiled with C200 hex as the end address, so the program should run on most CP/M computers. The GINST Turbo Tool is provided for terminal installation if desired (without installation, REFSORT.COM is for Kaypros with hilite). To install, put all files on disk and type REFSINST at the A> prompt; see the file INSTALL.DOC for the details. I am interested in any comments: Carl M. Tootle 33 North Stone Ave., #1220 Tucson, AZ 85701fil Sorting proceeds in memory, if possible, and if not then disk space is automatically used. This is the Turbo-Sort tool distributed by Borland International with the Turbo-Pascal compiler, and is a QuickSort algorithm. It requires PLENTY of empty disk space (and more time) as the size of the input file increases. The object file was compiled with C200 hex as the end address, so the program should run on most CP/M computers. The GINST Turbo Tool is provided for terminal installation if desired (without installation, REFSORT.COM is for Kaypros with hilite). To install, put all files on disk and type REFSINST at the A> prompt; see the file INSTALL.DOC for the details. I am interested in any comments: Carl M. Tootle 33 TERMINAL INSTALLATION Before you use REFSORT.COM, it must be installed to your particu- lar terminal, i.e. provided with information regarding control characters required for certain functions. This installation is easily performed using the program REFSINST.COM which is described in the following. After having made a work-copy, please store your distribution diskette safely away and work only on the copy. Now start the installation by typing REFSINST at your terminal. Select Screen installation from the main menu. Depending on your version of REFSORT.COM, the installation proceeds as described in the following two sections. IBM PC Display Selection If you use REFSORT.COM without installation, the default screen set-up will be used. You may override this default by selecting another screen mode from this menu: ------------------------------------------------------------------ Choose one of the following displays: 0) Default display mode 1) Monochrome display 2) Color display 80x25 3) Color display 40x25 4) b/w display 80x25 5) b/w display 40x25 Which display (enter no. or ^X to exit) ! ------------------------------------------------------------------ IBM PC Screen Installation Menu Each time REFSORT.COM runs, the selected mode will be used, and you will return to the default mode on exit. Non-IBM PC Installation A menu listing a number of popular terminals will appear, inviting you to choose one by entering its number: ------------------------------------------------------------------ Choose one of the following terminals: 1) ADDS 20/25/30 15) Lear-Siegler ADM-31 2) ADDS 40/60 16) Liberty 3) ADDS Viewpoint-1A 17) Morrow MDT-20 4) ADM 3A 18) Otrona Attache 5) Ampex D80 19) Qume 6) ANSI  20) Soroc IQ-120 7) Apple/graphics 21) Soroc new models 8) Hazeltine 1500 22) Teletext 3000 9) Hazeltine Esprit 23) Televideo 912/920/925 10) IBM PC CCP/M b/w 24) Visual 200 11) IBM PC CCP/M color 25) Wyse WY-100/200/300 12) Kaypro 10 26) Zenith 13) Kaypro II and 4 27) None of the above 14) Lear-Siegler ADM-20 28) Delete a definition Which terminal? (Enter no. or ^X to exit): ------------------------------------------------------------------ Terminal Installation Menu If your terminal is mentioned, just enter the corresponding num- ber, and the installation is complete. Before installation is actually performed, you are asked the question: ------------------------------------------------------------------ Do you want to modify the definition before installation? ------------------------------------------------------------------ This allows you to modify one or more of the values being instal- led as described in the following. If you do not want to modify the terminal definition, just type N, and the installation com- pletes by asking you the operating frequency of your CPU (see last item in this appendix). If your terminal is not on the menu, however, you must define the required values yourself. The values can most probably be found in the manual supplied with your terminal. Enter the number corresponding to None of the above and answer the questions one by one as they appear on the screen. In the following, each command you may install is described in detail. Your terminal may not support all the commands that can be installed. If so, just pass the command not needed by typing RETURN in response to the prompt. If Delete line, Insert line, or Erase to end of line is not installed, these functions will be emulated in software, slowing screen performance somewhat. Commands may be entered either simply by pressing the appropriate keys or by entering the decimal or hexadecimal ASCII value of the command. If a command requires the two characters 'ESCAPE' and '=', you may: either Press first the Esc key, then the =. The entry will be echoed with appropriate labels, i.e. =. or Enter the decimal or hexadecimal values separated by spaces. Hexadecimal values must be preceded by a dollar- sign. Enter e.g. 27 61 or $1B 61 or $1B $3D which are all equivalent. The two methods cannot be mixed, i.e. once you have entered a non- numeric character, the rest of that command must be defined in that mode, and vice versa. A hyphen entered as the very first character is used to delete a command, and ecchoes the text Nothing. Terminal type: ------------------------------------------------------------------ Enter the name of the terminal you are about to install. When you complete REFSINST, the values will be stored, and the terminal name will appear on the initial list of terminals. If you later need to re-install REFSORT.COM to this terminal, you can do that by choosing it from the list. Send an initialization string to the terminal? ------------------------------------------------------------------ If you want to initialize your terminal when REFSORT.COM starts (e.g. to download commands to programmable function keys), you answer Y for yes to this question. If not, just hit RETURN. If you answer Y, you may choose between entering the command directly or defining a file name containing the command string. The latter is a good idea if the initialization string is long, as e.g. a string to program a number of function keys would be. Send a reset string to the terminal? ------------------------------------------------------------------ Here, you may define a string to be sent to the terminal when REFSORT.COM terminates. The description of the initialization com- mand above applies here. CURSOR LEAD-IN command: ------------------------------------------------------------------ Cursor Lead-in is a special sequence of characters which tells your terminal that the following characters are an address on the screen on which the cursor should be placed. When you define this command, you are asked the following supple- mentary questions: CURSOR POSITIONING COMMAND to send between line and column: ----------------------------------------------------------- Some terminals need a command between the two numbers defi- ning the row- and column cursor address. CURSOR POSITIONING COMMAND to send after line and column: ----------------------------------------------------------- Some terminals need a command after the two numbers defi- ning the row- and column cursor address. Column first? ----------------------------------------------------------- Most terminals require the address on the format: first ROW, then COLUMN. If this is the case on your terminal, answer N. If your terminal wants COLUMN first, then ROW, then answer Y. OFFSET to add to LINE ----------------------------------------------------------- Enter the number to add to the LINE (ROW) address. OFFSET to add to COLUMN ----------------------------------------------------------- Enter the number to add to the COLUMN address. Binary address? ----------------------------------------------------------- Most terminals need the cursor address sent on binary form. If that is true for your terminal, enter Y. If your termi- nal expects the cursor address as ASCII digits, enter N. If so, you are asked the supplementary question: 2 or 3 ASCII digits? --------------------------------------------------------- Enter the number of digits in the cursor address for your terminal. CLEAR SCREEN command: ------------------------------------------------------------------ Enter the command that will clear the entire contents of your screen, both foreground and background, if applicable. Does CLEAR SCREEN also HOME cursor? ------------------------------------------------------------------ This is normally the case; if it is not so on your terminal, enter N, and define the cursor HOME command. DELETE LINE command: ------------------------------------------------------------------ Enter the command that deletes the entire line at the cursor posi- tion. INSERT LINE command: ------------------------------------------------------------------ Enter the command that inserts a line at the cursor position. ERASE TO END OF LINE command: ------------------------------------------------------------------ Enter the command that erases the line at the cursor position from the cursor position through the right end of the line. START OF 'LOW VIDEO' command: ------------------------------------------------------------------ If your terminal supports different video intensities, then define the command that initiates the dim video here. If this command is defined, the following question is asked: START OF 'NORMAL VIDEO' command: ------------------------------------------------------------ Define the command that sets the screen to show characters in 'normal' video. Number of rows (lines) on your screen: ------------------------------------------------------------------ Enter the number of horizontal lines on your screen. Number of columns on your screen: ------------------------------------------------------------------ Enter the number of vertical column positions on your screen. ------------------------------------------------------------------ Delay after CURSOR ADDRESS (0-255 ms):  Delay after CLEAR, DELETE, and INSERT (0-255 ms): Delay after ERASE TO END OF LINE and HIGHLIGHT On/Off (0-255 ms): ------------------------------------------------------------------ Enter the delay in milliseconds required after the functions specified. RETURN means 0 (no delay). Is this definition correct? ------------------------------------------------------------------ If you have made any errors in the definitions, enter N. You will then return to the terminal selection menu. The installation data you haver just entered will be included in the installation data file and appear on the terminal selection menu, but installation will not be performed. When you enter Y in response to this question, you are asked: ------------------------------------------------------------------ Operating frequency of your microprocessor in MHz (for delays): ------------------------------------------------------------------ As the delays specified earlier are depending on the operating frequency of your CPU, you must define this value. The installation is finished, installation data is written to REFSORT.COM, and you return to the outer menu. New installation data is also saved in the installation data file and the new terminal will appear on the terminal selection list when you run INSTALLNAME in future. REFSORT.COM is Copyright Carl M. Tootle 1986 Carl M. Tootle 33 North Stone Avenue, #1220 Tucson, AZ 85701 (Used by permission of Borland International)you haver just entered will be included in the installation data file and appear on the terminal selection menu, but installation will not be performed. When you enter Y in response to this question, you are asked: ------------------------------------------------------------------ Operating frequency of your microprocessor in MHz (for delays): ------------------------------------------------------------------ As the delays specified earlier are depending on theͫCopyright (C) 1984 BORLAND IncA Visual 200912/920/92PInitExitY,000) vHomeLnsMelxOL3igh4ow~7#~=% o&ͦoͦܐԩͣ}!!"8~#(}:$= +*!Z!*B!!:(=2!Z: <2!!!:O::O:!*B! !45(!.+/ 0y0( d!kZ!{Z͈͈o&  :(y ͠|( *"x2y( >28!?"9!!>2 :D]SXN]D [ (!e}̈́A8Q0G: x@!\w# (   yV. V!h6# (*(.(!8}(*(̈́w#>?> w#a{ |͒}͛Ɛ'@'7||}>"C"6# ""͐ͩ*B"[R5*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#E͊w}8uRB0 >R@RR!+ͨ z R!+ͨ z <!+ͨ z <!+ͨ z <!#ͨ z <!+ͨ z T]KB!z> S>))0 = |JJDMgo>jB0 7?= H\<z5+)+<z {0Gɯgo||H}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'ͬͬdͬ ͬ} wͦWͧ _}8(8J`9{T]=o`9y w >uJ u` }>(; xQ }} ˸T}ٕ(0D=C ,= ( [ 0%D , 7 ͏ ?(8u x O - ; 8˸x X ,-xG}; }م 9; .>#n0[ D = - nx P ,-(-˸G,-; }ٕ? 9.>͏ 8u ?= u+-(>O 0u O 8͏ ?x P , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx(ͼ ?}ٽÏ }ց; <(; 7D = |٤g{٣_z٢Wy١Ox٠GD u J }x>uu}ƀ/ƀo; -J }0W-J W,}l˸ͨ 8 ; ` x( -ͨ 8J -ͨ 8,J }l8;*!` ! >u` ` u--- J ,,,-xGg?+2n*8t z~,->uxua}.; OJ , ; !U >,k- o&0%,` }g; }؉}颋.:}8c~I$I~L*kٷx˸; }0G,͙<},-(-J ! >0 a` o8 Oþ >um.`1pF,t6|!wS<.z}[|%FXc~ur1}Oٯx(<˸ͨ 8; !~Jͨ 0O!><ͨ 8 =  7 <` O ; 7 0 W-J OT0 j oD,:j !I}袋.}8c~I$I~L!>u` ` 77 ` = O nf^VNF!DLT\I!!53!r1!\!> x #-= o˸xO(- }(x>8(C ,C `iM!>u|; |J>| )=|(DMbo˸ͦ88ͦx(0 8> Mx(>-Ͳ{(ay(Ͱͦ \z(>.Ͳ (Ͱ ~ͦ{>EͲ>+|(|Dg>-Ͳ|/ 0:p# ~# +>0w#,-  60#J˸}րogM| .(C = ~> x0w#xG%P %P ZJDM%P = _~65i+~hìx-Sx9?+{Η@}|C C gZJDM0D ,7}o˸  #yO!@9i&   # w# /w# w#!9! E9!!9~(+F͊!"9!(#>2*Ͳ"|>" :( ͆ *6#w*6#6 !\$![ (̈́( #:~CONTRMKBDLSTAUXUSR>2$*#~ Ͷ$*:> >w###6  #6++p>2S-$Ͷ:*6###ww#w$w#w: ##N#F*B> w#w#[s#r>2S$Ͷ$*6 #-Nw#Fwq#p#6#w#w#w* :( ͒: *^ F* < >26"~͟*-w#ww#͟"~ <@*Ͳ!\  <ʮ!\$> >2*|>! * \$\<(!: [1Á\!(f"> 2:!<"F( #~#6e>!["N>!~8>O6*"w (=(&("( :(N 8y(~#x+% (6*#~[*#~ *~(h#"b=  8 J= B== ͯ}8= ͵}/ͭ !*###~-_~(4Q6*>2>*##w:>*##~*#~(E[ ( ( ( !][ ( ( ((w#(6!]~-#8~>7  [>OkͼMs #rkͼpX á[ [ (( #w(q*#~[ (  *##~6͜O$*#~(08ʦ=ʦ==ʩ=ʬò+###~-_q46͡> *:4^q}Ò*|(M|( M6-#͐ͦ[R8 (G> ͒C~͒#*ͦC!h !lTRUEFALSEͦ!9^#(~#(G~͒#> ͒> Ò "F![(#RR0*4#4> RR *4 #4(>>2$*V(/˖:(#~+ x y2!͵( =( X:(R*:(###~-_-͌X> :("͟"*^˞*V˖0 SRѷR8A* N#F#s#r$ 0})jS\*###w* N#FB ͟r+s> !T]>)j)0 0= UR!#U*^#V#N#F#^#V>">!2DM"~x(L* :O(o:" C}=( ?*-N#Fp+qq#p! * F+N+++V+^Bq#p>>> SRѷR* s#r$ s#r"S"! N#FB(^x * 6#[<(H*! Kq#p##K[! *! 4 #4! x *$ *>w""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* 5KB!>u~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6# * *!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#VS>O"w2x2!"" @*>2"!"""!\Ͳ*: !~6go(\R*s#r_2x( s x(T]DMR0 -a%}̈́o*!~6o&͠|ͣ}%^C User break1:% I/O% Run-time% error ͒%, PC=[R"͍% Program aborted*1!͍!0[ͲZ REFSINST.MSG REFSINST.DTA REFSORT.COMCOM"|*|"z*z!" !  !t͡!t"r*r"p!*p m5zʲ "n*p*n*p*nn&(s*n#Ä P!Ͳ5!NE R͐Ŕ*** FATAL ERROR: ! !q͐""**ͯE%!*"+!*"*""**͛ET!*"Z!*"*" ", * ͥEʖ!** ͥ!}2Ý!!}2*&" * m!͛* !n&! N}oE!* !!ͽë!* * mn&! NE'"* !* !n&+s!D*"6"8!;*6*b!;*8*gb"2"4!;*2*b!;*4*kb"/*/*"-*-!ԟ!)^#VN*-!ԟ!)^#VN}o*-!ԟ!)^#VN}o}21*1&")"+*+*"'!}2&!ԟ*&&)^#V*'aEM#*&&!}2&#!ڟ*&&)^#V*+***)s#r" """$*$͑"}oEʏ$*$*"!}2*"*"* *"!ԟ*&)^#V*N!ԟ*&)^#V*N}oE$*&!}2#!џ*&n&EP$!ڟ*&)^#V!ԟ*&)^#V+"!ڟ*&)^#V*^"!ԟ*&)*s#r!џ*&!s""**"!}2!ԟ*&)^#V*aE$*&!}2ñ$**"!}2 !ԟ* &)^#V*aE$%* &!}2 $**"**"!ڟ*&)^#V**" !ڟ* &)^#V**" * *s* * * * *s* * !џ*&!s!џ* &!s""*** *** *\ * &}2*&*!͛EY&!!+)!s#r!!+)*!Rs#r!"_&!"*!͛Eʵ(!*+)^#V"}!*+)^#V"{*!R"*}"y*{"w*y*w!"**y*w{#*!m"*m*u* *y*w*{#*y!q"*q*u%E='*y!"y*y*w*{#*y!q"'*w*y*{#*w!o"*u*o%Eʓ'*w!R"w*w*y*{#*w!o"W'*y*w͇E'*y*waEʾ'*y*w͐$*y!"y*w!R"w*y*w͛E&*w*}R*{*yRͯEX(*y*{ͯEO(*!"!*+)*ys#r!*+)*{s#r*w"{â(*}*wͯEʜ(*!"!*+)*}s#r!*+)*ws#r*y"}*}*{tEʢ&_&*!N*!t}oEh)*!NE#)!; $$$SOWRK.$$$=!;yb!}2:!!+"!!+"!ڟ!)^#V!ԟ!)^#V+"!ԟ!)!ԟ!)^#V!s#r*!͛Eʁ)!"Ç)*"!ڟ*)^#V**"*** *!"*!"**NE)!"*!"*k*!R*}/o|/g#{#*k!"*** *k!"k*k*t}2""""""!͡!("!)"!4*"!"!*ͼ *ͼ !͡!! !! ͥE +!@! !͡!! ͧ!"*!͛EW+!*!"*!"**"*!͇Eʌ+!",!ڟ!)*^!Eʩ+!"!ڟ!)*^!E+*!"!ڟ!)*^!E+*!"!s*^!E ,*!"!u*^!E',*!"*!aE@,!",!"!}2:!"!"!"!ԟ!)!s#r!ԟ!)!s#r!ԟ!)!s#r*\ !џ!!s!џ!!s!џ!!s&!"k*\ *:&E,!;\b*!tE-!u*:*!R"*!tED-!s*:*!R"*!tEt-!ڟ!)*:*!R"*!tEʤ-!ڟ!)*:*!R"*!tE-!ڟ!)*:*!R"**\ *\ *\ *&}2*&"*"*0!s#r*2!s}2""*"**0^#VaEL/*2n&Eʡ.**0^#Vb**3!gb*2!s**U!R͛E/*&E.Seek read errorͳ /**U͛E /Seek write errorͳ **b!Ͳ85 R4!Ͳ85R4!Ͳ85 R 5!Ͳ85R'5!Ͳ85*4&e.!Ͳ*4&!͛Ee5! (+128)!Ͳ! !5Ͳ!5 8* m*tEʭ5!}2R!bô5!}2*&6! !!͞*!N*!t}o*!͇}o}2*&*&e.!Ͳ*&Rb!8!b! *&e.!Ͳ*&Q! a! a! m!N}oͽ5}o}oE6*&Q! a! aE6!!!!n&+sͽ5E7* *e.*Ͳ*&! aE7*&R! b!8!bn7R!b! m!Ez_7"R!! !b*+57!8!b́5*&Q!$a!0!9k}o}oE6*&! aE8R*&4!q! b* *&e.*Ͳ́5E7! }28!8!bÜ7""*Ͳ!}2!8!b*&(Q!-a!A!ZkEi8*&(}2ß8*&(Q!0!9k!$aEʓ8ͺ5Ö8͜7R͐b*&ü9*+"*!NE8!"R!*b!$k !k !$ ! ͽ}2 * b* A}oEf9* M! !NE59R!<b* 8!$ͳb* M!R*aEc9-8* b-}oEʻ9* M! !NEʦ9R!>b-* [!$bs9"P!Ͳ" ! R!q! b!", !ͼ !!8!8!g9!$!("!aEʄ:R͐bŔ9*** WARNING: Unable to sort Terminal names - Press RETURN͐b+_bR͐bÀQ"*!!s!8!b*&! aE;*&Q! !~kE+;*&Rb*!*!n&#s**!n&*&s;*&!N*&!N}o* m!͛}oEʚ;R!! !b*!*!n&+s;*&!N*ߗ&}oE;!}2ޗ;!8!bø:R͐b""! R!q*!!-*!!E !qb"""**t**͇}o}2*&""""* \Eʇ*Ӑ^#VR!! ! !q! b*x&}oEc?!z͑:*ޗ&Eʎ>c?!z*Ӑ!y!xV<*y&*"&}oEʿ>!}2x`?*y&E?*͐*Ӑs#r*Ӑ^#V*ѐ*ϐ!!}2x?*ѐ*ϐ;`?*x&}oE2?! R!q!E !qb`?*Ӑ^#V*ѐ*ϐ!<}oE`?*ѐ*ϐ;!}2xl>"p"r"t"v*vn&"l!l*t*r*p>*l*vs"j!*j5z?"fR!_b*f#ð?!*j5z?"fR!b*f#?"b"d*"&E@!*d m5zS@" R*d* n&4!q! b* #@*d m!͛E@Ŕ (b!*d m5zʸ@" R*d* n&!! b* #Ç@R!́) bR! ! !q! b!*b~5}2 ! \*"&}o}oE(A! *dͲ[A* &!-NE[A*dͲ!_ R!q͐b""" *"&EʚA* n&!NEʓA!}2ÚA!}2!=*&}oEA!* s*Ͳ<ÄC*"&EA* n&!NEA!}2A!}2!=!}2*"&E^B*&* n&!a}oE6B!}2^B*&}o* n&!N}oE^B!}2*&EsB!* s{B!* s* n&!NEB*&EʤB*Ͳ! R!q! b**?ÄC*&EB*Ͳ! R!q! b*"&* o}oE>C* R!q! ! !q! b*+͝?!`͑:R͐b!` o*"&}o}oEʄC!` *Ͳ"^*^"\*\ \EʽC*\6D*\Fn&EC!e.!XͲC000!*\^#V5!XͲ*\6*\ !X *\ !X *\ *\ m!X m"V*V*\ m!X m"T*\n&EʮD*\G*Vs*\H*TsD*\G*Ts*\H*Vs"R*R!!*R"P*P}!s*P~!s*PF!s!ڕ! <b!ڕ5!aEuE6File Containing messages for this program is not foundͳ !ڕ!e!_H1!RͰI*K!s#rLLL*KY!s#rXM*Kg!s#r<*M&!!5zʄM"GR͐b*G#iM! R!q͐bR͐bNM"*6*"6*6*4͛EM!"6M*6!ͯEM*4"6^M!}2!}2*4!͛EʺNR͐b!R R!qb!8!b*&Q!a!a!a! aE)N*&RyN!ͩMúNRN!ͩMúNR§N*ߗ&}o}2FúN RºNR͐b*&!}2F!*~!/!"<*~!*<R!͛EO*<#"*@"8O*B+">*B*6+*@R"8*8+*:#"8!*8+5znQ"2!*:+5z\Q"0*6+*@*0*8*2"%*%*>͇ESQR*%#!́) b*6*4a*>*%R!t}oEP!**%b!*8!ͳb! !Ͳ Q*>*%RRP!ߎ !Ͳ QR Q! !Ͳ! R!qb*0*:+ͯESQR!! mR!qb*0#$PR͐b*2#PͦM}oEʬO*F&"!P!ͲP!;Ͳ!}2!*!; =!*5!aEQ!*bE!}2ߗ!}2ޗ!*U!N}2ܗ!"ڗ*ܗ&ER<R!Ͱ<^MͣM}oE3R!}2ÆV!}2"*ܗ&ETR!"%!<SR͐b*ޗ&EʐR!}2ÆV*%+"%*%!*UN}2ܗ*%!*U#NES*ޗ&ER!}2ÆV*%+"ڗ!}2ݗ!}2!}TS 101 Nothing ^Q: Quit, ^R: Last page, ^C: Next page, : Select terminal: Wait Sorting Definitions Change to: (Y/N)? y n Text file name: Command: Numeric entry expected Legal range is , please re-enter: Choose one of the following terminals: None of the above ( Max. 20 Characters ) Delete a definition ( Max. 20 Characters ) Which terminal? (Enter no. or ^Q to exit): Delete terminal? (Enter no. or ^Q to exit): Do you want to modify this definition before installation? Terminal type: Send an initialization string to the terminal? Initializaion defined as a command string? (No = a file) Send a reset string to the terminal Reset defined as a command? (No = a file) CURSOR LEAD-IN command: CURSOR POSITIONING COMMAND to send between line and column: CURSOR POSITIONING COMMAND to send after both line and column: Column first OFFSET to add to LINE: OFFSET to add to COLUMN: Binary address Number of ASCII digits (2 or 3): CLEAR SCREEN command: Does CLEAR SCREEN also HOME cursor HOME command: DELETE LINE command: INSERT LINE command: ERASE TO END OF LINE command: START HIGHLIGHTING command: END HIGHLIGHTING command: Number of rows (lines) on your screen: Number of columns on your screen: Delay after CURSOR ADDRESS (0-255 ms): Delay after CLEAR, DELETE and INSERT (0-255 ms): Delay after ERASE TO END OF LINE and HIGHLIGHT (0-255 ms): Is this definition correct? Hardware dependent information Operating frequency of your microprocessor in MHz (for delays): 101 Nothing 200 Choose one of the following displays: 201 Which display? (Enter no. or Q to exit): 202 Default display mode 203 Monochrome display 204 Color display 80x25 205 Color display 40x25 206 b/w display 80x25 207 b/w display 40x25 FSET to add to LINE: OFFSET to add to COLUMN: Binary address Number of ASCII digits (2 or 3): CLEAR SCREEN command: Does CLEAR SCREEN also HOME cursor HOME command: DELETE LINE command: INSERT LINE command: ERASE TO END OF LINE command: START HIGHLIGHTING command: END HIGHLIGHTING command: Number of rows (lines) on your screen: Number of columns on your screen: Delay after CURSOR ADDRESS (0-255 ms): Delay after CLEAR, DELETE and INSERT (0-255 ms): Delay after ERASE TO END OF LINE and HIGHLIGHT (0-255 ms): Is this definition correct? Hardware dependent information Operating frequency of your microprocessor in MHz (for delays): 101 Nothing 200 Choose one of the following displays: 201 Which display? (Enter no. or Q to exit): 202 Default display mode 203 Monochrome displaysz1zRobert C. Price TIME: 07:25:52 DATE: 01-MAR-86 $/ {z: (Z$ ͓͜A(w#Q(_a(_i(_͸ ::A(   9"& |*+." * #" ͠* utut* #" * +ut*u}8:@W(͕ͯ =2 w* +" " * ."͓6#: : o<(_=_!F#8O[ : G(~# 6#" y G| }x+++ Out of node space$| (   !7 8&r* #" * +" G|  2 x! ˾# :GO*8 "82! ~(&#8G"x! 8  (7">y28!   : 8 < 7!   < 7+++ Aborting at user request.$|: (-F  ~0#>?7(?8 |!N# : (: G+   u:@w(: }>:B(>2:A( SORTING THE FILE$ * " ""!"$* "&0:A( DONE SORTING$ *&*$*"|g}o"" * }o|g"$!"&"(- x "*",".ʸҸNwy#*"|/W}/_*(Ҹ#"(*.**{ozg".{*&#"&"(*$}|8*,**r~#fo~#foF!~Ѹ8G~#fo~#fo z { #ͽ* K > x Bnf++:@(,^Vn&+~( ( 600Enf" ^! ""+++ bad read - aborting.$|}0: (.!@~(* ! ""6 * $.""[  |[R6:O͓: (͜**8 (7܆*+++ disk full$|*(w#[8F*"  !  !DFx( #^ 2;   Q +++ Error - can't close output file!$ +++ No space for output file.$ File exists - erase it? $ +++ Aborting at user request.$ +++ Bad source or destination FCB$ +++ Bad characters in destination FCB$ Some lines ignored - null or no key or too short. $<([{'">)]}'" $$$ Getting source file information. $ +++ Null File - can't read first record!$ +++ Error - can't open input file!$ +++ Error - can't open output file!$ SRT.COM Version 1.2a Usage: A>SRT OUTFIL.TYP=INFIL.TYP [/switches] Switches take one of two forms: /[offset],[keylen] where offset and keylen are numeric and represent the offset from the beginning of the line and the length of the key, respectively; and /[switches][,keylen][switches] where the "<" character can be any one of <,(,",',{ or [. A matching right delimiter is required as shown in the example. A switch may occur after the skip string either before or after the keylen parameter. "C" in either position produces a contiguous skip_string request, "K" says to save the keys as output, and "O" sets the offset value manually. The default offset is the character following the last skip string character. Delimiter nesting is not allowed. Note that in both cases the keylen argument is optional and defaults to 22 decimal. SRT also takes three special output devices; LST:, CON: and PUN:. They perform as in PIP and STAT. Reset 140h, 141h to disable source display, process messages. Set 142h for descending sort. 143h = switch character storage location. Byte 144h begins the clear screen sequence, which is stored in the format: db len,ch1,ch2...ch8. To use lower case or other difficult/impossible characters in the skip string, use the command format "SRT w#6#  *  .(w#7x((#* .w#H6?#A.( ( (7!\x(~a8{0_w#v\ ~0#>?7(?82|2}2~2< 7ܖ\(7ܖ!> +6>2&+++ Null or missing command line file$|:CO~(#F#(A~KO #,0 0+{2 x(#(+{( 2 x(d~OKx(~0C 0D#)]T))_ ! g0US #˾~ (:-(0<(6>(2,(.;(*:(&=("?(*([(]((/8 # y 7!+++ Bad characters in source FCB$|~: 7~C(EP(GL(I +++ Special destination error$| ! g8$: ::2> 2 Y |! (N#x(j ~(#6!l}2 x(J#x(D~,(OKC 2 #)#x(#+{(2 x(~OKC 2 #!@!@#(+{2 v5 |  ~0#>?7(?82 2 2 2 < 7: !v "   ~0#>?7(?82 2 2 2 < 78$ ͓_Y |  ~0#>?7(?8 2 < 7[ |!> +6>2&+++ Null or missing command line file$|:CO~(#F#(A~KO #,0 0+{2  SRT.COM Version 1.1h General comments: I wanted a general purpose routine to sort on any character position, any key length and able to recognize membership in a desired set. A further requirement was that the sort had to be performed in memory but not be limited to the few hundred lines that can ordinarily be accomodated. The methodology chosen was to: 1) Recognise the key and save it in an array. 2) Associate each key with a descriptor node in a node array. 3) Sort the keys, moving only the node pointers to avoid excessive overhead. 4) Refer to the 'K' switch to see whether the user wanted only the keys or the entire source line to be written to the destination device or file. Note that for short files to be sorted beginning at the first character, the 'K' option produces an in-memory sort of the whole file, which is much faster than the random read from source to destination used otherwise. Specific Examples: A) Sort a file, beginning at the first character and displaying results to the console only. A>SRT filename.typ Variations: A>SRT filename.typ ;()K,132 will (if the file is short enough to fit in memory) only take one pass over the input file. A>SRT outfile.typ=infil.typ will also output the results to outfile.typ. B) Sort a fielded file on the 10th through 15th characters. Note that SRT counts zero-relative, so the first character on the line is interpreted as line+0, or the "zeroth" character. A>SRT outfile.typ=infil.typ ;10,5 The key length is 5 characters long, so that's what you specify, not the ending character position. Now it gets interesting: C) Sort a file with a key pointer string consisting of a colon ":". A listing of all files on all drives in the form: A0:FILE.TYP B15:WS.COM A2:AAAA.XX might be the form of your input list. A>SRT outfile.typ=infil.typ ;(:) will produce the desired sort on the filename field. A2:AAAA.XX A0:FILE.TYP B15:WS.COM If the desired sort was on the .typ field, then A>SRT outfile.typ=infil.typ ;(.) would be the command to produce B15:WS.COM A0:FILE.TYP A2:AAAA.XX D) If the list also contained header or other information such as: DIRECTORY LISTING ON 26-JAN-86 A0:FILE.TYP B15:WS.COM A2:AAAA.XX the output file would still be the same as above because does not contain either a colon or a period. Variations: I wanted to sort only those lines which met the key criteria, but begin the sort at an arbitrary point in the line. A>SRT outfile.typ=infil.typ ;(.)O0,15 meets that requirement by defining the "O"ffset as the first character in the line (remember, it's zero-relative) and the key length as 15. As before, the inclusion criterion was the presence of the period in the line. Bugs: None discovered in version 1.1h - please report any to me post-haste! Abnormal termination and recovery: In the event you abort during the output process, the output file (if any) is written to disk, closed and renamed to yourname.$$$ to distinguish it from a successfully completed file. Online documentation: The following is a screen dump of the documentation available by invoking SRT with no parameters. The screen is cleared via the byte sequence described below. SRT.COM Version 1.2a Usage: A>SRT OUTFIL.TYP=INFIL.TYP [/switches] Switches take one of two forms: /[offset],[keylen] where offset and keylen are numeric and represent the offset from the beginning of the line and the length of the key, respectively; and /[switches][,keylen][switches] where the "<" character can be any one of <,(,",',{ or [. A matching right delimiter is required as shown in the example above. A switch may occur after the skip string either be- fore or after the keylen parameter. "C" in either position produces a contiguous skip-string request, "K" says to save the keys as output, and "O" sets the offset value manually. The default offset is the character following the last skip- string character. Delimiter nesting is not allowed. Note that in both cases the keylen argument is optional and de- faults to 22 decimal. SRT also takes three special output devices; LST:, CON: and PUN: They perform as in PIP and STAT. Reset 140h, 141h to disable source display, process messages. Set 142h for descending sort. 143h = switch char- acter storage location. Byte 144h begins the clear screen sequence, which is stored in the format: DB LEN CH1,CH2,..CH8 To use lower case or other difficult/impossible characters in the skip-string, use the command format "SRT , (), "", '', {} or [] are valid delimiters switch(es) the switch character is the character stored at 143h - sorry about the cryptic comment in the on-line documentation, but I was running out of space. skip-string the string (of length 0 to 127. characters) that is to be skipped. The sort key begins at the next character position. Example: Given the following lines in the file IN.FIL MYFILEAAATYP MYFILEXXXTYP MYFILEBBBTYP the command line A>SRT CON:=IN.FIL /(MYFILE) would sort the three lines as if they were all left-justified. The reason is that we begin sorting on the character following the skip-string, in this case "MYFILE". Thus the output would be MYFILEAAATYP MYFILEBBBTYP MYFILEXXXTYP Note that the indenting is preserved. key the characters on which to sort. In the above example, the keys were all of the line after "MYFILE", or "AAATYP", "BBBTYP" and "XXXTYP". keylen length of the key to use for sorting. The default is 22, but any length may be specified. Longer keys mean less lines may be sorted before you run out of memory. This will not be a problem until you get up to over 1000 lines to sort if you stick with the default length of 22. LST:, CON: and PUN: these are the same output devices listed in your CP/M manuals (see the PIP section). Reset 140h, 141h to disable source display, process messages. Set 142h for descending sort. Byte 144h begins the clear screen se- quence, which is stored in the format: DB LEN,CH1,CH2...CH8 143h = switch Byte 140h controls the display of the input file - patch it to zero to suppress the display. Byte 141h controls the display of the process messages (ENTERING SORT ROUTINE etc) Byte 142h is set to zero in the distribution version. patch to non-zero for a descending sort. Byte 143h is the switch character. I waffle between "/" and ";" - you may use any character there you wish. Byte 144h begins the clear screen sequence, which is stored in the format DB LEN ;length of string to send DB CH1,CH2...CH8 ;chars to send (8 total 8) command tail that part of the command line which occurs after the task name. e.g. in the example A>SRT OUTFIL.TYP=INFIL.TYP [/switches] !------------------------------! the command line from the initial '!' to the end of the line is the command tail. viSRT.ASMk  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLoMNOPQRSTUVWXYZ[\]^_`abcdefghijQ$QlM/ϣېROBᶎ;:g!z~!R(oR l< |CR:o7 6 6 6 6 6 6 6 6 6 6C,4uJհ|FVu[ 7?#$E>D(ڇn$ .|ZW軐ZH 3Ԋk*v UP_0n*v'LƎ2{~捐{a^1bX ͯX(wk q,~VYǹd3Ȕ y5g37ܙgL3qiu0nŎ6;ظ7BjTF1*W@2yʗ rZ110#v[+!5̚O-2cUN#2x“Y9w `v2 C63c8wFH,#_,A~ ϫxsu[^9 IHI`&f36qçع؝ɚ+#SUVJH.vܭ؝ f36cZ1R VW!b!5֜l~<]]' Of t0K3af,#wk:1r}n7Bj8`jTV f 3V!M|:w<Y|V*vZ1^:v'ͯX}*p)S|o0~Hz[#wȭ͟pg 3zq}suȻ<#_劻'!5\_E;r'tNj3'VgmW g֌IԈ3L^<)ξ OfԊ񊟀I ~D?R#3Vt w;xD=OfY,[t썐ZH-:3,:\1cBpizA BR4Em]ԭ'MQ/ZHꓦ'M O^АQH'MQ/( EېB@RD-|Toz!>izAQ~R O^P'MQ/(n>izAOR/$IS !Bj!?DpD[hv ?X}hQԋ4IOED}R i4mSl몎D|]hO}mSa; $IS iR O^O}Bj!5~PhiR! i"SH->izAG^HM}n2BjꓦtӤ"HC6>M3~y>izA/\ E$I[$iHyOBj!uvob݆E#mw:]?I=IEmS$E&ByHԣj2DuJ$$h2D_iB;?'Mb݆tS! ֣m!qnCJ{;e1nVHBz+$RzT"?4THokZy*$!Qۚ5^/;L=fb2LHBz+$5IQPiYuP+5K;RH!Bj֕?e] I07o:Zx_ |%>DHҐ`7!,bwuGۤaH _w] ҈V8OPvB =fR3F Unb+zKeXB.j H#Zg'bxBJE틺uGD<g0fKxBJE}"҈V]8q~OX IE\Ծ)|'"heŎ3 񄌕5.Y3qtŎ3s IYcu0fK%$!TeRE/OH2n)_v f2V3%߈4"vk'=A/ZH-B '"i (%}'2?lÑ=Ɵb7{8(le!JHz)_v qXuoU&?\P4҆Hܯ,CTm" DB .5g3v؝i%$g_ _ƖBFoG*=fiDϱ0[6)Ȕl(ݏ|zkh4;!Sij/2w?-a;IQr$B IMRZ;"޼`tƝ`RŎ حa&<{%zKeXBҮ $ )d2PmI !2^=g$&]iTVBҐ֕>T}t x (:cRpW/GB2,v!)w2c$EAQz"XX IMR"vKbXΖʄ&) j6 )Fә'/c!#ˑ((՞H#|crH('$}ܠO.I&ئmvۺBBj!䒤G*ʄDM*z9%II2ni]yҦD+23wM^*6,}rI#RT44$$E>IA  ά92yQRK"Ҩ]0[ZN!vB;? I]M,HOBR4/JJCYO 4e $B IMRն.4=;nT fK)8(( e"5rX7•Yw!)iR+065:LqBR1/JZmHc0SPa&\OBRќHc0SP:_0}>c!h^To"(3\[(vk ά9]44C}GDUwdM[(g֜ )d\Hż(mRi\1 f3k",$ͅh^ԇ6)46#VBRqWS9n,BEZLpf͙T&D2b_?(8f!K~:R5EZ%Fqna jp g,$$}|J1)(b=GhʇGBBj!C]# i]/v۷q&NA.v'e'$7]Bh}AMVmAS$Ehvi*-ZȦH<Ұ-9F`X>řb ImMj"TQ;,4y}GDv9/ {;üRȦHHmMxMt[yR,$͉4;eKjj461{5 άYH!HIH!Bh}Ant( BJDEӺ:H4yR~R iR5(RS]nKM["&E]bH&Dq)5m哺pu+RnH4yR [t"~ǟk!5e||RWK='iFxծ(CڿRB!5v|RWn.nQ-Inq BjBz+R%<|RWn.q (Bus| u2l] mpWZHMe4G̓*m([$i< )IbDXPa7M[":9-BjZ8뻱~Đ(RWG!5y@#BG#ծ(P稷.CSR6H~]g؝JH[Z=Ɓb߰7SPSl3$jZH; IM?ЂH3vfyZ}^ EE䯉4976wt&iTXVK:v'|TBA8e03WWƁ?JH-d[DHeRRI6B~nf2VBRQq)ƁfKk)O؛)BRQ&t E4б;Է!4j+tNj3A ; )d[DHIPBfB;dnQHzh_49پԷ=FerVgJ" rƕyTWwTi &v ,G9SBR]\H",_S؝ 3tT^R[DHcܭRh_tBR[S?^ily:!hNty|lpˮyQR>>%҈ {;VH[JƆH#e;cwR+4y}GDvHN0[ZN5cob IM?K"h fBg'VmJoߢ]* ά>y!v9r\IiD fy$CrG!u4ih6HCR"A6-QWHl{mԟBLCsh)iH.cSD“(Yg2-1V!bYl9Ґ)EimcX i5*^ L"lf(( Q'D)gO+*Cp&BPS6fA1)(,ό] IwiB Fqn1˭}R4ir4x"9V+d*WLH!u4Del(xG+}n Z4Dei>ei &v &fr ImMHc&؝J4De4DocOr jXŧnb%$͉4;eKJCTDnΘ=ʚi4HIH!u4E]mDiۣ,DHQH-dʢt+JCf>/v[hX!G;2YNB봡4EH#wB<5VH*j*Ǻ'LAX4EHiDsVTBh}AM% m ;m]!G!M% ⮦XF~,⮦rCq]~o޽{w4"ҸBfrxbBRQ)]i+e_1ٍ$EAMF!%h:1rTw,$JpOebC˯jŘ⎅mJo"1V\aߗ7g!l6 鑊22ff IqwS1\~$&Ҩ 6]&) zHkR"Gΰ-nVHj6 TF~,46d)XH iڦQHӱ!* lB m) 4,؝rH(]2l]~]?7$MRD>: ~Vܣ"T%-"iHy(6 UvR')"AHPDiB""usrR ]2iEc9Ή4è[X>řb I]Mb}{Oa2؝ 7Of4cwR+<+!i1^ IuuGs" rNALf I]M]ȧ1)(42H1NŧYfȔ _r> IIP"$N_Rt=FeAb%$erG%#g 9f3VHj:%"˜WECKe.?4*0[clJH*ʄPH ZL^{d$$--DH*;i &v 7Lam>Sl&) j!)[cfe#S6vLHzV/) Fbx3l%$N) 46.c+,^{tNj%e.G*J"+䘭r[!.Ct#5MFa+L"VB롥2DDQҭAb%$DVpA!{1[6)BRQ&wT IIPBQ-:^RtiTt1 BF!qb};iT|qg 3!fq.v,$eBa[4fBJHZԞ\FYw0ӔߗB%E!Fel%$eBvO68^ݒ)E!|! wkd.VP3sueC2 ߎT&%DV0ӔBꄤd,462б; C]HzRt"6g]nr6,R2DGokJ=Fɳ.)e!.Ctr" H9S2,L̈́4x"bwR!9:Zx_PԦ~M=< IQH_BjU<6uh2`ۦ:B|]#vWBjI!I=-Is oR ?RQ&TJ"uN0v _r> IIP"$N_RԦH2BR[S2n49|8 kYH|BUJ2jS}LhHh@388($%UBӤcԦH2n>M}]ۺRȨMyQRۤ 8噱k)!)%UDn*λ?͋{" ^ݒ3!i>VmY4̚h^t' wkd F0X%$󢤪-i &v &fBnm$$EDL"3V IMRCQDMuP+5K;2!mI !hefYG!ɧIE/ǨM"`JH>П˶ B r4x".VFfIH!uh` hɮDq/?R~W!)_[c1xI`yf:C5b+2 3˫Bj gƮ3=rF+FV08`yfqLk!5rܭVLV|e^߿"[X'IHrCQlC9[X5b݉V,͓b Uz2(lLL3xݠ8 T>5Fa 3u&d򁮉4bB^T>5FV0,ό]gB?R@Dʭ zm9`&d Y|k"AY!H]i Y?R@DB&R CQG*EI4*,Rӻ͐֕R!949͉4 Iż(rOq`IaiNQ+(cot&i}yQR/$-%\HJTH[Է&ԷT͋{"(p{!Ԧ ͉4^!6Ԛ^W/*ۊHlm|]!v˙^Kʶ")$ @ "mlk!ih*4"jiODyR!9:Zx_PU+7WBB Ymuf~ "ʠ BR1/Jd,h $-c"$-%\H *IѼ(r/$w5{"rF`ğ͋^ IѼ(R l劑5#_-g4e^H-$MJ4-4 v')9]4ưTn+!,#IIT6wq!$iBZ%ý:^R1 IѼ(/B]3?Fw3,X##W߅h!$ @s!iEs I.BH!ӑyQR^HEIe}/$5T&%B]3?Ƽ*ϰf o۫B 9$pRG j fj[FlNrFJHQH-d3ihZ4DREktNjfoVuW ˌ I.Ӣ(i!I4Wgjw}n8XTc!K"z86=jR hV;1P]rb ^7ŚuNBj!HH[;ƝXVBFGokZ4Z=!{؝`ص2RH[DH[JFH|rGTWw4J!|]^H-R#R6v sf+^^!Po{Bj!5~j}'G4m߇~PWOw*CiRuuY<#!5~"J쪦P:($ hvi*_T>xg,Oy@-4m'XPbۦ(E@"iB*FH`ߢ?u_Wm߼y#O!%D?di>!"BRR9&D?d,4~ IMO!oo) O!IEJI<|H'ݥ %!I$i($^HR-*IO ZH*J"zB|=Ԋqy2+F IY2Ȟc5[ IAH!Bh}A3#W߅ԟBR]ќH#_09~F|9\ IѼ(yQRYioώ.$5T̋H#Y-g4ed D?c-tk7f2VBR[P!$-c"$-%c)$EͅIѼ(43B~f'8e03W22ecwʄRG f+d,񯯄ԟBVÑyQ{!hN/M?yQ{!)%B]3?Iż(r/$-%c!$E!oo)BRXP)$no4 W8epçع؝5EfB nX#BBj!%]4RH*J"?n|{]Hk!%ŽtB~b$ZӻCZW^!9:Zx_PCnдuVH۝ (i!I4yDBRR2D'Xa՝38fM[lԷ4{" b 慐ԷTtD/BRR2D'Xa ά{;!h.$-ǞH_~a)ԷTtD/k]4BRqWS9V"TO1)(Ipf3kʤRH[Z=ƁVݷL؝3tNj%$ |,a#*ǹT4]'!LJ*d4o;}?g؝JH!Xi)c{;OqfBR xXų q'iCM=FYOX/q'ncB1,:Nlѱ;bYH!#-%c/$ͅi |Ʒy]H[c"$5ԷTWw4cOQ|Ʒ2|1AHj"i4j[Z12ecwʄiDV',;!oo)K" 첥ebwBR4' _-g]^Kj~H~I}{KRȦǑvh>Hc}M^*6NHJ'" o0˻.v'!~|ACD>Cy1 ض)PYHQH-dOTDV1[6)BRil5fj[^Kj!_46wLaniYH;*4;el[!hN1)(f I%5TH!~#7]B!yAYGC<4MѴ[4R~R ۇ#RT4h^Ң4j+ֲ̖S0K_*tcPVHj>vKQXA6V4(&-D[ ] SUBRQߕTS"NALȭ͟⮦rڲi)tNj%$>IAQ-nLةLHzR4o>iD=f Yb2G*J"NA8_SB ۇOGjhpD<#Nj[2~ó#VPfK%$-4,d,Y~b!oo)DqQHjӗI%EH2ؠ3f/$#gZZe0˻.v'!C8 Eۤ HpvQHԟBB|TM8 TahG-]ʣj 2?&őPo AH@DQw~\S)TwTUn)iIH*;Un{2pf͈VT6w4'h)cbM[(|63K0 ~WVH*; I.ӜHOB#i~q)^cob"vL(?lƁ.? IӢ8&3Ԋ> I>M*z9F iTVBҐ֕@1)'d|eNBRQ>R1Vȧ'!(i>VȧoINVWL؝זLHvќDn,4wFTB!+S]}t lb_*tc [\q'򑊱*uEcU+=i‰b_*tc [!iڝ'"vKX ICZWhh@.~#3PFHځJ"3e,cobB'!2H 9f3VHJ"8($N_R4Mi jwi((2?uu( D/ykX>řb IEyGXƟX'_؛)(g֌a IesGs"v2VP+N2g3t pw{e49͉4$$ P?/ 5&v-bIH! ʰ|bwE]Ɵ|Xz{Opb,1㟄aiNAX ICZWv@N!3K;cLqb'\q'v9FŎOBRvis4DM[n`fPVH!(@q`qʄEiQˏ1!2]W飐Ӥc4(#`JH*G cU|JgIEHX"'_8Z1^2ecwB^[2!(]*8BV0fKk)tc!i>^i &v ʀfB;ʤRH!CQ_lhNq`.f3VH[J^HJ"juPl0[6)KE}M6c2{/b̄fi4;|KE}M6c2{/b̄fI4y7!vG!uZhPԟ4* 2vktcLHokk"GΰK7#VB ӑڝRODn TB;RhP9RCI-#g,~+!ɧIEil5}+!EwG*G*ƪ|4$$#Ǫ|=i‰,ό]-n IѼ()Jmx+JH*G cUkiXLS ϱZgƮr&{gc0ӔcX "f*r IeRRI5 MfbiX IѼ() eQWo?F` 8bwΰXHj4ih4 RP+噱k!)i۷װA~cyl&) JCYFjbBRCꩮb}4"vktc(Tš_3΄2?#( Dre]?agm&$7]Bh}A}r v}ˀv燝b݆ahʇ4R|R 'nT 6BR3 I$&/QLq wB|u8WݓB-a;IEP4"? IihQKx/_1e<3Ɲ}"P4"_ [g͛7BBU[!a#Z8c4!iQ{ZzI#_0Ԋ2(b/B%%!Ҩ 6&) KRx"GΰUw#6w'b2!ɧIE}r " Ԋnlf+(2!VB 'Hż(PDV؛)P0nVH*jZ$MGXLYN[!LJZI.ӜHck:v'Bhh!$-46 ais1+$w5$MG"NALYN[!)%;H"" rF` y% vYRaob؎PImMx̉4UnbXg+():!4Mޓ`y[d,`ls'$e56:f9MlO.q"R>ˑHIH!u>$ߠO.ICZ%>a籭n )4MCC#!G!}rI b^O47Sl حa&'OBR]4'{,>\_",$5㵐͋ڝ_$[#_0bΉ4cobb23elbFXw,WqBRQڝUIq`vk fK4N4"VX1lyl>SqB]P"$ѢHck,_[]49[cTb4CDDn ˙27Sl3!$LJHok/4j8Ș͓b!(딮46jŰ) jŸYN[!) 4,؝rH($EsCH]|! BBj!۝vHEPmq ҈Xa͙]bㄤfLawa#Z%F`X>řb IMR|O1) IC;DT "3e,)LH*ʄo{)Lb;hH@qwS1\~Kjw~}!Ҩ 6 f8X IMR4|4951w,/GJ'" o0˻.v'!ڇt E\?B>鑢6F`]?agm&$vIDq` e7{!|Hk4͉4RV6b+$w59F;M+()r IeRRI5 &v-bU'$5il5|XAYH*EI>%HY٘_0?|&؛)BR4xfBO!}BalJHvќJ"`,؛)BCZQmLJ4l9?x'ŸYN[!ɧIEi=[3fXM7%i×#5IQP\B%]b,-c W}6vU"H9S2Ïװ|36yQR$"H9cTN23p&B >TS!5iߒE{#PHHݥM~‡4&mQGضD]a[uBj!yQRO40[ZN,rNRakL$8B* {;eJ!)J4[LYNۏB% ;_/DalJH[DŽH2ʼ`cm>Sl;!hN1)(֜*6NHvќJ"(~7Sl %;H 0f9Ml%il]4($Nv4* nlf+!IڇH3llcP8{߄b^"46YRaob )t$H9S2b_*M[!uJHcbΘ=&cl[!v_͋ڝ|J/{;pA IiD fy$:Zx_ׯMZl7hb ߢI=6Hi8ԑi! QHoC)(&-G $5IQׯMZ\ I*JnOD`w]NB kGok c IMRkBR[S_6iqflڪy!Ie IiD ~}f,؝rH(Zһ "$)& B|]l!Zi>iX3zm9˄%i얰3QHzV/)wDQlpcs7[ I]M)ȧ6؛)(Yf9MliXcwR+<)qAQ-;}*DHzH3lX )dHj}9FerVgԷ^Hv<8'҈ b) {;VHokjƦڝ'vKbVg$EA" "3e,cob7)BRzI!5[3fX80[VH!CzW#w5c`b Ԋal|]*; )dHjHEQI5]gV +d*W 3^SqBRCD>HHokj!OIcSP+gY~b!$[*bw(hQX(bw$" B~EFD[c?2~R!3$B!' vR$iH"!G!eH傚"hL0{š3\ #tM.~7Sllw~DG*Hcg 3,~p&B;H]ixlcŸYN[M[|z]H! ʰ6mq8Rk"Wr_r0uIHBz+MmT.Ib;^i,0Kac'G*#q='Ҩ~q&B֕_G*H?W+tNj3 I傮4 v'0[ZN IeD4Bc\q'>:\]W;FK.v a+d}t8R3L;_LR ]nyuVKxÑW+ޝIO؛)xwK )dSD!MT.Ib;߾}``Ya֙ajTY>H傚t,۷ }>cL,~0ywkG*Ԥc۸c8S6`gX}Ļ(MH傚t,۷HnU;!WXfla%gͻfG# jұ؎ob1Ś3\a,ޝ\$e# jұ؎ob1[6)b5g*vöY; Y>:\Pvq&'5wUfBR_;8F*v'RXs_Ŋm&d"Tݦ,nKZLYN[!Ԛ8o"TIp2Jm8R<^x=^x-$ zzzZH!&ۺU8,#mG*t=zzrAx=^x=^x=^x=^ )d?Rݻwzzk!\x=^x=^x=^x=^B IUCrB&i+=;/wR ؼ'Tm"_6ZH|7C[W>oQIMPjˀoIQj˰IC66)v!ByP& }|(xħBjU?wOЦe$ a%6CG>DBjJҀ"l= C4AH-=jˀ2lu[EؼBj!"(|;"E1g,dU|Jm"Hc0Sl *̚򁮅wO)|ѻMU[$iD3M+!|k!] _wnSID)ό]-n I] YmDm"Hli-;.v,$ *uG6UnDQ;̄Zv ]XH*t-zKeXBV廢(|ѻMU[$inTbp˫v.$t-dՖE(|ѻMU[$i$Y:XtNj%$!Qj"Tݦ*-HHBz+R yU[a[W*= C8 هjwrAg?g!\9Jq6YH-RMC]%|ضE>D+D.m:uuR I6CZW^H iTyt1 urAM:[!\y'><6XlrAQ.s]m𷿲XVcVH*tc5[qb0ԳdUvSl13ϱ;ArA3UGlNr7@]|+8M:[!\qbw pF!:7*jusƨfyԊ:v@nO+v 3&T.l*6.5aͳ*BR&T.ygP+ˌlϳ8`BRR k~8@㈦î:_cVH*t޳ PO)g|z5s2XY~123qIb+$ :ﭙqWe7"VO+Lb}9[XeȞc5[am>Slqt,BRsO tfظ7I1p7 ⳐT.2cqn,2}n#g+ pt,BRs5bbL^ :vlu?Vg!\ӛ7ofopt,BR37Xf<,¨[,$ :Ol٩_dY|1f36CV d=cVH*tΔijŘܭ1{+rAM_uf[-CSl3.v 3<6XlrA/z ̌Le0Ԋ,YH*tܭb{7OaY-{sߝBj"(o-,6o>}Rc'> 5J=ڝ8|m]WيR#zlTaLPWQH-&o4eaWԱ!+ 3M+nWԱCnny6!wkX[)@f2VRC7| fZ11rZ1:v'VW4r癊_p(&¯?g=2ecwfϱ8_S6{l?x^e?*o0n{q 3Wb8ߗ5 <;jվ7H=jU$͖j^MlN#8V+tÓ cO-VWԱRc78V+؛,Vqޚr,3 {7Bjd˿/9S#,ʠ C)C,~Fn??ʄP+^ݒ-{zcS4e8Z1f3VHty P+Fg ٫xɔ Unb(bp؝gBj8wybU;,8Ԋ:viyN!`!5Tl\!wkyʗe< ygP+ˌlϳ80K_*E<?hܭ1#?av2 3C= wk!5"7@+jܯ qt dfig lO#8pFH,?q@ iX`ٌ:v'dƪ7/+|F Unb+FOrX<)oVS2R+Ƭ2; ߗf< g+2e,;c2*WG\f͛f ye3[!5fy0FbOS<[vW|7Yt VgmA٫xɔiRc1Ԋ13WW[c2*W#J=eQWou<2Ԋ16Sb0M_uf[ř`&cYly*;(WqYn7Bj8?1,uoBһCZW^!9:Zx_ޠ PWl!I=-7})(Po AȃM}i9Kx>_!EAHjΏg!uZM/$eBa[(-j c"$E>h-B y!}?G~ (*DBҐ $5CMdz:^$$eBa[(-j_՘IO(?lBoOG>Пy?]u"j4$(IP,$Nt"$eBa[(-j_Tc"$E>h-B yr&) I-FbBR<ixYu; IUYorH(t #) I46m{4m'UZCM_i>i &v `frF;*HZvf*wktBRH6>T%FbXpnxBfŘiT\I;e0SVH;i &v `mg8RCMd4cm>Slf)&iD|i7'"` pAAq9#g`ob PȳY I%o{" rFgpA I!M۔P4e4پZH-f6ѐ4vW I%oO Fel%$5IQPiXmsmwUC[W^H-!#5IQ!&8B=jLHokk"WXs_Ŋ-&caJ]La;<RC%G*EIC47YcI}{K8'( 8($iB:}I4*bnۚHckWboTWw4'`ob l3!I [*FH*EICD2Xsb8LqٞgBRɥ<[*Xsb8L!ɧIE (2!V؛)!<b^4$iOq`b+$5IQP\! wk\FH!7#R$EAH kYN;aS&$!TeRH*j*(mBH*jeBHokZ4 v'0n&) j!)Fce_ I!M۔o߾Edv kTrepXĖ:/4x"bwR!9:Zx_PopMIUmEoԟBD2]~B]3?Iۺ6 il5Wiv#$C\ǿkciq`X}Ґ]34I#|)噱kiX ƱT4ω46{;epg 3صTմ\ω4 v'"p&BR[S26)FĹ0[6)BR)]iƼd,b%$NCBjc^`hEPffIC*PG!5GQHŮuoC9y&)*  m]yUhI4>Bj!5zo*nm!ŶUwyxַC×RUYoBj,[!5GG!50}@4$MUw!5+ߢ wzBj*뭐ZHPe+!Bj!5-5$MR]Һ?@\nb}rMRۀۤ$6 I BjѥކCC@}fIC*'ۤm\nRv?RFmmR"T?RUYoBjַC×oj/F( pѥ̓4i|H#!2*뭐ZHC×@.[4IQAHP(R'uU"z}3G3OҤ!R y>zT EoDVȞc5[am>SlfL( D/ykX>řb I}{KiX*L~H#zl*L($N_!H3lX IuuGs"`2pA I%j" rFg^HiR! F07 d.V;eNVl|p9`b PBR٤ Hf3t Xf$&G_HcܭX!f9 Bj֕ǐDIy!iZCç#-%cOq`f3VHjΗ3F` yT($5/) 49+#{l%$5CMLBil5:c Un$&isAbSjVH-R'-uy IujׇnFG|m" M[Bj!GwhW_D3Xx I{:= 藙 #{1[6)Eu|;!j&)L-3ܝXHzV ~iLᆑr ":>坐$EA}rM "+Ȼ%L앐ԷH#_0 ]f2VBRj(x!oo)Da&,G!)JK:=|!x d.VBR]ќH2`ob Pr[!lRZilff&c Iӗt>zBAָ`حa&,$EA}rM ">xwKF<8F!]~ӱԷHZv؝꣐T %B%i}ĶM]?7$MR,vmHB~oo)Da&,G|S8C2n9q黐T %B%iřb IiD fy$CrG!u>&}r XU>6)v۴m!BBj!5 iR5(|bnC*i蓺PvR!5 G!ňʰ4I]vR"T?RmR eR 'ۤ8RR2.4[LYNۏBRR%I>M*z96BalJH*j*k" /nB 'H}{KiX!l| IѮ\ω4#V]n=6BX!` f݉fHsO+d񚅤iP\n/DѾ f`&ܝXHjh!%҈WP+Ƌ[2b`BR]ќHcܭ7SP?(!|]>&D1{5 7ib+}rM) 4,؝R!EѮ99÷(66 ) ~RPG>Zh!=Ұ4'҈b+$5i$$IIs!oo)F.1.WlXH[*ǹT&%͉4~T&%͉4~ʤHԷƄHck]c YHok*k!LJ*4?E-YHk"H9S2,L̈́h.$7]B!}r ]lic[!Bc^?? h+ʧIՄZHMC[W>o EVw? ͶYOʀpuPMM|R i MR '(mTTQl$EA}r6 !6)2QlMHSWli/.^cIiD fy$Qڄ4=RH6۷oטr Cfv6B!9!u>ߠO.e|]%n+li? !G!mP4pR i^`hG-J|V6 !5mB(RSPQ@VqUDZIhMh(DV#<6i̓4i|HQPF->D>߅h+Bj*C*u[a,݀6Ec>aQۺ Bjmm!Meh$ Z>?R!KiEq.$w5_4;e7YH*J" by!$-%cO5KFYw,$ |,4YΔ ˧8SlBOc\iTVBRR2Da+Lf3VHj͙H1.3KG!ɧIE/>4mEaXVBR3tDV3QHiR˱O.î"GΰA sf+!j:g"",L}|TrKyx c9VҴM[D{y5g*v[k4* ,U`kooUB '2t⮦r,#m1)(5g*v4(O.fA5WYN[U'$&E]&>YeCFbdKxwFHiRQ\ [n2+b%R ٠j}'}ri u*QWM+Cmi>T!F$B)-B!] #y&imhھOE]!G!mP4pR i^`hG-DQWAHM 3'uUW:mpWZHMѥ̓4i|H#̓ۀE"iBBtD>6Bj#(ö'uUW,vmHP\H-d\pf~ "{Lb )d\]4F`)BRqWb,CQ'(y\Ia]|+TDV1[6)BRqW|,~ے`b Wb4NHl0[ZNaG!u]H3lpcs7[ IC;ЂH2@'*6 Uv*m!? >}ĶMq (Bus.D^H͆ Kt# @ "3e,cfNS)BҰTiD \]n.vb+$w52E~}'v2VPWbwO+5wU IeRRI1)(X I}{Kil5N+Lb IC;МH#L˘ܭŎ7Sl9`b3'5wU Ie҂HO@>S2O,$-%BHJ"vk 3su51n:}I}r./4~OalJH*j*2D>%`2^{d4R>D?RR2Da&#,-,? IM?P#$N_R\"GΰAb%$E>H2 _0b%$͉4;eBfv#֜)!KKt{" rFgpA )d\˗#5ilB+^.W"v.CS!f~ "3e,)LHv[T %B%%$x d.V;eNVlO.%9RR2DV1[6)BR3tDZKG!u]J"Gΰl%$5CMLB-2ߗBzI}r. "`JH|B?D5#g c9VB%,TWw4'LJH*_W/O.%! wkt1 :>DDqT'80[ )d\Ky9, &v ,팅Ii!$-%H#5̄4|G!)JKKtyI6]wʜX IMR'ۤ (YC ZE-YH[J@Q-;Ȼ%*DHz>D@6't E4* #VB 'Է "0nيJ(^/O.%#g wB)sbb+}r.#-%cOq`f3VHjH#bxgX}ə IPr&҈W I%%4* nlf+!) 5=DaXVB 'r8R]ќHc0SP?(!|]>DHcܭd,PB 'HiD fy$:Zx_P%Fmq NAL]~ؓF jŸ4͉4RΔ ˧8Sl4x"bwR(H.ӜH#_0,Lc4L'!) ~A_~I#bbJHځD)gXS)B I.GDQagm&$͉4li#jwi0/[@ԟBe,4yDc9΅⮦r+mޓ`b ˫',TմHYf؝JH*:k"޼` vD)`1,LF(c޼y#$mb,b}{O}EkLLb I!M۔͢cCѾ[k4CDDCeM`w]NBR<ixYu; )QH-/m]lB] ;EԟBC#C\(mblj[AcP+ y=AW,$eBe=i]ƶY|hH $4նBپT4ۡjӔ4"V`kgY~bM[!)%C5THjPѹ>e͂4^a2!TN⎅$&5c;TiTS16!+S;Ή4 I!M۔vQ,X$`lJH!ۡ?s{oն#gASܱPm/GJ'" o0˻.v'!lj[)iҷv~'vK|fo\1ZcqYXȏ>~uGBU'EH!Pt}=?T6wL]~ؓF jŸ4͉4RΔ ˧8Sl4x"bwR(H.ӜH#_0,Lc4L'!) ~A_~I#bbJHځD)gXS)B I.GDQagm&$͉4li#jwi0/[@ԟBe,4yDc9΅⮦r+mޓ`b ˫',TմHYf؝JH*:k"޼` vD)`1,LF(c޼y#$mb,b}{O}EkLLb I!M۔͢cCѾ[k4CDDCeM`w]NBR<ixYu; )QH-/m]lB] ;EԟBC#C\(mblj[AcP+ y=AW,$eBe=i]ƶY|hH $4նBپT4ۡjӔ4"V`kgY~bM[!)%C5THjPѹ>e͂4^a2!TN⎅$&5c;Ti This is the release date of the disk. CHECKBK SCR CORREL INC CORREL SCR CORREL2 SCR DEPREC SCR NAMES INC PETTY SCR PETTY1 INC PETTY2 INC POEM SCR PRICE INC SCHOOL INC SCHOOL SCR  STANLET SCR PETTY2 .INC 75 22 640 5 POEM .SCR 02 B9 896 7 PRICE .INC 34 F1 256 2 SCHOOL .INC 5F 8E 256 2 SCHOOL .SCR 2D 08 2688 21 STANLET .SCR FB 96 512 4 STANLET1.SCR 73 F0 1152 9 STANLET2.SCR 21 8F 896 7 STANLET3.SCR AB 9A 1152 9 TOTALS . 78 DF 128 1 FIX .COM 8E 36 6912 54 READ .FIX 51 64 1920 15 FIX  Fog Library Disk FOG-CPM.180 Copyright (1987) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. Disk 2 of 2. Scrivener. This disk also contains three utilities. Two are for sorting; the third is a filter program$ for text files. Filename Description -09-13 .87 This is the release date of the disk. -CPM180 .DOC This is the description of the disk contents. CALCULAT.SCR 2855 1K [Scrivener 7 of 25] CHECKBK .SCR 056C 8K [Scrivener 8 of 25] CORREL .INC 8F05 1K [Scrivener 9 of 25] CORREL .SCR C61C 3K [Scrivener 10 of 25] CORREL2 .SCR D187 2K [Scrivener 11 of 25] DEPREC .SCR E0CB 1K [Scrivener 12 of 25] NAMES .INC 10CF 1K [Scrivener 13 of 25] PETTY .SCR AA0B 2K [Scrivener 14 of 25] PETTY1 .INC A7E5 1K [Scrivener 15 of 25] PETTY2 .INC 7522 1K [Scrivener 16 of 25] POEM .SCR 02B9 1K [Scrivener 17 of 25] PRICE .INC 34F1 1K [Scrivener 18 of 25] SCHOOL .INC 5F8E 1K [Scrivener 19 of 25] SCHOOL .SCR 2D08 3K [Scrivener 20 of 25] STANLET .SCR FB96 1K [Scrivener 21 of 25] STANLET1.SCR 73F0 2K [Scrivener 22 of 25] STANLET2.SCR 218F 1K [Scrivener 23 of 25] STANLET3.SCR AB9A 2K [Scrivener 24 of 25] TOTALS . 78DF 1K [Scrivener 25 of 25] FIX .COM 8E36 7K ver. 1.4 [FIX 1 of 3] A text filter program written in Aztec C II that replaces tabs with spaces, processes LF's, CR's, NULLS to prepare text for different formats. READ .FIX 5164 2K ver. 1.4 [FIX 2 of 3] FIX .C AFB5 10K ver. 1.4 [FIX 3 of 3] REFSORT .COM 4EB3 15K [REFSORT 1 of 6] Alphabetical sort program that can sort items of up to 10 lines of 255 bytes each. The first line is the sort key and the sort is not case sensitive. It uses the Turbo Pascal Quicksort algorithm and requires lots of empty disk space as the file grows larger. With an installation program for most computers. REFSORT .NOT 2447 3K [REFSORT 2 of 6] INSTALL .DOC 0381 12K [REFSORT 3 of 6] REFSINST.COM BA22 23K [REFSORT 4 of 6] REFSINST.DTA 412E 5K [REFSORT 5 of 6] REFSINST.MSG B11B 3K [REFSORT 6 of 6] SRT .COM 2ECC 6K ver. 1.2a [SRT 1 of 3] A general purpose sort program that will sort on any character position, any key length, allow you to skip certain strings, or sort on various keys. Full ASM source code is included. SRTEXPLN.DOC 0A69 8K ver. 1.2a [SRT 2 of 3] SRT .AQM 14F5 32K ver. 1.2a [SRT 3 of 3] SORT 4 of 6] REFSINST.DTA 412E 5K [REFSORT 5 of 6] REFSINST.MSG B11B 3K [REFSORT 6 of 6] SRT .COM 2ECC 6K ver. 1.2a [SRT 1 of 3] A general purpose sort program that will sort on any character position, any key length, allow you to skip certain strings, or sort on various keys. Full ASM so%&'