home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / ROMPR138.ZIP / ROMPROC.DOC < prev    next >
Text File  |  1994-03-19  |  32KB  |  673 lines

  1.  
  2.     ┌────┐
  3.     │──═─│
  4.     │ ── │ ─────┐      ┌────┐             ROMProc Documentation File
  5.     │    │   ROMProc   │──═─│                    Version 1.38
  6.     │    │      └────> │ ── │       (c) Copyright 1993-1994 - Stacy Smith
  7.     │    │             │    │
  8.     │    │             │    │
  9.    ─┴────┴─           ─┴────┴─
  10.  
  11.  
  12.                                 Courtesy of:
  13.  
  14.                         The Bloom Beacon-Picayune BBS
  15.           Node 1: (919) 557-3845 (USRobotics Courier Dual Standard)
  16.              Node 2: (919) 557-0645 (USRobotics Courier V.32bis)
  17.                 Node 3: (919) 557-0745 (Hayes Optima 288 V.FC)
  18.                              FidoNet 1:151/106
  19.                                   Intelec
  20.                                  CompuLink
  21.  
  22.                                 Stacy Smith
  23.                             305 Cottonwood Lane
  24.                           Holly Springs, NC 27540
  25.  
  26.  
  27. ┌────────────────────┐
  28. │  1. Introduction:  │
  29. └────────────────────┘
  30.  
  31. ROMProc is a BBS download file preprocessor designed to make optimal use of
  32. CD-ROM and/or LAN BBS setups by copying the desired file(s) from the source
  33. drive into a work directory, commenting them, transferring them to the remote
  34. user with the desired protocol and cleaning up. ROMProc is different from other
  35. programs in which it performs all these functions automatically from a single
  36. program command line.
  37.  
  38. By commenting files just prior to download, rather than commenting them when
  39. posted, you can save disk space and your files will always have up-to-date
  40. comments inserted. By stripping the comments from 200 megs of ZIP files on my
  41. system, I regained about 2 megs of disk space!
  42.  
  43. ROMProc was developed primarily because I didn't like the current crop of
  44. CD-ROM and server file handlers. They were either complicated to install,
  45. didn't perform as desired, were designed as doors, memory hogs, ridiculously
  46. expensive or crippled.
  47.  
  48.  
  49. ┌───────────────────────────┐
  50. │  2. Features of ROMProc:  │
  51. └───────────────────────────┘
  52.  
  53.       ∙ Handles the complete download process from a single command-line.
  54.       ∙ Functions with any protocol, including single, batch and bi-directional
  55.         protocols.
  56.       ∙ May be installed in your BBS software as a batch file or a direct
  57.         command-line.
  58.       ∙ Automatically identifies ARC, ARJ, HYP, LZH, PAK, SQZ, ZIP and ZOO
  59.         files, regardless of their file extensions (ideal for software
  60.         distribution networks, like .SDN files), allowing commenting of these
  61.         archivers that support archive comments (not all do).
  62.       ∙ Automatically identifies ARJ, LZH, PAK, SQZ and ZIP self-extracting
  63.         (SFX) archives.
  64.       ∙ Comments all files prior to downloading, if desired.
  65.       ∙ May be configured to insert a BBS ad file to the archives (ugh).
  66.       ∙ Fully multinode compatible.
  67.       ∙ Organizes the processing order to ensure sequential drive access.
  68.       ∙ Locks slow drives to prevent drive thrashing due to multiple node
  69.         accesses to the same physical drive.
  70.       ∙ Outputs sysop-configurable prompts to the user for indication of
  71.         process status. ROMProc supports IRQs 2-7 with any base address as well
  72.         as FOSSIL drivers.
  73.       ∙ Windowed full-screen interface.
  74.       ∙ User-selectable disk error logging.
  75.       ∙ Not crippled.
  76.       ∙ Returns the errorlevel of the transfer protocol, making ROMProc
  77.         completely transparent to the BBS software.
  78.       ∙ Written completely in C for optimal speed, using Microsoft C/C++ 7.0.
  79.       ∙ Lifetime registration; pay ONCE and your registration number will work
  80.         on all future versions!
  81.  
  82.  
  83. ┌─────────────────────────────────────────────────────────┐
  84. │  3. Files Included in the ROMProc Distribution Archive  │
  85. └─────────────────────────────────────────────────────────┘
  86.  
  87.         ROMPROC.EXE     CD-ROM Download File Processor program
  88.         ROMPROC.CFG     Sample configuration file
  89.         ROMPROC.DOC     This file
  90.         HISTORY.TXT     ROMProc revision history in reverse order
  91.         REGISTER.FRM    Registration form for ROMProc
  92.         COMMENT.TXT     Sample comment file for inclusion in archives
  93.         FILE_ID.DIZ     Internal description file
  94.  
  95. When you unzip the distribution archive, you should see my PKZIP authenticity
  96. verification stamp, and a '-AV' after every file in the archive:
  97.  
  98.         # SSU301    The Bloom Beacon-Picayune BBS
  99.  
  100. If there are any files missing or added, or the -AV stamp is missing, the
  101. archive has been tampered with. It would be advisable to call my BBS (listed at
  102. the top of this document) for the latest version of ROMProc.
  103.  
  104.  
  105. ┌───────────────────────────┐
  106. │  4. Program Requirements  │
  107. └───────────────────────────┘
  108.  
  109. To the best of my knowledge, ROMProc will run on most any machine capable of
  110. running a BBS package. My BBS setup is PCBoard 15.0/10 beta running under
  111. DESQview on a LANtastic 5.00 network with 1 hard drive and 2 CD-ROMs, but other
  112. sysops that I have been in contact with have successfully implemented ROMProc
  113. on a wide variety of hardware.
  114.  
  115. ROMProc requires DOS 3.x or later, as it uses DOS SHARE-compatible file reads
  116. and writes.  ROMProc's memory requirements are very small (about 80K, plus
  117. whatever memory is required to invoke the transfer protocols), therefore it can
  118. be run in very low memory situations.
  119.  
  120. ROMProc has been developed and tested using the following archiving and
  121. transfer protocols:
  122.  
  123.         ARJ 2.10 through 2.41 (by Robert Jung)
  124.         LHA 2.13 (by Haruyasu Yoshizaki)
  125.         PKZIP 1.10 through 2.04g (by PKWare)
  126.         SQZ 1.08.2 (by Jonas Hammarberg)
  127.         DSZ [various dates] (by Omen Technology)
  128.         HS/Link 1.12 through 1.21B6 (by Sam Smith)
  129.  
  130.  
  131. ┌───────────────────┐
  132. │  5. Registration  │
  133. └───────────────────┘
  134.  
  135. ROMProc is not free; nor is ROMProc is crippled to force registration. ROMProc
  136. is fully functional, and will always remain so. The only variation with the
  137. registered copies is no time delay and beg message, and unregistered copies
  138. display the following to the user online at the beginning of execution:
  139.  
  140.         [ ROMProc 1.35 - Unregistered ]
  141.  
  142. Why register? Besides a clean conscience, you will get a registration code that
  143. will work for all future versions of ROMProc, and will remove the delay and
  144. message displayed upon closing the door.
  145.  
  146. The registration fee for your unique code is $10 for non-commercial BBSs (not
  147. too bad, eh?). The registration fee for commercial BBSs, defined if you run
  148. your BBS in the course of a commercial business or for profit, is $20. Other
  149. variations are available; refer to the file REGISTER.FRM for all registration
  150. options. Please print the file REGISTER.FRM and fill it out. You can print out
  151. the form by issuing the following command from the DOS prompt:
  152.  
  153.         TYPE REGISTER.FRM > PRN
  154.  
  155.  
  156. ┌───────────────────────────────────────┐
  157. │  6. License, Warranty and Disclaimer  │
  158. └───────────────────────────────────────┘
  159.  
  160. I'll keep this part short and sweet, and dispense with the legal-ese:
  161.  
  162.         License: You are allowed to use ROMProc for 30 days, after which you
  163.            must either register ROMProc or stop using it completely. ROMProc
  164.            registration is a license for your use of ROMProc; I retain
  165.            ownership of the software. A single registration applies to a single
  166.            BBS system, regardless of the number of computers used in the
  167.            system. If you run two or more distinct BBS systems on the same
  168.            computer(s) (with different names), you require two or more ROMProc
  169.            registrations. Refer to the registration form for the currect
  170.            pricing structure.
  171.  
  172.         Warranty: There isn't one. The only thing I'll guarantee is that
  173.            ROMProc will take up disk space, and will disappear when deleted.
  174.  
  175.         Disclaimer: I'm not responsible for anything bad that happens. ROMProc
  176.            works here, but I cannot be held responsible for it not working on
  177.            your computer or doing any damage to hardware or software.
  178.  
  179. If these aren't agreeable with you, then the best thing to do is delete ROMProc
  180. right now. I'll do my best to help any user (registered or not) that wants to
  181. use ROMProc, and I'll act on bug reports quickly, but I simply cannot and will
  182. not be responsible for anything bad, like lost data, disk crashes, or whatever
  183. else you can think of.
  184.  
  185.  
  186. ┌───────────────────┐
  187. │  7. Installation  │
  188. └───────────────────┘
  189.  
  190. GENERAL INSTALLATION:
  191. ─────────────────────
  192. Make a subdirectory on your hard drive. For the purposes of this document,
  193. we'll call it "C:\ROMPROC". Unarchive the ROMProc distribution archive into
  194. this subdirectory. You've more than likely already made it this far, if you're
  195. reading this file. <grin>
  196.  
  197. The ROMProc system opens a few files simultaneously for various reasons. I
  198. would recommend that you have a minimum of FILES=30 per node in your system
  199. CONFIG.SYS file for a single-node system, since ROMProc is run in conjunction
  200. with your BBS software.
  201.  
  202. If you are running under a network or a multitasking operating system, you
  203. should already have DOS's SHARE.EXE loaded. You must have SHARE loaded in order
  204. to take advantage of the file sharing and locking methods used by the ROMProc
  205. program to prevent data loss. (If you are running a single-node system without
  206. a multitasker, SHARE is not needed).
  207.  
  208. Edit the configuration file to suit your needs. Proper configuration will
  209. require you to refer to this section, the previous section and the section
  210. titled "Configuration", which has an in-depth explanation of each configuration
  211. parameter and its function.
  212.  
  213. Note that for the ROMProc program, you can obtain a limited program syntax
  214. screen simply by executing the program name "ROMPROC".
  215.  
  216. GENERIC INSTALLATION INTO YOUR BBS SOFTWARE:
  217. ────────────────────────────────────────────
  218. The premise behind ROMProc is that instead of invoking your transfer protocol
  219. as usual when sending files to remote, you invoke ROMProc instead. ROMProc will
  220. copy all files the remote user requested, process them as configured and invoke
  221. the desired protocol. Note that only the sending (remote download) protocol is
  222. changed; the receiving (remote upload) procotol is not changed. Upon completion
  223. of the transfer, ROMProc will return the errorlevel returned by the protocol,
  224. ensuring ROMProc's transparency to the BBS software.
  225.  
  226. ROMProc must be run from the BBS node subdirectory; this is required to prevent
  227. conflicts when multiple copies of ROMProc are run simultaneously. At the bare
  228. minimum, three command-line parameters are required for ROMProc:
  229.  
  230.     c:\romproc\romproc -Cc:\romproc\romproc.cfg -Ffile.ext -Tz
  231.  
  232. where -C defines the full path and filename of the configuration file for
  233. ROMProc and -F is the complete path and filename of the file (or batch list
  234. file) to be sent to remote; this parameter is almost always passed by the BBS
  235. software. Also, the required -T parameter defines to ROMProc which protocol to
  236. invoke by letter.
  237.  
  238. When run in a multinode environment, you must also pass the BBS node number
  239. (via the -N command-line switch) to prevent collisions during simultaneous
  240. downloads (if no node number is defined, 0 is used by default):
  241.  
  242.     c:\romproc\romproc -Cc:\romproc\romproc.cfg -Ffile.ext -Tz -N2
  243.  
  244. In many installations, the node number is or can be defined as an environment
  245. variable. For example, PCBoard sysops use the environment variable PCBNODE to
  246. use in batch files for external utilities.
  247.  
  248.     c:\romproc\romproc -Cc:\romproc\romproc.cfg -Ffile.ext -Tz -N%PCBNODE%
  249.  
  250. All BBS software passes the port number and computer-to-modem speed (DTE), and
  251. many also pass modem-to-modem carrier speed (DCE). These are passed on to
  252. ROMProc via the -P, -S and -E command-line switches, respectively. BBS software
  253. that supports bi-directional protocols will also pass the upload directory for
  254. the protocol to place any unexpected uploads from remote. This is passed to
  255. ROMProc using the -U command-line switch.
  256.  
  257. * NOTE: In order for ROMProc to send status information to the online user, you
  258.         MUST define the -P and -S parameters for direct I/O, or the -X
  259.         parameter for FOSSIL I/O. (For direct I/O, the -P may be omitted from
  260.         the command line in favor of the DSZPORT environment variable).
  261.  
  262. * NOTE: If you are using a non-standard COM port for direct I/O, define the COM
  263.         port IRQ and base address on the command line. For example, if COM3 (a
  264.         non-standard port for IBM PCs) is used with 3e8 is the base address and
  265.         5 is the assigned IRQ, the -P parameter would be "-P3e8,5" (no quotes).
  266.  
  267. * NOTE: For FOSSIL I/O implementations, the FOSSIL port parameter (-X) must be
  268.         specified instead of the COM port parameter (-P).
  269.  
  270. Most of the switches are self-explanatory. To be safe, if your BBS system
  271. is capable of passing a parameter, pass it on to ROMProc using the appropriate
  272. command-line switch. It can't hurt...
  273.  
  274. PCBOARD INSTALLATION:
  275. ─────────────────────
  276. Installation in PCBoard is very easy. PCBoard uses two batch files for each
  277. protocol, named PCBR?.BAT and PCBS?.BAT, where ? is the protocol letter. The
  278. PCBR?.BAT (receive) batch files do not need to be changed for ROMProc, however,
  279. the PCBS?.BAT batch file does. Below are sample Zmodem and HS/Link send (and
  280. receive, for reference) batch files from my multinode system:
  281.  
  282. PCBSZ.BAT:
  283. @Echo off
  284. if exist pcberr.fil del pcberr.fil
  285. if exist pcbdsz.log del pcbdsz.log
  286. c:\romproc\romproc -Cc:\romproc\romproc.cfg -Tz -N%PCBNODE% -F%3 -P%1 -S%2 -E%5
  287.  
  288. PCBRZ.BAT:
  289. @Echo off
  290. if exist pcberr.fil del pcberr.fil
  291. if exist pcbdsz.log del pcbdsz.log
  292. dsz port %1 speed %2 ha cts est 0 %5 pB4096 pr1 rz %3
  293.  
  294. PCBSH.BAT:
  295. @Echo off
  296. if exist pcberr.fil del pcberr.fil
  297. if exist pcbdsz.log del pcbdsz.log
  298. c:\romproc\romproc -Cc:\romproc\romproc.cfg -Th -N%PCBNODE% -F%3 -P%1 -S%2 -E%5
  299.     -U%6
  300.  
  301. PCBRH.BAT:
  302. @Echo off
  303. if exist pcberr.fil del pcberr.fil
  304. if exist pcbdsz.log del pcbdsz.log
  305. hslink -b%2 -p%1 -e%5 -u%6 -noc:\pcb\gen\dlpath.lst
  306.  
  307.  
  308. With the exception of the -T parameter, all of your PCBS?.BAT files should be
  309. identical; change the -T parameter to reflect the appropriate protocol letter.
  310. For bi-directional protocols, such as HS/Link and BiModem, add the -U%6 command
  311. switch.
  312.  
  313. If you wish full implementation of ROMProc, all protocols have to be shelled
  314. instead of using the internal Xmodem and Ymodem protocols. Fortunately, DSZ is
  315. capable of all variations of Xmodem and Ymodem as well as Zmodem. The following
  316. is a screen snapshot of my PCBPROT.DAT file from PCBSETUP, with all protocols
  317. running through ROMProc:
  318.  
  319.                        Port Lock
  320.      Use Type Size MNP Open Lines             Protocol Description
  321.      ═══ ════ ════ ═══ ════ ═════ ═══════════════════════════════════════
  322.       A   I    128  N   N     N   ASCII (text files only)
  323.       X   S    128  N   N     Y   Xmodem
  324.       C   S    128  N   N     Y   Xmodem-CRC
  325.       O   S   1024  N   N     Y   1K-Xmodem
  326.       F   S   1024  Y   N     Y   1K-Xmodem/G
  327.       Y   D   1024  N   N     Y   Ymodem    [Batch]
  328.       G   D   1024  Y   N     Y   Ymodem/G  [Batch]
  329.       Z   D   1024  N   N     Y   Zmodem    [Batch]
  330.       M   D   1024  N   N     Y   Zmodem MobyTurbo  [Batch]
  331.       H   B   2048  N   N     Y   HS/Link (bi-directional)  [Batch]
  332.       N   I      0  N   N     N   None (ask each transfer)
  333.  
  334. Note the type for the Xmodem and Ymodem transfer protocols is now (S)helled or
  335. (D)SZLOG batch, instead of (I)nternal.
  336.  
  337. OTHER BBS INSTALLATION:
  338. ───────────────────────
  339.  
  340. * NOTE: As my BBS is PCBoard, I have written the PCBoard-specific instructions.
  341.         I would greatly appreciate some feedback from other BBS software users
  342.         regarding ROMProc installation specifics.
  343.  
  344. APPLICATION NOTES:
  345. ──────────────────
  346. PKZIP:
  347.     PKZIP 2.04 uses direct-video output by default that will make the
  348.     processing window look rather ugly when executed. To remedy this, set the
  349.     PKNOFASTCHAR environment variable which will revert PKZIP 2.04 to the older
  350.     1.10-style video output. (It doesn't matter what your set the variable to,
  351.     PKZIP just looks for its existence).
  352.  
  353. SQZ:
  354.     SQZ also uses direct-video output, but unlike PKZIP 2.04, it cannot be
  355.     defeated. The processing window may look odd, but rest assured it is
  356.     operating correctly.
  357.  
  358. DSZ:
  359.     In many cases, the use of DSZPORT environment variable is more desirable
  360.     than passing the COM port information. This allows easier definition of
  361.     non-standard COM ports addresses. For example, if you are using COM2 for a
  362.     BBS node, add:
  363.  
  364.             SET DSZPORT=2
  365.  
  366.     to your node batch file. If you are running a non-standard COM port, define
  367.     the base address and IRQ on the command line. For example, if COM3 (a
  368.     non-standard port for IBM PCs) is used with 3e8 is the base address and 5
  369.     is the assigned IRQ, the setting would be:
  370.  
  371.             SET DSZPORT=3e8,5
  372.  
  373.     If you elect to use the DSZPORT environment variable, it is no longer
  374.     necessary to pass the -P command-line switch or to add the "port @PORT@"
  375.     parameter to the DSZ command lines for Xmodem, Ymodem, and Zmodem transfers
  376.     in the ROMProc configuration file.
  377.  
  378.     In addition, ROMProc will search the environment for the DSZPORT variable
  379.     and use it for the com port definitions for it's user status output.
  380.  
  381. HS/Link:
  382.     The HS/Link command-line can include the -NF switch to turn off HS/Link's
  383.     full-screen display, allowing it to run in ROMProc's transfer protocol
  384.     window. Otherwise, ROMProc's local display will be overwritten by HS/Link's
  385.     display.
  386.  
  387.  
  388. ┌────────────────────┐
  389. │  8. Configuration  │
  390. └────────────────────┘
  391.  
  392. The sample configuration file included in the distribution archive is heavily
  393. commented, but some additional information is provided below:
  394.  
  395. GENERAL PARAMETERS:
  396. ───────────────────
  397. REG_CODE
  398.     The registration code EXACTLY as provided to you on your registration
  399.     letter. If this is an unregistered version, comment out this line. Note
  400.     that this is case-sensitive, as the serial number, BBS name and sysop name
  401.     are all encrypted into this code.
  402.  
  403. BBS_NAME
  404.     The BBS name EXACTLY as provided to you on your registration letter. If
  405.     this is an unregistered version, comment out this lines. Note that this is
  406.     case-sensitive!
  407.  
  408. SYSOP_NAME
  409.     The sysop name EXACTLY as provided to you on your registration letter. If
  410.     this is an unregistered version, comment out this line. You get the picture
  411.     by now...
  412.  
  413. WORK_DIR
  414.     The full path for the specific subdirectory for ROMProc to store file(s) to
  415.     be downloaded. This must include the trailing backslash (ROMProc will add
  416.     it if necessary)! If this directory does not exist at runtime, ROMProc will
  417.     attempt to create it. This can be set to a RAM disk for greater speed,
  418.     since ROMProc will detect an out of disk space condition and allow the
  419.     download to continue from the original file. An environment variable may
  420.     also be entered using the standard %VARIABLE% notation DOS uses; note that
  421.     the environment variable definition must adhere to the same requirements as
  422.     specifying a work directory. For example, the following are both valid:
  423.         WORK_DIR c:\work\
  424.         WORK_DIR %TEMP%
  425.     where %TEMP% is defined as "c:\work\" in your AUTOEXEC.BAT file.
  426.  
  427. COMMON_DIR
  428.     The full path for the subdirectory for ROMProc to place its locking
  429.     semaphore file(s).  This subdirectory must be available to all CPUs on your
  430.     LAN and must include the trailing backslash!  If it is not defined, your
  431.     work subdirectory will be used as the common subdirectory.
  432.  
  433. DISK_BUFFER
  434.     The size of the disk I/O buffer you wish to allocate in bytes (valid values
  435.     are between 2048 bytes and 16384 bytes). Optimal performance is obtained
  436.     with a value that is a multiple of 2048 bytes, since this is the size of a
  437.     typical hard disk cluster. 4096 seems to be a good number for me, although
  438.     a larger size will improve performance somewhat. If you find yourself
  439.     running out of memory when executing archivers or protocols, reduce this
  440.     number to increase your available memory. If no value is specified, the
  441.     disk buffer will default to 4096 bytes.
  442.  
  443. LOG_FILE
  444.     The complete path and filename of the log file for ROMProc to record
  445.     errors. Comment the line out if you don't want any disk error logging.
  446.  
  447. LOCK_LINES
  448.     If you want ROMProc to preserve two lines at the top or bottom of the local
  449.     display, enter TOP or BOTTOM as desired, otherwise, enter NONE or comment
  450.     the line out.
  451.  
  452. BBS_AD_FILE
  453.     The directory path and filename for your BBS ad to be inserted into each
  454.     and every archive processed by ROMProc. Note that you must provide a path,
  455.     or it will not be copied. I STRONGLY recommend against them; BBS ads are
  456.     aggravating to other sysops, so please be considerate and use the archive
  457.     comment instead. BBS ad files are the scourge of the BBS world. This
  458.     parameter is commented out by default.
  459.  
  460. COMMENT_ARC
  461.     If you want ROMProc to comment archives (if supported by the archive
  462.     format) enter YES. If not, enter NO or comment the line out. This is much
  463.     more desirable than inserting BBS ads.
  464.  
  465. DRIVE PROCESSING DEFINITIONS:
  466. ─────────────────────────────
  467. PROC_DRIVE
  468.     Specify the drive letters for file preprocessing (BBS ad insertion and/or
  469.     commenting). Any file requested from a non-specified drive will still be
  470.     tranmitted (unmodified) from the original location. This allows
  471.     preprocessing of certain drives (e.g. CD-ROMs), but not all. Drives may be
  472.     specified in ranges, seperated by a hyphen, and/or individual drives may be
  473.     seperated by spaces, commas or semi-colons. The following examples are all
  474.     valid, and will select drives letters C through J:
  475.         PROC_DRIVE C-J
  476.         PROC_DRIVE C D E F G H I J
  477.         PROC_DRIVE C-F G H-J
  478.         PROC_DRIVE C-F,G-I,J
  479.  
  480. LOCK_DRIVE
  481.     Specify the drive letters for locking, by entering the individual drives to
  482.     be locked, one physical drive per line. Ranges may be seperated by a
  483.     hyphen, and/or individual drives may be seperated by spaces, commas or
  484.     semi-colons. Note that you normally lock by physical drive; if you have
  485.     multiple logical drives per physical drive (e.g. a partitioned hard disk or
  486.     CD-ROM changer), list all the logical drive letters on the same LOCK_DRIVE
  487.     command line. Each LOCK_DRIVE line constitutes a single drive unit as far
  488.     as ROMProc is concerned. It is not required that all drives defined to be
  489.     processed be locked. In this example, drive D will be locked if accessed by
  490.     ROMProc and drives E-J will be locked if ROMProc accesses any drive from E
  491.     to J.
  492.         LOCK_DRIVE D
  493.         LOCK_DRIVE E-J
  494.  
  495. DELAY_TIME
  496.     This is the amount of time (in seconds) that ROMProc will wait for a drive
  497.     to unlock before displaying the text indicated by DELAY_PROMPT. I would
  498.     recommend a value of 5 to 10 seconds. If commented out, ROMProc will
  499.     default to 5 seconds.
  500.  
  501. ABORT_TIME
  502.     This is the amount of time (in seconds) that ROMProc will wait for a drive
  503.     to unlock. If this time is exceeded, ROMProc will abort the transfer. I
  504.     suggest that at least 10 seconds be given, more if you are using CD-ROM
  505.     changers and/or slow networks. If commented out, it will default to 30
  506.     seconds.
  507.  
  508. COMMUNICATION DEFINITIONS:
  509. ──────────────────────────
  510. COMM_IO
  511.     If you want ROMProc to output status information to the user on-line, enter
  512.     YES; if you do not want ROMProc to output information, enter NO or comment
  513.     the line out. Note that the -P and -S command line switches must be passed
  514.     for user status information to be generated by ROMProc. The output looks
  515.     similar to the following, depending upon the prompts selected:
  516.  
  517.         Please wait while preparing your files for download...
  518.             FILE1.ZIP...
  519.             FILE2.ZIP...
  520.             [ etc. ]
  521.         Preparation complete.  Begin your download now...
  522.  
  523. PROC_PROMPT
  524.     This line of text will be displayed to the user upon the start of download
  525.     file processing. It should be used to inform the user that it may take a
  526.     few moments to get the files ready. If more than a 80 character message is
  527.     desired, an external ASCII text file may be defined by setting this
  528.     parameter to a filespec preceeded by a '%' character. For example:
  529.         PROC_PROMPT %c:\romproc\prompt.txt
  530.  
  531. DL_PROMPT
  532.     This line of text will be displayed to the user upon the start of the
  533.     transfer protocol. It should be used to inform the user to start the
  534.     download on their end. If more than a 80 character message is desired, an
  535.     external ASCII text file may be defined by setting this parameter to a
  536.     filespec preceeded by a '%' character.
  537.  
  538. DELAY_PROMPT
  539.     This line of text will be displayed to the user if ROMProc waits for a
  540.     locked drive to unlock for the specified amount of time defined by
  541.     DELAY_TIME. An ASCII text file may also be defined for this parameter.
  542.  
  543. ABORT_PROMPT
  544.     This text will be displayed to the user if ROMProc waits for a locked drive
  545.     to unlock for the amount of time specified by ABORT_TIME, and the transfer
  546.     will be aborted at that time. An ASCII text file may be defined for this
  547.     parameter.
  548.  
  549. ARCHIVER DEFINITIONS:
  550. ─────────────────────
  551. Each archiver, is denoted by ARCHIVER x, where x is a sequential number. Up to
  552. 10 archivers can be executed by ROMproc. ROMProc is capable of automatically
  553. detecting ARC, ARJ, HYP, LZH, PAK, SQZ, ZIP and ZOO archives. The next 4
  554. keywords are required after the ARCHIVER statement; do not comment any of them
  555. out or insert other parameters or comments between them. I would also advise
  556. against changing the command options I have set, unless you have need to do so.
  557. Any other archiver can be added, if desired; the only requirement is that the
  558. archiver must return a DOS errorlevel so that ULP can determine if it ran
  559. properly. If you do not explicitly define the path to your archiver(s), it must
  560. in a directory included in the DOS PATH environment variable.
  561.     ARCHIVER    = denotes a new archiver definition.
  562.     ARC_EXT     = the extension for this particular archiving format.
  563.     ARC_ADD     = the command line to add files to an archive, including all
  564.                   command-line switches desired. Place the variable @ARCHIVE@
  565.                   where the filename is to be inserted in the command line and
  566.                   @FILE@ where the filespec is to be inserted.
  567.     ARC_COMMENT = the command line to comment archives, including all command-
  568.                   line switches desired. Place the variable @ARCHIVE@ where the
  569.                   filename is to be inserted in the command line. If the
  570.                   archive utility does not support commenting, leave this line
  571.                   blank.
  572.     ARC_ERR     = the errorlevel that the archiver returns upon success. This
  573.                   information should be available in the program's
  574.                   documentation.
  575.  
  576. PROTOCOL DEFINITIONS:
  577. ─────────────────────
  578. Each protocol, is denoted by PROTOCOL x, where x is the letter designating the
  579. protocol. Up to 15 protocols can be executed by ROMproc. The next keyword is
  580. required after the PROTOCOL statement; do not comment it out or insert other
  581. parameters or comments between them. I have configured most of the popular
  582. protocols, using the PCBoard default lettering scheme. If you do not explicitly
  583. define the path to your archiver(s), it must in a directory included in the DOS
  584. PATH environment variable.
  585.     PROTOCOL    = denotes a new protocol definition
  586.     PROT_SEND   = the command line to transmit the file(s) to remote, including
  587.                   all command-line switches desired. Place the following
  588.                   variables as needed for ROMProc to properly invoke the
  589.                   protocol.
  590.                   @PORT@     COM or FOSSIL port to be used by the protocol
  591.                   @SPEED@    COM port computer-to-modem speed (DTE)
  592.                   @CARRIER@  modem-to-modem carrier speed (DCE)
  593.                   @FILE@     File (or batch list file) to be downloaded
  594.                   @ULDIR@    path to upload directory for bi-directional
  595.                              protocols.
  596. * NOTE: For reference, the ROMProc command line parameters are mapped to the
  597.         protocol command line variables *exactly* as follows:
  598.         ROMProc Command Line Parameter      Protocol Command Line Varable
  599.                     -P                                @PORT@
  600.                     -X                                @PORT@
  601.                     -S                                @SPEED@
  602.                     -E                                @CARRIER@
  603.                     -F                                @FILE@
  604.                     -U                                @ULDIR@
  605.  
  606.  
  607. ┌──────────────┐
  608. │  9. Support  │
  609. └──────────────┘
  610.  
  611. If you require support for ROMProc, I can be contacted by any of the following
  612. means (the ULP Support conferences are available since I am the author for both
  613. programs):
  614.  
  615.     ∙ Fidonet netmail (node:  1:151/106)
  616.     ∙ Internet private mail to "stacy.smith@cencore.com"
  617.     ∙ Fidonet, ILink and Intelec PCBoard and Sysops conferences
  618.     ∙ My Support conference (#2 on my BBS) which is linked to the Salt Air
  619.       (PCBoard home system) ULP Support conference, as well as the Intelec,
  620.       SmartNet and CompuLink networks' ULP Support conferences.
  621.     ∙ The ILink ULP Support conference (separate and distinct, #3 on my BBS).
  622.     ∙ The RIME ULP Support conference (separate and distinct).
  623.  
  624.  
  625. ┌─────────────────────────────┐
  626. │  10. The Future of ROMProc  │
  627. └─────────────────────────────┘
  628.  
  629. ROMProc will be supported as long as I'm in the BBSing business (which will be
  630. quite a while...once it's in your blood, you can never shake it <g>). The
  631. ROMProc system will be continually expanding it's features, so get your
  632. comments in now! Some current plans:
  633.  
  634.       ∙ Add code enabling ROMProc to output status information to the remote
  635.         user for long batch processing on slow systems.
  636.       ∙ Any ideas from you guys? Thanks! <g>
  637.  
  638. If you have any other suggestions, contact me by U.S. snail-mail or on my BBS
  639. at the number at the top of this document.
  640.  
  641. Thanks for giving ROMProc a try!
  642.  
  643.  
  644. ┌────────────────────────────────┐
  645. │  Appendix A:  DOS Errorlevels  │
  646. └────────────────────────────────┘
  647.  
  648. The following is a list of the errorlevels than can be returned by ROMProc. The
  649. reason the successful execution errorlevel may not be zero is because ROMProc,
  650. upon error-free completion, returns the errorlevel of protocol, which makes
  651. ROMProc completely transparent to the BBS software.
  652.  
  653.         0           Successful execution (usually, depends on the protocol)
  654.         99          Help screen (executing a program with no or an
  655.                         insufficient number of arguments)
  656.         100         Could not close all open files
  657.         101         Invalid command-line parameter
  658.         102         Configuration file not found
  659.         103         No download file (or batch list file) specified
  660.         104         No transfer protocol specified
  661.         108         Invalid configuration file format (archiver definitions)
  662.         109         Invalid configuration file format (protocol definitions)
  663.         110         Unable to allocate heap memory
  664.         112         Invalid registration code
  665.         113         No work subdirectory specified
  666.         114         Invalid common subdirectory specified
  667.         117         Invalid node number
  668.         120         Archiver BBS advertisement insertion error
  669.         121         Archiver commenting error
  670.         122         Time out waiting for a slow drive to unlock
  671.         125         Communication system for online status failure
  672.         200         Undefined error (internal to ROMProc program)
  673.