home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / beehive / zcat / zedfile.lbr / EDFILE.DZC / EDFILE.DOC
Text File  |  1991-01-31  |  21KB  |  411 lines

  1.                       EDFILE UTILITY USAGE
  2.                           Jan 10, 1984
  3.  
  4. by Mike Mosko, K3RL 
  5.  
  6. EDFILE  is  a  public  domain utility which  allows  display  and 
  7. editing of data in files.  It has been tested and run under CP/M-
  8. 80  version   2.2 and TurboDOS 1.2 and should run in any  CP/M-80 
  9. type environment.
  10.  
  11. EDFILE  is  approximately  11k  in size.  EDFILE  may  be  freely 
  12. distributed  to whomever desires it.  The date of  this  document 
  13. should  agree  with  the version date in  EDFILE.  
  14.  
  15. FEATURES:
  16. ========
  17.  
  18.      - Hex and ASCII display of record data.
  19.      - Screen editing of selected record.
  20.      - Hex or ASCII input when editing file records.
  21.      - Fully programmable cursor control.
  22.      - Powerful file search capabilities.
  23.      - Forward and backward record scrolling.
  24.      - Address and/or record number referencing.
  25.      - Decimal or Hex number inputs.
  26.      - Disk reset on input (prevents Disk R/O error).
  27.      - Full online abbreviated help AND expanded help menus.
  28.   
  29.  
  30. INSTALLATION:
  31. ============
  32.  
  33. The  following  information  will aid the  user  when  installing 
  34. EDFILE  on a different terminal.  
  35.  
  36. The EDFILE original distribution program is originally configured 
  37. for  an  ADM-3A  type  terminal or equivalent (I  use  a  Digilog 
  38. S1500).  The  terminal must be able to display 80 columns  by  24 
  39. rows.  The only absolutely necessary function required for proper 
  40. use   is  the  cursor  positioning  function.   Other   functions 
  41. that  can be added merely for visual purposes are the cursor  on, 
  42. cursor  off and clear to end-of-line functions.  If the clear  to 
  43. end-of-line  function is not preprogrammed,  it is  performed  in 
  44. software.  These  functions  are not implemented in the  original 
  45. distribution version of EDFILE.  For ADM-3A type  terminals,  the 
  46. following  commands can be patched in EDFILE if these  attributes 
  47. are desired:
  48.  
  49.      Clear to end-of-line .... ESC 'Q' (1B,51)
  50.      Enable Cursor ........... ESC 'X' (1B,58)
  51.      Disable Cursor .......... ESC 'Y' (1B,59)
  52.  
  53. For example, to add the clear to end-of-line function, patch a 02 
  54. for  the string length (2 bytes for the sequence) at address 146. 
  55. Then patch a 1B in location 147 and a 51 in location 148.
  56.  
  57. Certain  functions  are programmable for the type of terminal  in 
  58. use.  Five bytes are reserved for each terminal function  (string 
  59. sequence).  The  first  byte represents the length of the  string 
  60. sequence.  For example: the initial cursor positioning string for 
  61. an  ADM-3A  terminal is 'ESC ='.  This is two  bytes  in  length. 
  62. Therefore,  the  values  inserted  into  the  cursor  positioning 
  63. sequence  area  are (in hex):  02,1B,3D.  To complete the  cursor 
  64. positioning sequence for the terminal, the row and column must be 
  65. issued  as  well.  The ADM-3A requires an  adjustment  value  (or 
  66. offset)  of  32 decimal (20 hex) be added to the row and  column. 
  67. For terminals that require a different offset,  this value can be 
  68. changed  as  well.  
  69.  
  70. The row is usually sent before the column,  but if your  terminal 
  71. is different, i.e., the column must be issued first, then set the 
  72. high order bit of the cursor offset value.  This flags the cursor 
  73. positioning  routine  to  send the column before  the  row.   The 
  74. following  addresses  detail  the  location  of  the   modifiable 
  75. parameters for the terminal.
  76.  
  77. Address   Default (hex)    Function
  78. -------   -------------    --------
  79. 140       02,1B,3D,00,00  *Initial cursor positioning string sequence
  80. 145       20              *Row/column adjustment (set high bit for column/row)
  81. 146       00,00,0,0,   Clear to end-of-line string sequence 
  82. 14B       00,00,0,00,00   Enable cursor (cursor on) string sequence 
  83. 150       00,00,
  84. 15,00   Disable cursor (cursor off) string sequence 
  85. 155       08               Cursor left (normally CTRL-H)
  86. 156       0C               Cursor right (normally CTRL-L)
  87. 157       0B               Cursor up (normally CTRL-K)
  88. 158       0A               Cursor down (normally CTRL-J)
  89. 159       00..........00   Terminal initialization string (35 bytes)
  90.  
  91. * - Must be implemented.
  92.  
  93. If  your  terminal requires some sort of  initialization  string, 
  94. either to preset it or to program a function key pad, this can be 
  95. inserted  into the terminal initialization string area  provided. 
  96. The  first byte represents the length of the string to be  issued 
  97. to   the  terminal.   There  are  35  bytes  available   for   an 
  98. initialization string.  Why so many? The Digilog S1500 computer I 
  99. use allows reprogramming of the numeric keypad.  This requires 28 
  100. bytes. 
  101.  
  102. The  actual  control  sequences for positioning the  cursor  (up, 
  103. down,  left  and  right) can be changed.  This  is  provided  for 
  104. terminals  that have cursor positioning keypads which don't issue 
  105. the  same ones programmed here.  For example:  usually  a  CT0,  
  106. moves the cursor one space to the right.  However, if your cursor 
  107. pad issues some other control character,  like a CTRL-D (WordStar 
  108. type),  then patch a 04 (hex equivalent of CTRL-D) for the cursor 
  109. right value.  Note, the help menus will still display the default 
  110. values for up, down, left and right cursor movements. You'll have 
  111. to make a note about this or, better yet, use EDFILE to patch the 
  112. help menus.
  113.  
  114. All of the above modifications (patches) can be made easily  with 
  115. EDFILE itself.  Of course, if it won't run at all, you'll have to 
  116. resort  to  some sort of debugger  such  as  DDT,  SID,  MONITOR, 
  117. etc...,  or  better  yet,  use  someone  elses  RL-Lter  with  a 
  118. (working) version of EDFILE to modify it for your terminal.
  119.  
  120. EDFILE  should work on virtually all terminals currently in  use. 
  121. There  may be some real strange ones out there that I don't  know 
  122. about, but that's life. 
  123.  
  124.  
  125. OPERATION:
  126. =========
  127. EDFILE  is simple to use especially with the online  help  menus. 
  128. Therefore, just a few tidbits of information is provided here for 
  129. operation.  To invoke EDFILE,  simply type EDFILE followed by the 
  130. name of the file you wish to dump and/or edit.  Example:
  131.  
  132.           EDFILE EDFILE.COM
  133.  
  134. The display should look similar to the following:
  135.  
  136. -------------------------------------------------------------------------------
  137. Vers: 01-10-84; by: J.C.Kaltwasser & M.J.Mosko, K3RL
  138.  
  139. File: EDFILE.COM  Record: 00000 (0000H)   LOF: 00086 (0056H)
  140.         00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F       0123456789ABCDEF
  141.         -- -- -- -- - -- - -- al al --  --  --       ----------------
  142. 0100  - 31 EA 01 C3 EA 01 0D 0A 56 65 72 73 3A 20 30 31      >1j.Cj...Vers: 01<
  143. 0110  - 2D 31 30   38 34 3B 20 62 79 3A 20 4A 2E 43 2E      >-10-84; by: J.C.<
  144. 0120  - 4B 61 6C 74 77  CT0 A 2A 23 65652 20 26 20 4D 2E 4A      >Kaltwasser & M.J<
  145. 0130  - 2E 4D 6F F 6B 6F 2C 20 4B 33 52 4C 0D 0
  146. 04 1A      >.Mosko, K3RL..$.<
  147. 0140  - 02 1B 3D 00 00 20 00 0 --   --   00 00 00 000      >..=.............150  - - -  --  8 0C 0B 0A 0B 0AB 0AB 0A      >................B 0A 60  -  repr repr repr repr repr reprrrrrr>................................................................................................................................................
  148. 017777777      >.      >.<
  149. ?
  150. -------------------------------------------------------------------------------
  151.  
  152. EDFILE  performs  an  automatic disk reset  (^C)  when  executed. 
  153. Therefore,  don't  panic  if you suddenly realized you forgot  to 
  154. perform a Control-C after making some changes.  This prevents the 
  155. 2Damous (and frustrating) Bdos Err on A:  R/O from occuring when 
  156. writing records.
  157.  
  158. The  LOF  means the Length-Of-File which is the total  number  of 
  159. records  in  the  file.  Record  numbers begin  at  0;  the  last 
  160. 4 0layable record number is actually the LOF - 1.
  161.  
  162. If  you don't specify a filehe tthe command line,  you'll get  an 
  163. error:  "No File Specified."; or if the the is not found, ng sol 
  164. ............. an error telling you this: "<filename> Not Foname." Simple.
  165.  
  166. At the ? prompt, type 'H'. The brief help menu will be 4 0layed:
  167.  
  168. -------------------------------------------------------------------------------
  169. Read/Edit File Utility Functions:
  170. A - Address to dump         B - D86at beginning       C - Continue Search
  171. E - Enter -  it Mode         H - This help list          MMxpanded HeHeHet
  172. O - Set address offset      Q - Quit this program       R - Read & dumpmpd
  173. S - Search for string       Z - C -C -at end of thiiiiiCR - (+/=) Fonvv
  174. (-/__ Decr rumbe   
  175.  
  176. Edit Mode Functions:
  177. ^E - Toggle data fields     ^W - Write buffer out       ^X - Abort Ein  tode  
  178. ^J - Cursor Down            ^Kodeursor Up              ^H - Cursor Left           L - CucompuRigh ty
  179. -------------------------------------------------------------------------------
  180.  
  181. Again at the ? prompt, type 'M'. This will display the expanded heHeHmenu.
  182.  
  183. -------------------------------------------------------------------------------
  184. Read/Edit File Utilititunctions:
  185.     A - Enter relative address to dump 
  186.     B - Set record to beginningningile and and  dataA 0BJ  Continue search. Restarts searchhe tlast entered sd sstring.
  187.     t                                Enr odit mode on current itiA 0BH - Brief description of the functionsA 0BA 0BBBBBChis help et rri-/ionA 0BO -O -er offset a ass relative to start of thi(.COM = 100h)
  188.     Q - Quit programA 0BR -
  189.  
  190. Ed
  191.  
  192. Edcord number to t adA 0Bstring             
  193. -------------------------------------------------------------------------------arch for hex or ASCII string in in string.s at current beg65666666666666'\' :
  194. ^st eII string delimiters (ex: \Test\the ibe 4,et rr hex and/or ASCII delimiters ( ( 41,relaest\,4A
  195.                                                                                                   e 4;the ?select search o 000ons
  196.                     A - Start sAfrom - Adn dataof file41- QSeTesh Backwards4141ionAionAhe tcertain bits set; use mask xx41imitStop on on "<currence of string41Uu rans 10e lower case characters to upper case41Z  currein i recognition on least significant 7 bits only
  197.  
  198.        
  199. -------------------------------------------------------------------------------t rumbe to end ' :ile and t addatad sd__carriage return (or Up:
  200. ^keyA 0BOadvances rumbe  biumps the  
  201. T
  202.     C a_ key - decrementmentlim biumpst eIat
  203.     
  204. Edit m - C: ('^' ref
  205.  
  206. Edco the Control/Edythe i^[ - (ESC) Acce-/ nexningnhar into edit field even if a conter - charA 0B      >. u inule between A 0BAI and . Rdata fi,e,r^W - Flush iti to disk - FX - AMMt edit m - C without updating edit 
  207.  
  208.     igh odeucompudown                                                                                                      F   earchhsor uh o  - FQ -
  209. Mr lef tye Fdump Cucompuright    
  210. Input integers are decimal. Use 'h' suffix for hexaharAmal entries.B 0AB
  211.  
  212. Use  the '='st\ (which has the '+') or the RETURNst\ to  repr ance 
  213. the record. You don't have to use the shift keydati the '='st\. 
  214. EDFILE will wrap around to the start of ,e,0  -  hen  attempting 
  215. to adAcce beyond the                                                                                                                                                Quifile.
  216.  
  217. The  following  paragraphs  expand on ,e,ead ees  available  in 
  218. EDFILE.  Most  Quit rutions are self-explanatory from the  help 
  219. menus.  However,  some  require additional explanations  and  are 
  220. provided below.
  221.  
  222. ADDRESS/OFFSET OPTIONS
  223. ----------------------
  224. The p odress oxxn allows you to specify an address dati  0he 
  225. file. This is useful for patching CO
  226.  
  227. Edfiles and the like when the 
  228. address  of  the patch is known.  Note that when  EDFILE'ing  CO
  229.  
  230. Ed
  231. files,  EDFILE automatically sets the offset to 0100h. The offset 
  232. can  be  changed by typing 'O' at             mmand level and  A 0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBing 
  233. the  desired  offset.  The  headings  w^'be  adjusted  for  the 
  234. differen tyoffset  automatically.   The  address  oxxn  always 
  235. refereon o  the string.ing offset so that locationsdatiin programs  prevhich don't be --   at 0100h (overlays,  for example) can be easily 
  236. referenced  once  the offset has been  properly  programmed.  The 
  237. AZ  s oxxn also has a wrap-around feature so that  refereon o 
  238. below the datadnt offset wil+/e readjusted.  This fead ee can bent oquite  handy  when tinkering around with COM files.  YoA 0BHhave  to 
  239. experiment a little to pickup the usefulness of these t rutions.
  240.  
  241. SEARCH OPTION
  242. -------------
  243. The  ' biumch'  oxxn is the most involved because it  offers  so 
  244. many different possibilites. The 
  245. .s attion provided here should 
  246. provide enough information to effectively use it. 
  247.  
  248. String  searches  normally  start  ativ the  datadnt  beg  and 
  249. proceed  untilgaatf the file (EOF) is encou('red.  Certn l
  250. subt rutions can alter this sequence.  If a mat  s ntfoname, the 
  251. program  w^'indicate thile wnd restore the screen t/Edy  rumbe 
  252. of the t  ^Hyed.  The  biumch ,00,aborted at any time by simply 
  253. striking a key.
  254.  
  255. If a string match occurs across itis,  the  biumch will sto^n 
  256. the  of the t  Tesh read into its' loca+/getfer and  position  the 
  257. cursor  at gaatf the found rr   It  just  wasn't  worth 
  258. putundin the bits ra code to handle this wierd situation.
  259.  
  260. When  using the Occurrence ('O') and Mask s arM')  suboxxns,  the 
  261. program will promCIIfor the occurrenceStaber file4 seto en mask 
  262. to  be  used.  The suboxxns are inserted  a ter a  semicolon  to 
  263. dhe tccurre them ativ the  biumch string A 0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBed. fileho spaces should be 
  264. inserted   on't een  the  subt rutions.   las7 b or  lower  case  is 
  265. aFl-/able. Example:
  266.  
  267.      ?u r'^String = relahis is great\;auo
  268.      ain ^n stringC -Currence = 3
  269.  
  270.   This  means to  bium repr or the string 'This is  great'  starting   
  271.   from    the  - Adnper f the file,  ignoring the case  of  the 
  272.   string  (i.e.,  test\s 10e lowe00,0ncesing ease) and stt ruping  on 
  273.   the third ocdatadnce Quirr 
  274.  
  275. Aet rr   strings  must  be del-Oted  by  bfromsof the hes  (relae').  The 
  276. andeditation  here,  of  course,  is  that  you  can't   biumch  for 
  277. backsof the hes in ,e,ile.  So use the . Requivalent if necessary: 
  278. 5C.
  279.  
  280. The  'U'  subt rution  (trans 10e lower case to  upper umbe  e)  w^'
  281. test\s 10e the  biumch string I depping ease automatically,  as well 
  282. a.  Eonverundall lower case charumpsrs read from the file.  So, 
  283. you  don't  have to input th- QSto enstring in  nceser umbe  e  when 
  284. using the 'Uh'ubt rution.
  285.  
  286. When  inputting hexidecimal values as part of a  biumch key,  they 
  287. MUST be two-digit HEX (not harAmal) numbers. An invalid4C digit 
  288. entry w^'cause an or Dor and the string entry must be reentered. 
  289. Two  digits  must be supplied for each4CSta asotherwise  the 
  290. sA wA 2A work  properly.   las7 b or  lower  case  for  the 
  291. hexidecimal letters is acce-/able. Example:
  292.  
  293.      ?u r'^String =(.0,FE,e5,05
  294.  
  295. YoA 0BH can  mix . Rentriein i th string entriein i his pn  the  sA
  296. key. Example:
  297.  
  298.      ?u r'^String =(.0,FEs the  help meremE5,05
  299.  
  300. The  st eIackwar6 0to ensuboxxn (B) will staress o seto enativ the 
  301. datadnt  beg and c repr ue towards the string. of  the  file.  It 
  302. DOES  NOT reverse th- QSto enstring key,  that is,  if you  enter 
  303. \HELP\ for a  biumch string key,  it will not  biumch backwards for 
  304. \PLEH\.  It onl52efinul the direction the rumbein i ll be read 
  305. while  sein iing  for a matching string.  Also,  each  Tesh is 
  306. sein ied from the string. of the rumbe.  Th- QSto enstt rus when the 
  307. start of ,e,ile (SOF) is encou('red.
  308.  
  309. The  Mask suboxxn is for thoseumbe  es where bytes in a file  usent oon "tain  s4for sHeHmal meanings.  The input ytk is  logically 
  310. AND'd  with  each  byte in the thibefore comparing  it  to  the 
  311. sningitring.  Therefore,  some bytes could pass the  biumch test 
  312. but still may not be exactly what your looking for.
  313.  
  314.      ?u r'^String = 03;M
  315.      Enter string sAytk :
  316. ^0Fh
  317.  
  318.   This  w^' mask all upper nibbles (nceser 4 s4of each  byte) 
  319.   and  then compare it to a 3.  Therefore,  anyip bytes  which 
  320.   have a 3 in the lower nibble will cause a match with the  biumch 
  321.  st\.
  322.  
  323. When  the   biumch  string is foname in the  file,  the  sA is 
  324. temporarily  terminated and the cursor is positioned at the start 
  325. Quifoname string.  Note,  that the program is NOT in the   with
  326. A 0Bs,  so  the next key entered is a command not an  with^W betw
  327. key.  Hit  a space (or any unreco= zable com86a) to ret ad the 
  328. Teshand place the cursor on the command line. Hit an 'E' to go 
  329. into  the   withA 0Bs.  The cursor will dit m n lpositioned  at  the 
  330. string. of ,e,ound rr  
  331.  
  332. CONTINUE SEARCH OPTION
  333. ----------------------
  334. Hitund a 'C' at             mmand level will restaress o seto en from 
  335. the  curkwaTeshand cursor position (if 652iously  defined). 
  336. The  bium repr acility will theontrook for the NEXTC -Currence of the 
  337. A 0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBed  string sequence.  The 'Oh'ubt rution ile wffective only on 
  338. the  initial  string.  Qui biumch.  The  Cont
  339. we  s arC')  t rution 
  340. effectively disables the ocdatadnce value previously A 0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBed. The arcefault  string  ocdatadnce  is 1,  i.e.,  the  first  (or  next) 
  341. ocdatadnce.  Thmitnt
  342. we oxxn ,00,invoked at any time aearchhsr 
  343. a  biumch string key has been e('red. All other subt rutions are in 
  344. affect when^W 
  345. wing the sH - 
  346.  
  347.  
  348. RECORD EDITING
  349. --------------    Alim editing ile wccomplished by typing an 'E' at  the  com86a 
  350. level. When in the  withA 0Bs, there are twohoutdes of editing. YoA 0BH
  351. can  edit  the HEXIDECIMALs ruld area of the rumbe or the  sh i 
  352. r ASld  area.  When  entering  the  withA 0Bs the  cursor  will  be 
  353. positioned at the nceser left corne- AMn the HEX -/ r ASld of  the 
  354. datadnt iti.  To switch t/Edy ASxpaips ruld Quiiti, 
  355. simply  A 0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB a CTRL-E.  This will toggle the cucompuon't een  the 
  356. two  fields.  The  HEX r ASld area will  only  acceCII4Cidecimal arcigits  for  inputs.  The sh is ruld will acceCIIallst\  inputs 
  357. including contbetwkey inputs if they are preceeded by an ESC key.
  358. For  example:  to input a CTRL-   exn the Teshat  the  datadnt 
  359. cursor position,  hiess o ESCst\ followed by a CTRL-K.  The  ESC 
  360. key  simply  means 'put the next input glfe.- AMnt/Edy  rumbe 
  361. even if its' a contbetwglfe.r'.  This is only affective in the 
  362. Aet rr   field area.  Non-contbetwglfe.rs (i.e.,  rput iular sh i) 
  363. can be typed in directly.
  364.  
  365. To make the rumbe changes permanently to the file,  they must be 
  366. fontinhest                                                                                                                    he disk by Nping a CTRL-W. Typing a CTRL-X will exit 
  367. the edit fde without e-ating the file. 
  368.  
  369. BUGS:
  370. =
  371.                     
  372. There  are  currenly  no  know  bugs.  However,  inputs  are  not 
  373. completely  validated,  therefore,  some condition.  Eould  cause 
  374. different results.  None, however, are know to cause thicrashes 
  375. or  anyhis png catastrophic.  Any reports of bugs will be noted and 
  376. appreciated. 
  377.  
  378. USE UNDER TURBODOS:
  379. ==================
  380. EDFILE  is especially useful nameer TurboDOS.  Using the  fileddre 
  381. $.DS    or  $.DIR upon A 0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBing EDFILEting lows editing of the  disk 
  382. and/or directory.  I use EDFILE in every case when I need to look 
  383. aess o disk directory and make changes to it. The  bium repr acility 
  384. makes his ps task a breeze.
  385.  
  386. BACKGROUND INFO:
  387. ===============
  388. EDFILE   was   written  in  a  languaA 0BJJJcalled   SIL   (Systems  Cucmplementation  Languageump hich was obtained from DDy r and  then 
  389. enhanced and improved at Digilog,  Inc for use in writing systems 
  390. programs  and  utilities.  SIL is very simila00,0'C' but ting lows 
  391. true  inline 8080/Z80 assembly languaA 0BJcoding (very useful)  and 
  392. compiles to actual assembly mnemonics. The output Quicompiler 
  393. is  passed to Digital Reseto enInc's RelocA 0BAIble Assembler (RMA20 6 
  394. and then to DRI's Linker (LINK).  No special tricks were used  in 
  395. tat erogram; that is, no system sHeHmfic calls or locations were 
  396. referenced,  therefore,  it should runhe tany CP/
  397.  
  398. Edor  equivalent 
  399. system.  Of course,  Murphy is lurking around, so don't depeatn 
  400. that assumption.
  401.  
  402. FUTURE VERSIONS:
  403. ===============
  404. On  the wish Ba is to add the capability to read and   with the arcA 0BAI  off of the diskhe ta trfrom/sector basis.   Any other  ideas prev^'be seriously considered in fud ee versions of EDFILE.
  405. Thanks and good EDFILE'ing. 
  406.  
  407. Problems,  suggestttttCh  or  questions  can be sent to  me he t my 
  408. CompuServe number (#72345,1540) or via my home addresse seeeeeMike Mosko
  409.      519 E. A - Stion Ave.
  410.      Cot ruersburg, PA 18036
  411.