home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / DLMST251.ZIP / DLMST251.DOC < prev    next >
Text File  |  1992-10-10  |  21KB  |  509 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.       ┌────────────────────────────────────────────────────────────┐
  9.       │                                                            │
  10.       │  DLMASTER v2.51  - The RBBS Download File Listing Utility  │
  11.       │                                                            │
  12.       │                 (c) 1990-92 by Bob Hampton                 │
  13.       │                                                            │
  14.       │   S3-Technologies BBS  (703)451-9509   300-9600bps 24-hr   │
  15.       └────────────────────────────────────────────────────────────┘
  16.  
  17.                RBBS-PC copyright 1990 by D. Thomas Mack
  18.                 SuperFMSL copyright 1989 by Ethan Poole
  19.                     PKZIP copyright 1990 by PKWare
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28. INTRODUCTION:
  29.  
  30.    DLMASTER was created to make a professional-looking list of all
  31. files available for download on an RBBS-PC bulletin board.  It was
  32. inspired by Ethan Poole's fine SuperFMSL program, but is being
  33. distributed free of charge, in the spirit of the RBBS-PC tradition.
  34.  
  35.    I have included the C source code for those who wish to examine and
  36. possibly modify the program to suit their own purposes.  I ask only
  37. that the program not be distributed with modifications I have not
  38. approved and incorporated, since there would be no way for me to offer
  39. support for such a modified program.
  40.  
  41.    DLMASTER is written to make use of both disk and memory in order to
  42. sort out and create the listing in the most expedient manner.  I think
  43. you will find that DLMASTER runs almost twice as fast as other such
  44. programs with it's sorting capabilities, and I am working on ways to
  45. increase that speed even more.
  46.  
  47.  
  48. DLMASTER 2.51                                                Page 2
  49.  
  50.  
  51.  
  52. FILES INCLUDED:
  53.  
  54.  
  55.    Enclosed in this distribution should be the following files :
  56.  
  57.         DLMASTER.C    -   Source code for DLMASTER
  58.         DLMASTER.EXE  -   The executable file
  59.         DLMST250.DOC  -   What you're reading
  60.         FMSCHK.C      -   Source code for FMSCHK
  61.         FMSCHK.EXE    -   The executable file
  62.         FMSCHK.TXT    -   Info on the FMSCHK program
  63.         DOSWDW.ASM    -   Assembly source code for DOSWDW
  64.         DOSWDW.DOC    -   Documentation on DOSWDW
  65.         DOSWDW.OBJ    -   Object file for linking
  66.         DOSWDW.H      -   Include file for DOSWDW
  67.  
  68.     DLMASTER is now distributed in ZIP format using PKWare's Authenticity
  69. Verification.   When unzipping the file, you should see the following:
  70.  
  71.  
  72.       Searching ZIP: DLMST250.ZIP
  73.         Exploding: DLMASTER.C    -AV
  74.         Exploding: DLMASTER.EXE  -AV
  75.         Exploding: DLMST250.DOC  -AV
  76.         Exploding: FMSCHK.C      -AV
  77.         Exploding: FMSCHK.EXE    -AV
  78.         Exploding: FMSCHK.TXT    -AV
  79.  
  80.       Authentic files Verified!   # MIQ538   S3-Tech
  81.  
  82. If you do not see the verification number, then you have not received an
  83. authentic copy of the program.
  84.  
  85.  
  86. DLMASTER 2.51                                                Page 3
  87.  
  88.  
  89.  
  90. FEATURES:
  91.  
  92.    -  Supports FMS files of virtually unlimited size.
  93.  
  94.    -  Supports multiple category codes per category.
  95.  
  96.    -  Includes FMSCHK utility to check your FMS directory structure for
  97.       proper format.
  98.  
  99.    -  Sorts files by name or date, in ascending or descending order.
  100.  
  101.    -  Supports chained FMS directories.
  102.  
  103.    -  Supports \FMS TOP header parameter.
  104.  
  105.    -  Supports FMS comments and category headers.
  106.  
  107.    -  Supports formatted (non-standard) filenames in the FMS
  108.       directories.
  109.  
  110.    -  Automatically detects the width of the FMS line.
  111.  
  112.    -  Can add user-specified text files to the head and/or tail of the
  113.       list.
  114.  
  115.    -  Can automatically link to your choice of compression utility to
  116.       to produce compressed output.
  117.  
  118.  
  119.  
  120. REQUIREMENTS:
  121.  
  122.    -  Requires approx. 128K of memory, plus 28K per 1000 files in your
  123.       largest single or multiple-code category. Will work faster on
  124.       larger files with more memory.
  125.  
  126.    -  Requires approx. 28K of free disk space per 1000 files to create
  127.       the temporary work files, plus space for the output file and the
  128.       ZIPped file (if created).
  129.  
  130.  
  131. DLMASTER 2.51                                                Page 4
  132.  
  133.  
  134.  
  135. THE DLMASTER CONFIG FILE:
  136.  
  137.    DLMASTER uses a configuration file, which you can create with any
  138. text editor, in order to specify parameters required for the sort and
  139. output.  The name of this config file will be included on the command
  140. line when running the program.  The default name for the file is
  141. DLMASTER.CFG, and the program will look for this file if you do not
  142. specify one on the command line.
  143.  
  144.    The configuration file must contain at least 6 lines, and can
  145. contain up to 9, in order to specify the following parameters:
  146.  
  147. line   description                         example
  148. ====   ============================        =====================
  149.  1     full path of master FMS file        C:\RBBS\MASTER.DIR
  150.  2     full path of DIR.CAT file           C:\RBBS\DIR\DIR.CAT
  151.  3     full path of file to create         F:\SEND\S3FILES.TXT
  152.  4     name of BBS                         S3-Technologies BBS
  153.  5     sort type - A)lpha or D)ate         A
  154.  6     reverse sort? - Y or N              N
  155.  7     header file to include (optional)   C:\TXT\S3HEADER.TXT
  156.  8     footer file to include (optional)   C:\TXT\S3FOOTER.TXT
  157.  9     path\filename for compression util  C:\PKWARE\PKZIP
  158.        (optional)
  159.  
  160.    It is worth noting a couple of points here.  First, you can create
  161. different types of listings by using different config files (to create
  162. output sorted by date or name. for instance).  Second, you can also
  163. create different listings by using different DIR.CAT files.  Only the
  164. categories listed in the DIR.CAT file will be included in the final
  165. output.  Also, no files marked as "private for sysop" (those with
  166. category code "***") will be included in the output.
  167.  
  168.    The last thing to note pertains to using the optional parameters:
  169. numbers 7, 8 & 9.  DLMASTER will read the config file to the end-of-
  170. file.  It must find at least six lines for the first six parameters.
  171. You do not need to add any blank lines for parameters 7-9 if you do
  172. not intend to use any of them, but if you wish to use say, parameter
  173. 9, you MUST include a blank line (carriage return ONLY) for each of
  174. lines 7 and 8.  If you wish to use just parameter 8, you would include
  175. a blank line for parameter 7, but would not need one for parameter 9.
  176.  
  177.    If using parameter nine, you must specify the name of the compression
  178. utility you wish to use.  I have tested DLMASTER with PKZIP, ARJ, and
  179. LHARC will success.  The only limitation here is that if not using one
  180. of these utilities, the program you select must support the use of an
  181. 'a' parameter to indicate that it is adding files to the compressed
  182. output.
  183.  
  184.  
  185. DLMASTER 2.51                                                Page 5
  186.  
  187.  
  188.  
  189. SPECIAL NOTES:
  190.  
  191.   A request was made to handle FMS files where the filename was
  192. formatted in a non-standard way.   You may therefore have filenames in
  193. your FMS files formatted in any of four ways:
  194.  
  195.    1)   FILENAME.EXT     (standard)
  196.    2)   FILENAME   EXT   (formatted)
  197.    3)   FILENAME  .EXT   (dot formatted)
  198.    4)   FILENAME         (no extension)
  199.  
  200. The number of spaces between the filename and the extension is
  201. variable, as long as it does not conflict with RBBS-PC requirements.
  202. There must, however, be no spaces between the dot (if used) and the
  203. file extension.  The final output will show the filename exactly as it
  204. is in the FMS file.
  205.  
  206.  
  207.  
  208.  
  209.  
  210. RUNNING THE PROGRAM:
  211.  
  212.    The syntax for executing DLMASTER is as follows:
  213.  
  214.               DLMASTER <config file>
  215.  
  216. where <config file> is the name of the configuration file you
  217. have created.  If you do not specify a config file, DLMASTER will
  218. look for DLMASTER.CFG by default.
  219.  
  220.  
  221.  
  222. LIMITATIONS:
  223.  
  224.      The following are known limitations of DLMASTER at the present
  225. time:
  226.  
  227.      - Supports no more than 50 chained FMS files.
  228.  
  229.      - Does not support FMS security levels ('=' at beginning
  230.        of filename in FMS file).
  231.  
  232.      - Does not display comment lines (beginning with '\' or '*').
  233.  
  234.      - All FMS files must use the same line width.
  235.  
  236.  
  237. DLMASTER 2.51                                                Page 6
  238.  
  239.  
  240.  
  241. THE FMSCHK PROGRAM:
  242.  
  243.    Up to now, I have spent many hours helping people debug problems
  244. with DLMASTER that were related to errors in the format of certain
  245. lines of their FMS directories.  Such errors included improper
  246. format/characters in the filesize or date fields, and extraneous
  247. characters between the various fields.
  248.  
  249.    These errors apparantly did not disturb RBBS, but wreaked havoc
  250. with DLMASTER.  I have therefore included a small utility, FMSCHK.EXE,
  251. to scan your FMS directory files to ensure that they are in a proper
  252. format to work with DLMASTER.
  253.  
  254.    If you have a problem with DLMASTER, I suggest you first double
  255. check your DLMASTER.CFG file, then run the FMSCHK program against your
  256. FMS.  Please refer to FMSCHK.TXT for further information.
  257.  
  258.  
  259.  
  260. FUTURE PLANS:
  261.  
  262.    The best-laid plans often go astray.  I have thought of a few
  263. things that I might like to add, but would prefer to get your input on
  264. what you feel would be useful additions or enhancements to DLMASTER.
  265. Please make your suggestions within the scope of DLMASTER's intended
  266. purpose - I'm not trying to make it a "Swiss Army Knife" of FMS
  267. utilities! <grin>
  268.  
  269.  
  270.  
  271. SUPPORT:
  272.  
  273.    I will attempt to provide support for any questions that arise
  274. regarding the use of DLMASTER.  Please leave me a message on my
  275. bulletin board, and I will respond within 24 hours.  If there is a bug
  276. report, I will try to have a fix available within 3 days.  The number
  277. for the board is:
  278.  
  279.           Bob Hampton
  280.           S3-Technologies BBS
  281.           Burke, VA
  282.           (703) 451-9509
  283.  
  284.           300-9600bps   24-hr
  285.  
  286.    Enjoy the program, and let me know if you have ideas for other
  287. useful RBBS-PC utilities!
  288.  
  289.  
  290. DLMASTER 2.51                                                Page 7
  291.  
  292.  
  293.  
  294. NOTES ON COMPILING:
  295.  
  296.    With the introduction of the DOSWDW module, recompiling DLMASTER has
  297. grown to become a C Project, as opposed to a simple compile.  Included
  298. in this distribution are the DOSWDW.H and DOSWDW.OBJ files necessary for
  299. your Turbo C MAKE utility.  Using these files requires that you temporarily
  300. comment out the current declarations for the setvect() function in your
  301. DOS.H file.  Interestingly enough, I found setvect() to be declared twice
  302. in this file, so double-check yours before starting the compile.  Also
  303. remember to switch to the Large memory module for compiling DLMASTER, or
  304. you'll get an error during the linking process. If you want an additional
  305. example of how to use this function in a program, download a copy of
  306. DOSWDW.ZIP, available on my board of you can't find it elsewhere.
  307.  
  308.  
  309.  
  310. ACKNOWLEDGEMENTS:
  311.  
  312.    I would like to thank the following sysops for helping me to test
  313. and debug DLMASTER:
  314.  
  315.       Dan Shore        The Shoreline           (301) 946-2771
  316.       Walter Ames      The World of Greyhawk   (301) 461-9943/465-3891
  317.       John Palazzolo   JP's Place              (703) 237-5786
  318.       Sam Coleman      Port-of-Call            (301) 249-4193
  319.       Bruce Marusich   Street Noise            (301) 601-8710
  320.  
  321. Their time and efforts have been invaluable in providing me the
  322. feedback necessary to bring you the most bug-free and user-oriented
  323. program possible.
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330. SPECIAL THANKS:
  331.  
  332.    I would like to thank Thomas Mack, Ken Goosens, Doug Azzarito, Jon
  333. Martin, and the countless others who have strived to make RBBS-PC the
  334. best and best-supported BBS program around.  Their continuing
  335. commitment to excellence, and their unselfish devotion to public
  336. service is a refreshing change in this otherwise commercialized world.
  337. Their attitude of "users helping users" is one that I hope will
  338. continue to thrive and grow within the PC community, and one that I am
  339. happy to do my part in propagating.
  340.  
  341.  
  342. DLMASTER 2.51                                                Page 8
  343.  
  344.  
  345.  
  346. REVISION HISTORY: (note:  'ß' suffix indicates beta version)
  347.  
  348.     2.51    10-09-92   Double Oops!  Changed some code in preparation
  349.                        for an upcoming feature which affected the
  350.                        compilation of the compressed file so that
  351.                        the extension was concatenated.  Fixed.
  352.  
  353.     2.50    10-02-92   Oops!  Forgot that DOS would only allow you
  354.                        to have 20 files open at once for any given
  355.                        process.  This caused DLMASTER to bomb out
  356.                        when using more than 15 chained FMS files
  357.                        (DOS automatically uses 5 of the available 20).
  358.                        Thanx to Bob Kiernan from the Beehive BBS for
  359.                        pointing me towards this one.
  360.  
  361.                        This release also supports the compression
  362.                        utility of your choice, and changes the way
  363.                        progress is reported during final output by
  364.                        using a graph.  Also adds windowed output
  365.                        to observe the compression utility in progress.
  366.  
  367.     2.41     6-29-92   Corrected small bug that caused lockup when
  368.                        DIR.CAT file used spaces between category
  369.                        codes in multi-code categories.
  370.  
  371.                        Also includes version 1.04 of FMSCHK program.
  372.  
  373.     2.40ß    4-20-91   At Last!!  I have learned (hopefully) how to
  374.                        properly manage HUGE arrays in memory (over
  375.                        64K).  Have eliminated annoying bug of lockups
  376.                        when a single category was too large.  Also
  377.                        reintroduced ability to handle multiple
  378.                        category codes per category.  Also now the
  379.                        only supported version of DLMASTER (v1.32
  380.                        rescinded).
  381.  
  382.     2.30               (never released)
  383.  
  384.     2.20     8-4-91    Improved the way that the final output file is
  385.                        created in order to reduce disk thrashing.  Added
  386.                        proper support for monochrome monitors (finally!).
  387.                        Also fixed a memory bug that had crept in between
  388.                        versions 2.00b and 2.10b.
  389.  
  390.     2.11     8-3-91    A cute one!  Had changed the way DLMASTER named the
  391.                        temp files, which caused a strange error.  If FMS
  392.                        category code was "PRN", DLMASTER tried to create a
  393.                        temp file called "PRN.DL$".  Trying to write to the
  394.                        file would cause a DOS error "Unable to write to
  395.                        device: PRN", as if it was accessing the printer.
  396.                        Thanx to Sam Coleman for pointing out this one.
  397.  
  398.     2.10ß    8-3-91    A small oversight corrected.  DLMASTER would not
  399.                        handle FMS category headers, lines that began with
  400.                        '*'.  Thanx to Peter Skorupsky of the Freedom Infonet
  401.                        BBS for pointing this out.
  402.  
  403.  
  404. DLMASTER 2.51                                                 Page 9
  405.  
  406.  
  407.  
  408.                        Also fixed a bug in 2.01b whereby private files to
  409.                        Sysop (category code = "***") were not being
  410.                        processed correctly.
  411.  
  412.     2.01ß    7-28-91   Fixed a bug that had crept in around version 1.20
  413.                        which caused chained FMS directories not to work.
  414.  
  415.     2.00ß    7-27-91   A MAJOR CODE REWRITE!!  DLMASTER now supports FMS
  416.                        files of virtually unlimited size.  Thanx again to
  417.                        Bruce Marusich for forcing my programming skills
  418.                        beyond their previous limitation.  Had to give up the
  419.                        ability to handle multiple category codes per
  420.                        category, but hope to add this back in.
  421.  
  422.                        Introduction of the FMSCHK utility, to help identify
  423.                        errors in the format of the FMS.
  424.  
  425.     1.41ß    7-14-91   Okay - so it was late and I was tired, and I forgot
  426.                        to increase the stack size....
  427.  
  428.     1.40ß    7-13-91   Fixed problem of stack overflow when more than
  429.                        approx. 1200 files in one category.  This should have
  430.                        been done at the same time as the fixes in 1.10b, but
  431.                        hadn't run into a .DIR file with that many files in
  432.                        one category.  Thanks to Bruce Marusich of the Street
  433.                        Noise BBS for pointing this out.
  434.  
  435.     1.32     3-29-92   Cleaned up bug of not properly deleting all the
  436.                        temporary files.  Also allowed parsing multi-
  437.                        code category definitions in DIR.CAT with spaces
  438.                        in between codes.
  439.  
  440.     1.31c    3-23-92   This actually released after version 2.20, in
  441.                        order to satisfy the needs of those who did not
  442.                        have large FMS files (over 1200 files/category,
  443.                        or over 2700 files in total FMS), but needed
  444.                        the ability to handle multiple category codes.
  445.                        fixes problem of not properly handling chained
  446.                        FMS files, and increases maximum category codes
  447.                        per category to 20.
  448.  
  449.     1.30     6-11-91   DLMASTER could not work with files that had no
  450.                        extension.  An oversight which I was surprised not to
  451.                        have turned up earlier.  Thanx to Jim Mayor of the
  452.                        HUG BBS for bringing this to my attention.
  453.  
  454.     1.20     4-27-91   First general release since fixes in 1.10b - also
  455.                        added code to strip "Uploaded by" lines when using
  456.                        BAMAWHO.MRG or RBBSWHO.MRG merges.
  457.     1.10ß    3-24-91   Fixed problem with memory management to work with
  458.                        arrays larger than 64K.  Problem occurred when more
  459.                        than 2973 files were listed in an FMS directory(ies).
  460.                        Thanx to Dan Shore of SPPT and Tom Hansen of Church
  461.  
  462.  
  463. DLMASTER 2.51                                                 Page 10
  464.  
  465.  
  466.                        Chatters for helping me find this one.  Also
  467.                        reformatted docs to print correctly on laser
  468.                        printers.  Thanx to JP of JP's Place and Sam Coleman
  469.                        of Port-of-Call for pointing out the benefits of
  470.                        this.
  471.  
  472.     1.01     1-5-91    Fixed bug causing certain \FMS header lines to not be
  473.                        parsed correctly.
  474.  
  475.     1.0      1-3-91    First public release.  Another rewrite of
  476.                        documentation.  A couple of minor code trims to
  477.                        remove code used while debugging the beta versions.
  478.  
  479.     0.95ß    1-1-91    Corrected bug causing filenames not to show correctly
  480.                        on the screen display.  Improved error-handling code.
  481.                        Major rewrite of documentation.  New 3-D display
  482.                        interface added.
  483.  
  484.     0.94ß  12-25-90    Added capability to add user-specified text files at
  485.                        the head and/or tail of the output file.  Modified
  486.                        screen colors slightly, and added additional
  487.                        information to documentation.
  488.  
  489.     0.93ß  12-24-90    A quick fix.  Allows use of formatted file names in
  490.                        FMS directories, and corrects problem that caused
  491.                        work files not to be deleted.  This was due to the
  492.                        fact that DLMASTER read ALL files listed in the FMS
  493.                        directories, and created temp files for such, but did
  494.                        not include files in the output for directory
  495.                        categories not listed in the DIR.CAT file.  This
  496.                        situation also caused the total file and byte counts
  497.                        to be off.
  498.  
  499.     0.92ß  12-24-90    Added colorful display.  Added capability to
  500.                        automatically ZIP the output file (new config
  501.                        parameter).
  502.  
  503.     0.91ß  12-22-90    Corrected problems with stack overflow that resulted
  504.                        in program crashes with larger FMS files.   Corrected
  505.                        code so that files that were for sysop only (cat code
  506.                        = "***") would not be included in the listing.
  507.  
  508.     0.90ß  12-20-90    Initial beta release.
  509.