home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug027.arc / CHECKS.LBR / CHECKS.DQC / CHECKS.DOC
Text File  |  1979-12-31  |  24KB  |  473 lines

  1. .OP
  2. .he                   C_H_E_C_K_S____M_A_N_U_A_L
  3.                 T_A_B_L_E___O_F___C_O_N_T_E_N_T_S
  4.  
  5.  
  6.   1. INTRODUCTION:..............................................1
  7.  
  8.   2. RESTRICTION # 1 ...........................................1
  9.  
  10.   3. RESTRICTION # 2 ...........................................1
  11.  
  12.   4. RESTRICTION # 3 ...........................................1
  13.  
  14.   5. SYSTEM REQUIREMENTS:.......................................2
  15.  
  16.   6. FILE TYPES:................................................2
  17.  
  18.   7. FLAGS:.....................................................2
  19.  
  20.   8. MNEMONIC NAMES:............................................3
  21.  
  22.   9. HOW TO RUN:................................................3
  23.      9.1.  COMMAND D = Deposit:.................................3
  24.      9.2.  COMMAND B = YOUR BALANCE:............................4
  25.      9.3.  COMMAND V = BANK BALANCE:............................4
  26.      9.4.  COMMAND C = ENTER CHECK:.............................4
  27.      9.5.  COMMAND O = OUTSTANDING:.............................4
  28.      9.6.  COMMAND M = MATCH:...................................4
  29.      9.7.  COMMAND R = RETURN CHECKS:...........................4
  30.      9.8.  CONTROL X............................................5
  31.      9.9.  COMMAND I = INTERROGATE:.............................5
  32.      9.10. COMMAND W = WITHDRAWAL:..............................5
  33.      9.11. COMMAND A = AUTO NUMBERING OF CHECKS:................5
  34.      9.12. COMMAND L = LIST CHECKS, WITHDRAWALS, DEPOSITS OR NA.5
  35.      9.13. COMMAND T = MONTHLY BALANCE:.........................5
  36.      9.14. COMMAND P = PRINTER:.................................5
  37.      9.15. COMMAND M = MATCH BY MNEMONIC:.......................6
  38.      9.16. MORE ABOUT THE L COMMAND.............................6
  39.      9.17. COMMAND Q = SAVE AND QUIT:...........................6
  40.      9.18. COMMAND S = SAVE:....................................6
  41.      9.19. WARNING:.............................................6
  42.      9.20. COMMAND S = SAVE:....................................7
  43.      9.21. COMMAND G = GET NEW FILE:............................7
  44.      9.22. COMMAND F = FIX:.....................................7
  45.  
  46.  10. MODIFICATIONS:.............................................8
  47.  
  48.  11. ADDITIONAL FLAGS:..........................................8
  49.  
  50.  12. CURSOR CONTROL:............................................8
  51.  
  52.  13. RECOVERING WITH GO:........................................8
  53.  
  54.  14. PROGRAM SIZE:..............................................8
  55. .PA
  56. .PN 1
  57. 1. INTRODUCTION:
  58.  
  59. The CHECKS program was written for my personal use and is  placed  
  60. in  the  public domain for anyone who wants  to  use   it.    (No 
  61. business  use  please) Since it is a 'freeby',   don't   complain  
  62. about  the  organization  of  the  program,  but  if  you  should  
  63. encounter any bugs,  please notify me by letter and I will try to  
  64. fix  them.   Several restrictions are inherent in the program and  
  65. you  must be able to live with them.   If you can't,  then  don't  
  66. bother with the program. 
  67.  
  68.  
  69.  2. RESTRICTION # 1 
  70.  
  71.  The   maximum   value   which  the math   package   can   handle  
  72. without  overflowing  is $83886.07.   Amounts which  exceed  this  
  73. value   will  be displayed as the amount in excess of  $83886.08.  
  74.  
  75. Overflow will occur if you have more than this amount of money in  
  76. your account at any point in the year,  or if the total value  of  
  77. the  checks  exceed this amount when listing out the  checks.  No  
  78. error  message is printed out if overflow should occur.    If you  
  79. exceed  this  amount,  you  can afford to  buy  something  better  
  80. anyway. 
  81.  
  82.  
  83.  3. RESTRICTION # 2 
  84.  
  85.  The   program will only allow 255 different check names in   any  
  86. year's   file.    The   checks program was  translated   from   a  
  87. program I had written for my 6500 system,  and made extensive use  
  88. of  the indexed instruction.    I had a lot of check data that  I  
  89. wanted  to continue using with the Z80 system,  so I  merely  re- 
  90. coded   the   assembly  language  program  and  used   the   same  
  91. organization of the data in the files. 
  92.  
  93.  
  94.  4. RESTRICTION # 3
  95.  
  96.  The  program  requires the user to enter check  names  as  three  
  97. character   mnemonics,   although  it  keeps in  the   file   the  
  98. entire check name for later listing.  For example, when I enter a  
  99. check to Fidelity National Bank, I would use the mnemonic FNB for  
  100. the check name.   You quickly learn how to choose a good mnemonic  
  101. for  the  check name,  and can always get a listing of  mnemonics  
  102. which you have used previously in case you should forget one. 
  103.  
  104.  If  you  feel that you can live with these  restrictions,   then 
  105. give  the  program a try.    The features and operating  ease  of  
  106. this program will quickly make you ignore these limitations. 
  107. .pa
  108. 5. SYSTEM REQUIREMENTS:
  109.  
  110.  A  little  more  about the program before we  get  down  to  the  
  111. nitty-gritty.   Checks  will run on either CP/M 1.4 or  2.2.  The  
  112. program  keeps track of two data files with the name  types  .CHK  
  113. and .NAM.   The filename.CHK file has all the data for the actual  
  114. checks.   Each check entry is packed into eight bytes of code and  
  115. the  distribution  copy  allocates  8 kbytes of  memory  for  the  
  116. checks.   This  gives you the ability to handle 1024 checks in  a  
  117. given year.  The .NAM file contains the name mnemonics and a list  
  118. of  the  corresponding full check names.   Full check  names  are  
  119. limited  to  a 32 character string. 
  120.  
  121. 6. FILE TYPES:
  122.  
  123.  The  user may specify the disk on which the .CHK and .NAM  files 
  124. are  located.    If  no name is given for the  .NAM   file,   the  
  125. program  will  assign the same filename for the .NAM file as  was  
  126. specified  for the .CHK file.   I use the filename 1981  for  the  
  127. check  file  for  year  1981 which  automatically  assigns  files  
  128. 1981.CHK and 1981.NAM for use.   Other people who have used  this  
  129. program  find that they normally write checks to the same  people  
  130. year  after  year and do not overflow the 255  name  restriction.   
  131.  
  132.  For   this reason,   you can save a lot of typing by  using  the 
  133. same  name  file  year after year.   To do this,  one might  type  
  134. 1981   (space)  NAMES  which  would  assign  files  1981.CHK  and 
  135. NAMES.NAM   as  the  files to be used.    Note that the user does 
  136. not specify  the  filename  extension because the program does it 
  137. for you.   If you  should try it, the program will issue an error 
  138. message. 
  139.  
  140. 7. FLAGS:
  141.  
  142.  Because   my   wife   and   I both share   the   same   checking  
  143. account,  but  she  has her own checks which might  duplicate  my  
  144. check numbers,  the program allows you to set a 'W' flag to  keep  
  145. to two entries separate.  The program  also has other flags which  
  146. the user can set upon entry,  and yes,  as you might expect,  you  
  147. can get a listing of checks depending on the flag set.  The flags  
  148. which can be set on the distribution copy,  and the meaning which  
  149. I place on them are as follows: 
  150.  
  151.  W                                  R  Returned check
  152.  I  Income tax deductible
  153.  All  three  of the above flags may co-exist in  the  same  check 
  154. entry plus one of the following:  (My meanings)
  155.  A                                  B 
  156.  C  Car expenses                    D  Doctor bills
  157.  E  Entertainment expenses          F  Food
  158.  G  Gasoline                H  House expenses
  159.  J                                  K
  160.  M  Medicine                P  Parts for Computer
  161.  S  School expenses                 U  Utility bills 
  162.  Y 
  163.  Five   spare  flags  are also available,   but  have  not   been  
  164. defined  during the assembly.   The method of setting or changing  
  165. these flags will be discussed later. A check might have the flags  
  166. IWRS set,  which means an income tax deductible check, written by  
  167. my wife which has returned from the bank for some school  related  
  168. expense.   (These have been defined by me as A,B,J,K,Y)
  169.  
  170. 8. MNEMONIC NAMES:
  171.  
  172.  The   program  enables you to list all checks  written  to  some 
  173. mnemonic name,  to list a monthly balance sheet,  to compute  the 
  174. check  balance,   to compute the bank balance at the end  of  the  
  175. month  after  returned checks are entered,  to  list  outstanding  
  176. checks,  to  list checks,  deposits,  and withdrawals  from  your  
  177. account  for  any  month,  or for the year and to  fix  erroneous  
  178. entries for a check,  deposit,  withdrawal,  or change a mnemonic  
  179. name or a full check name.   
  180.  
  181. 9. HOW TO RUN:
  182.  
  183.  That's  enough about what can be done,   now lets get  down  how 
  184. to  do it.     Let's assume it is the start of the year,  and  we  
  185. are opening up a new years record for say 1981.  
  186.  
  187.  A>CHECKS 1981 [NAMES]  [optional entry] 
  188.  
  189.  This  will load CHECKS from the A drive and try to read a   file  
  190. for  1981  from  the default drive.    Naturally   nothing   will  
  191. exist,  and  the program will tell you that it could not load the  
  192. check  file,  and will go to the command mode.   The program  has   
  193. assigned  the  names for the .NAM and .CHK files should  data  be  
  194. entered  and  saved.  All  commands begin  with  a  single  alpha  
  195. character  and  will  immediately execute unless an  argument  is  
  196. required.  In this case,  the program waits for the argument  and  
  197. the  carriage return before execution.    If you type a ?  ,  the  
  198. program will display all the command characters,  their  meaning,  
  199. and print the number of names in the current name file. 
  200.  
  201. 9.1. COMMAND D = Deposit:
  202.  The   first thing to enter is the balance in your   account   at 
  203. the  beginning of the year.    Enter this value as a deposit   by  
  204. hitting the D key.  The program will display the prompts for your  
  205. entry  and  show  you  that this is  deposit  #1.   Deposits  and  
  206. Withdrawals  are  automatically numbered with  255  deposits  and  
  207. withdrawals  permitted in a years record.   If you hit the  space  
  208. bar,  the  cursor is automatically tabbed to the next entry.  The  
  209. month  is  1-12,  the date 1-31,  the amount assumed  in  dollars  
  210. unless a decimal point is entered. Do not specify $ in the amount  
  211. entry.   Legal  check  ,  deposit ,  or withdrawal values are  as  
  212. follows: 
  213.      10000
  214.      234.12 
  215.      1 
  216.      .23 
  217.      123.1   is not legal 
  218.  For the mnemonic, you might consider STB 
  219.  
  220.  When  you hit the carriage return,   the program  analyzes   the 
  221. entry,  and  looks  up STB in the name file to see if it  exists.  
  222. Since it does not,  it will ask you if this is a new name.   Type  
  223. 'Y'  to  indicate that it is and fill in the full  name  STARTING  
  224. BALANCE when it prompts you for the full name.   When you now hit  
  225. the carriage return,  your first deposit will be entered, and the  
  226. mnemonic  STB and the full name STARTING BALANCE will be  entered  
  227. into the name file. 
  228.  
  229. 9.2. COMMAND B = YOUR BALANCE:
  230.  Now  hit B.     The program computes the balance by adding   all  
  231. deposits  from  the  beginning of the file and  subtracting   the  
  232. value of all checks and withdrawals from the account. Yes you now  
  233. have a balance of the value which you entered.  
  234.  
  235. 9.3. COMMAND V = BANK BALANCE:
  236. Now  hit  V.   This  command  is  similar to the balance  command 
  237. except  only  returned  checks  are  subtracted.    The result is 
  238. the  bank  balance  which  should agree with your bank  statement 
  239. after entering all returned  checks  at the end of the month.   A 
  240. check  is returned by  typing  the command R and entering in  the 
  241. check  number.   Since no  checks  have been written,   the  bank 
  242. thinks you have the same amount. 
  243.  
  244. 9.4. COMMAND C = ENTER CHECK:
  245.  Suppose   your  first  check is for cash.    Hit C  to  enter  a  
  246. check.   The check prompt now appears.   Check numbers 1-9999 are  
  247. valid  check numbers.   Fill in the data with the  mnemonic  CAS.   
  248. Use the full name CASH when it comes time to do this. 
  249.  
  250. 9.5. COMMAND O = OUTSTANDING:
  251.  Now  try the B and V commands again.   Yes,  the new balance  is  
  252. the  difference  between the check and the starting  balance  but  
  253. the  V command still shows the starting balance.   As far as  the  
  254. program  is concerned,  the check is still outstanding.  You  can  
  255. verify  this by typing the command O,  which shows the  check  to  
  256. still be outstanding.   
  257.  
  258. 9.6. COMMAND M = MATCH:
  259.  Type  the command M and specify CAS when it asks for  the  check  
  260. mnemonic.    The  M  command  lists all checks  which  Match  the  
  261. mnemonic name written during the year. 
  262.  
  263. 9.7. COMMAND R = RETURN CHECKS:
  264.  Now  try to return the check by typing the command R.  When   it  
  265. asks   for  the check number,   enter the one  which   you   have  
  266. entered.   Now re-try the B,  V, and O commands.  The check is no  
  267. longer  outstanding  and the bank balance and check book  balance  
  268. now agree.  You can still find the check using the M command.   
  269. .PA
  270. 9.8. CONTROL X
  271.  When  you  are  typing in any command and  make  a  mistake,   a  
  272. control  X will abort the command and return you to  the  command  
  273. mode.  You  can use backspace (ctrl H) to correct mistakes on any  
  274. entry. 
  275.  
  276. 9.9. COMMAND I = INTERROGATE:
  277.  Since  returning  the check set the R flag,   you can  now  find  
  278. the check using the interrogate command I.   If you  specify  the 
  279. R flag, you can now see that a listing of all returned checks  is 
  280. possible.    The  I command will list all checks which have   the  
  281. specified  flag set.   (a handy way to find income tax deductible  
  282. checks)   Suppose I  do,   then  you  can use the W flag in   the  
  283. flag   column   when  entering  the check.    Another way  is  to 
  284. precede the check number  with the letter W.  Thus W123 is wife's 
  285. check  123 while 123 is my  check  123.    You can print all your 
  286. wife's  checks  by   using  the  interrogate   command   (I)  and 
  287. telling the program to  use  the  W  flag.    All other flags may 
  288. only  be  specified in the flag column.    So  to flag  all  your 
  289. utility  bills  for example set the U flag  in  the  flag  column 
  290. when entering the check. 
  291.  
  292. 9.10. COMMAND W = WITHDRAWAL:
  293.  Withdrawals   are  amounts  automatically  deducted  from   your  
  294. checking  account  each  month for say a car  payment.    Do  not  
  295. confuse withdrawals with the W flag which is the wife  flag.   To  
  296. enter a withdrawal, hit the command W.  Unlike a check entry, the  
  297. withdrawal  will automatically be deducted from the bank  balance  
  298. at the same time it is  deducted from the check book balance.  
  299.  
  300. 9.11. COMMAND A = AUTO NUMBERING OF CHECKS:
  301.  The   A command begins auto-numbering of check entries and   may  
  302. be  auto-numbered  either with and without the  wife   flag.   To  
  303. auto-number wife's checks, type W(check number) when prompted. Do  
  304. not put a space between the W and the check number.   The control  
  305. X command cancels the auto-number mode. 
  306.  
  307. 9.12. COMMAND L = LIST CHECKS, WITHDRAWALS, DEPOSITS OR NAMES:
  308.  The   L  command  is used to  list  out   checks,   withdrawals,  
  309. deposits,  or  the  names which you have used.   In the  case  of  
  310. checks,  withdrawals,  or  deposits,  the program will ask  which  
  311. month to list.   You can enter a month 1-12 for a specific month,  
  312. or enter a 0 to list the entire year's  activity.   
  313.  
  314. 9.13. COMMAND T = MONTHLY BALANCE:
  315.  The T command lists a monthly balance sheet on the console.  The 
  316. month also is entered as 1-12 or a 0 for a yearly record .
  317.  
  318. 9.14. COMMAND P = PRINTER:
  319.  The   P command toggles the output to the printer for  the  next 
  320. command.   Thus  command  P followed by T will list  the  balance  
  321. sheet  on  the printer.   A command P followed by command M  will  
  322. list on the printer all checks to a specific mnemonic name.   The  
  323. print mode is toggled off at the completion of each command. 
  324. .PA
  325. 9.15. COMMAND M = MATCH BY MNEMONIC:
  326.  The M command is one of the most valuable commands. In my  case,  
  327. all   my   electric  power bills are  to  AEP   for   Appalachian  
  328. Electric Power.   Thus at the end of the year the command M  with  
  329. the  mnemonic AEP will show the year's total for electric  bills.   
  330. In  a similar fashion,  C&P shows telephone bills,  TEX my Texaco  
  331. gasoline bills, etc. The I command with the G flag will print out  
  332. all gasoline expenses to all companies during the year. 
  333.  
  334. 9.16. MORE ABOUT THE L COMMAND.
  335.  The L command will also  let  you  list  the mnemonic names  and 
  336. the  full names which  you  have  used.    This is handy in  case 
  337. you forget one.   Type command L and  specify N for names.   When 
  338. it  asks  for  the mnemonic name,  you can   hit   an   immediate 
  339. carriage  return to show all the names  in  the  file.    If  you 
  340. should just type A followed by a carriage return,   it will  show 
  341. all  mnemonic  names starting with the letter A.   In a   similar  
  342. fashion typing CA will show all mnemonics starting  with  the two 
  343. letters CA.    It is pretty easy to at least remember  the   most  
  344. logical  first letter of the mnemonic which you might  have  used 
  345. for the name. 
  346.  
  347. 9.17. COMMAND Q = SAVE AND QUIT:
  348. 9.18. COMMAND S = SAVE:
  349.  Now   it   is  time  to save the file away  after   an   editing  
  350. session.   You can type Q to go to CP/M or S to save the  current  
  351. file  but stay in the checking routine.  The Q command will first  
  352. ask you if you want to save the checks away before  exiting.   If  
  353. you  have  made any changes,  you had better do it or  everything  
  354. which you have added will be lost.   The old file on the disk was  
  355. copied into memory at the beginning of the editing session and is  
  356. still there on the disk.  If you type Y for yes, it will show you  
  357. the  names under which it will be saved.   If you want to  change  
  358. the  names  type N after it asks you if the file names  are  OK?.   
  359.  
  360.  You can use anything like the following :-
  361.  B:1981  checks and names file on B drive 
  362.  B:1981 A:NAMES  checks under name 1981 on B drive 
  363.                   names under NAMES on the A drive 
  364.  
  365. 9.19. WARNING:
  366.  One word of warning.   Do not get the checks for one year  mixed 
  367. up with the name file for another year.   The program has no  way  
  368. of telling that you have mixed things up and the names  will   be  
  369. all   mixed  up on your check  file.    For  this   reason,   use  
  370. 1981.CHK  and  1981.NAM so no possibility exists for this  error.   
  371. Nothing  disastrous  happens if you get them mixed up  until  you  
  372. make a new entry in the file.   Check names are numbered as  they  
  373. are  entered  and  the  check  data  file  only  has  the  number  
  374. corresponding to the check name used.   
  375. .PA
  376. 9.20. COMMAND S = SAVE:
  377. 9.21. COMMAND G = GET NEW FILE:
  378.  The   S command saves the current check and name files  on   the 
  379. disk  and  stays in the checking routine.    This permits you  to  
  380. use  the  G  command  which gets a  different  years  record  for  
  381. observation or modification.   You can use the G command to  look  
  382. for  various  years  activities  without  modifying  any  of  the  
  383. contents on the disk. 
  384.  
  385.  To  keep the bank people honest,   at the end of the month  when 
  386. my  checks  return,   I return all the checks enclosed  with   my  
  387. statement and hit the V command.   The balance shown should agree  
  388. with  the  bank  as long as no deposits have been made  into  the  
  389. account which do not show in the bank statement. 
  390.  
  391. 9.22. COMMAND F = FIX:
  392.  Naturally   you   will  make  some   typing   mistake   sometime  
  393. during  the  use  of the program.   The F command allows  you  to  
  394. retrieve a check, deposit, or withdrawal from the records and fix  
  395. it.  When  you  enter the number of the item  to  be  fixed,  the  
  396. display will show the entry as it has been typed.   The entry may  
  397. be  fixed up as shown on the console display using the control  H  
  398. for backspace,  the control A will add a space at the cursor, and  
  399. the control D will delete the character at the cursor.  A control  
  400. B  will  set  the  cursor to the beginning  of  the  entry  being  
  401. displayed for added convenience.  You may hit the carriage return  
  402. with  the  cursor at any position in the display and  the  entire  
  403. contents  of  the  display will be entered as  shown.  Using  the  
  404. prompts,  you  may change a name mnemonic,  or the full name  for  
  405. typing error.   Suppose you can't remember a mnemonic because you  
  406. used a poor one the first time you entered it.   By changing  the  
  407. mnemonic, all entries in the file will now show the new mnemonic. 
  408.  
  409.  Yes,  I can guarantee that sometime or other you will type   the  
  410. same check number in twice for two different  entries.  When  you 
  411. try to find the check to return it, only the first entry will  be  
  412. displayed   and  the second check with the duplicate  entry   can  
  413. not be returned.   And as Mr.  Murphy would have it,  the  second  
  414. entry  had the wrong check number.    The only way to fix this is  
  415. to  fix the number on the first check to some fake  number  which  
  416. has  not been used,  then fix the wrong check and then re-fix the  
  417. first check back to the correct number.  Sorry,  but that is  the  
  418. way it works.  The only way to find this kind of error is to list  
  419. the checks and hunt for that duplicate check number. 
  420. .PA
  421. 10. MODIFICATIONS:
  422.  
  423.  The   size   of  the check and name files may be  enlarged   by  
  424. changing  the  address   at the equate NFILE.    The  check  file  
  425. starts  loading  at  the address set by the equate at  CFILE  and  
  426. memory  space  is available up to the address  at  NFILE.   Names  
  427. begin at NFILE and the rest of memory up to CCPBAS  is available.   
  428. Each name entry requires 5 bytes of code,  three for the mnemonic  
  429. and two bytes for a pointer to the full name.   Since the maximum  
  430. name  entry is 32 bytes long,  the longest name file possible  is  
  431. 9435  bytes.   Be  sure you update CCPBAS to point to  the  first  
  432. location  before  the  base  of your CCP to  insure  you  do  not  
  433. overwrite the CCP.   CCPBAS has been arbitrarily defines as $8000  
  434. in the distribution copy. 
  435.  
  436. 11. ADDITIONAL FLAGS:
  437.  
  438.   Five   additional  flags may be defined by  replacing   the   %  
  439. characters at the DEFB string at the label CAT:  with the desired  
  440. flag character.  The flag characters N,W,I,R are reserved for use  
  441. in the program and may not be doubly defined.   
  442.  
  443. 12. CURSOR CONTROL:
  444.  
  445. Cursor   control   characters  which may vary  with   different  
  446. video  displays  are  defined  at the  beginning  of  the  source  
  447. listing.   
  448.  
  449. 13. RECOVERING WITH GO:
  450.  
  451. The program may be warm started by jumping to 100H  in  case  you 
  452. should  forget  to  save the data on the disk  and  returned   to  
  453. CP/M.    You  can  do this by executing GO 100 if you are   using  
  454. CCPZ  or by previously saving a zero length file using  the  CP/M  
  455. save command with the name GO and typing GO when you are in CP/M.  
  456.  
  457. 14. PROGRAM SIZE:
  458.  
  459.  Checks  is only a 9k program,  and will run in systems with  as  
  460. little  as 16k of memory.  To be safe,   you should   re-assemble  
  461. the  program after redefining CCPBAS to insure the name file does  
  462. not  overflow  the CCP,  and redefine NFILE to 4500H  to  give  a  
  463. little more space for the name file.   
  464.  
  465.  Yes,   the program has its limitations but it works and it  puts 
  466. a lot of power at a few keystrokes once you learn how to use  it.  
  467. I am willing to listen to all suggestions how to improve it.  
  468.  
  469. Ralph Sherman
  470. 15 Hydaway drive  
  471. Forest, Va.  
  472. 24551  
  473. (804)-525-3167 to listen to all suggestions