home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
- DARC : Download ARchive Converter
- (previously known as DSZX)
-
- Version 1.00 beta
- (c)1993 All Rights Reserved
- By Daniel Mecklenburg
-
-
- Introduction
- ------------
-
- DARC is a program that operates as a shell around
- external protocols. It's purpose is to allow users to
- convert any archives that they are downloading to
- another format. The reason that this utility was
- developed was so:
-
- 1) Users would not need to have an un-archiving utility
- for every possible format available.
-
- 2) Allow users to convert archives to a format that they
- can only use. Some archiving utilities are not
- available for all machines. There is no ARJ utility yet
- for the Macintosh or OS/2 for example. The need was
- obvious when Macintosh users wanted to get TrackBlaster
- .MOD files which I had ARJed to save room on the BBS's
- hard drive. This allowed them to get the files without
- there being two copied of it.
-
- The BBS calls DARC the same manner that it calls external
- protocols. This was done to keep the confiuration and
- installation down to a bare minimum. Seeing a lot of
- programs and utilities available for BBS's requiring
- much work in setting it up, I determined that the
- easier the installation, the better. Most of the
- options that will ever be needed are already included
- in DARC. Simply delete the ones you don't wish to use.
-
- DARC will only work for downloading (sending) files to
- users. DARC will work with amost any external protocol
- that BBS's may use. All that DARC needs to know about
- the external protocol is how to find the communications
- port number from the command line.
-
- DARC will only work with BBS's running a fossil driver
- such as BNU or X00. Later additions may support non-
- fossiled systems.
-
- DARC is copyrighted software. It is also shareware. You
- may use DARC for a trial period of no more than 3
- months after which point you may either register it for
- a small fee of $10.00 or stop using it. $10 is not a
- whole lot to ask for the amount of work that went into
- this baby. All the functions and routines were designed
- and tested by ME.
-
- Registered copies of DARC allow the users some advanced
- options. The unregistered version is by no means
- incomplete or crippled. It works just fine with the
- exception of "special features" which were only added
- to enhance it operation (custom menues/comment adding).
-
- Daniel Mecklenburg can not be held responsible for and
- damage that DARC may have caused to either files
- located on the machine that DARC is installed on or
- hardware on the machine in which DARC is installed on.
- DARC is offered "as-is".
-
- Packing list
- ------------
-
- This copy of DARC should include the following files:
-
- DARC.EXE The main executable.
- DARCINS.EXE The configuration program.
- DARC.CFG Configuration file for DARC.
- DARC.ANS Sample ANSI menu for registered version.
- DARC.TXT Sample text menu for registered version.
- DARC.DOC The document you are reading now.
- DARC.REG Registation form for DARC.
- FILE_ID.DIZ Description for DARC.
-
- The size, date, time, and CRC32 values for these files are
- as follows:
-
- Filename Size Date Time CRC32
- --------------- ------- --------- --------- ---------
- DARC.EXE 99625 93-02-13 01:55:22 0DF2DBCB
- DARCINS.EXE 91978 93-02-12 23:59:58 689F8318
- DARC.CFG 3040 93-02-12 23:59:58 3AF12090
- DARC.ANS 1669 93-02-12 23:59:58 042FB4B9
- DARC.TXT 924 93-02-12 23:59:58 D642AC62
- DARC.DOC 34478 93-02-13 02:17:48 7FEFDD75
- DARC.REG 2690 93-02-12 23:59:58 AA499CE7
- FILE_ID.DIZ 786 93-02-12 23:59:58 F40AF4FB
-
- If any file is missing from the above list or there are
- extra files, please do not use it. It may be an illegal
- or hacked version. Also notify Daniel Mecklenburg of
- any "illegal copies" of DARC.
-
- Obtaining DARC
- --------------
-
- If you want a recent copy of DARC, you may optain it at
- Non-Sequitur BBS, (802)476-6542 or you may file request
- it over FidoNet from 1:325/608, or over DoorNet from
- 75:7802/1, with the magic filename DARC.
-
- Installing
- ----------
-
- One of the things taken into account for DARC when it was
- under developement was ease of installation. The
- following steps should work with ALL BBS's that use
- external upload/download protocols configurable by the
- sysop.
-
- 1. Unarchive DARC###.??? into the same directory which
- your external protocols reside (where ### is the
- current version being installed and ??? is the
- extension of the archive containing DARC).
-
- 2. Run DARCINS. Enter all information that is required
- for you use. Check the protocols and archives menus. If
- you are not using (or going to support) one of the ones
- that appear, remove it. You may also edit DARC.CFG
- manually with an text editor (see the descriptions of
- it's contents below). Be sure that DARC.CFG resides in
- DOS's path (see PATH command in your DOS manual).
-
- 3. Change your BBS's download configuration for both
- batch download and single file download so that the
- command executed is DARC instead of the external
- protocol. Be certain the the protocol being called is
- defined in the DARC.CFG file. Here is a sample of
- before and after of a download command line:
-
- Before:
- dsz port <port#> sz -m @<file>
-
- After:
- darc dsz port <port#> sz -m @<file>
-
- Before:
- hslink -p<port#> @<file>
-
- After:
- darc hslink -p<port#> @<file>
-
- Note: All external protocols that DARC support must
- specify the files for download in the following
- formats:
-
- <file>
- @<file containing list of files>
-
- Only one file can be specified at a time. If the
- external protocol needs:
-
- <file> <file> ...
-
- then do not configure DARC to run with this protocol.
-
- 4. Also if you could edit the little message that says
- "Start download now or press <ctrl-x> several times to
- abort" (or somthing similar). DARC will send it's own.
- If you can't clear this message on your board, you may
- wish to use the ClearScreen command in the DARC.CFG
- file (see below). Also see the IgnoreFile command
- below.
-
- Commands
- --------
-
- The commands that you'll find in the DARC.CFG file are
- listed below. The commands followed by a "*" are only
- available in the registered version of DARC. These
- enhanced commands do not make DARC crippled in anyway.
- They were added to "jazz-up" DARC.
-
- AnsiMenu * Ident
- ArcCmd IgnoreFile
- ArcComment InputColor *
- ArrowColor * Key *
- BannerColor * LineColor *
- BBS * OptionColor *
- ClearScreen PromptColor *
- CommandColor * SysOp *
- CommentCmd * Recurse
- CommentColor * TempPath
- Creates TestCmd
- DefineArc TxtMenu *
- DefineProtocol UnArcCmd
- DetectWait UseAnsi *
- FilenameColor * WorkPath
- FileOtherColor *
-
- BBS *
- Syntax: BBS = <board name>
- Example:BBS = Any Old Board
- Description: This command is used to tell DARC who it
- is registered to. If your copy of DARC is
- unregistered, this command will have no effect on
- the operation of DARC. <board name> must me on the
- same line as the BBS command and must be no longer
- than 32 characters in length.
-
- SysOp *
- Syntax: SysOp = <sysop's name>
- Example:SysOp = James Elmer Holagan
- Description: This command is used to tell DARC who
- what BBS it is registered to. If your copy of DARC
- is unregistered, this command will have no effect on
- the operation of DARC. <sysop's name> must be on the
- same line as the SysOp command and must be no longer
- than 32 characters in length
-
- Key *
- Syntax: Key = <registration key>
- Example:Key = ABCDEFGHIJKL
- Description: This command defines the registration
- key for your copy of DARC. If your copy of DARC is
- unregisters and you enter an incorrect registration
- code, DARC will not run at all. <registration key>
- must be on the same line as the Key command.
-
- TempPath
- Syntax: TempPath = <path to temp area>
- Example:TempPath = C:\BBS\DARCTEMP\
- Description: This command defines the path to the
- temporary directory where archives are to be
- reconverted for download. This directory does not
- have to exist. DARC creates it and then removes it
- after it is through. DO NOT HAVE THIS POINT TO A
- DIRECTORY THAT HAS FILES IN IT THAT YOU WANT TO
- KEEP!!!! The directory gets wiped out and removed as
- part of DARC's cleanup routine upon exiting.
-
- UseAnsi *
- Syntax: UseAnsi
- Example:UseAnsi
- Description: This command determines if DARC will
- auto-detect the user for ANSI capibility. If DARC is
- either unregistered or this line is missing, DARC
- will use standard TTY output for menues and prompts.
- There are no parameters for this command. It will
- appear on a line all by itself.
-
- DetectWait
- Syntax: DetectWait = <seconds>
- Example:DetectWait = 15
- Description: This command determines if DARC will
- timeout after the specified number of seconds and go
- ahead and send the requested files without
- rearchiving them. This is useful when users forget
- or are unaware that DARC is being used and proceed
- with download.
-
- WorkPath
- Syntax: WorkPath = <path to work area>
- Example:WorkPath = C:\BBS\DARCWORK\
- Description: This command defines the path to the
- temporary directory where archives are reconstructed
- for download in. This directory does not have to
- exist. DARC creates it and then removes it after it
- is through. DO NOT HAVE THIS POINT TO A DIRECTORY
- THAT HAS FILES IN IT THAT YOU WANT TO KEEP!!!! The
- directory gets wiped out and removed as part of
- DARC's cleanup routine upon exiting.
-
- DefineArc
- Syntax: DefineArc = <archive tag>
- Example:DefineArc = ZIP
- Description: This command defines the start of a
- archive definition. The archiveing commands between
- this line and the next DefineArc command pertain to
- this Archiver. The <archive tag> must be no longer
- than three characters in length, must appear on the
- same line as the DefineArc command and is equal to
- the file extension of the archives created by this
- archive. For example, the <archive tag> for the
- archive definition for PKZip would be ZIP. Note: All
- archive programs that DARC calls must either be in
- the enviroments PATH= or the full path must be
- specified when defining the command line structure
- for the archive.
-
- ArcComment
- Syntax: ArcComment = <archive comment>
- Example:ArcComment = PKZip/Unzip v1.10 by PKWare.
- Description: This command defines the description
- that will be used by the menu generated by DARC. If
- you are running a registered copy of DARC and are
- using external menues, this command will have no
- effect (other than documentation of your DARC.CFG
- file). <archive comment> must appear on the same
- line as the ArcComment command and be 64 characters
- in length or less.
-
- Ident
- Syntax: Ident = <position>,<identification string>
- Example:Ident = 0,504B0304
- Description: This command defines the identification
- string used to tell if a file is an archive when its
- extension does not match a archive tag as described
- by the DefineArc command. This follows the format
- used my Maximus / Squish Compress.Cfg file. The
- position is where to start matching the string. If
- the position is positive then the string begins that
- many bytes into the start of the file. If position
- is negative, then the string is located that many
- bytes in from the end of the file. The
- identification string is a hexidecimal string that
- is used to match with what is inside the archive
- file at the defined position. (See Appendix A for a
- list of commonly (and uncommonly) used ident codes
- for various archivers.)
-
- UnArcCmd
- Syntax: UnArcCmd = <unarchive command1>[|
- <unarchive command2>[|
- ...]]
- Example: UnArcCmd = PKUNZIP -d [FILE].[EXT]
- Description: This command defines exactly how to
- unarchive files from the currently defined archiver.
- (See command defintion sytax below for more
- information on command line syntax.) If this command
- is missing from an archive deininition, the archive
- type cannot be unarchived to create another type.
- Examples of this are EXEs (self-extracting archives)
- or types which cannot be undone.
-
- ArcCmd
- Syntax: ArcCmd = <archive command1>[|
- <archive command2>[|
- ...]]
- Example:ArcCmd = PKZIP -a [FILE].[EXT]
- Description: This command defines exactly how the
- archiver being defined creates / adds files to it's
- archives. (See command definition syntax below for
- more information on command line syntax.) If this
- command is missing from the achive definition, the
- arcive can only be be unextracted. This is useful
- for converting JPGs to GIFs or converting GIFs to
- JPGs. Also for archive utilities that can only
- unarchive (like extracting Unix .Z type archives or
- Macintosh .SIT archives). If this command is missing
- and the Creates command (see below) is present. The
- File extracted cannot be rearchived but rather is
- sent in its unarchived form. There can only be only
- file created by the unarchiver and it must be the
- same filename (except for the file extension) as
- it's archive.
-
- TestCmd
- Syntax: TestCmd = <test archive command1>[|
- <test archive command2>[|
- ...]]
- Example:TestCmd = PKUNZIP -t [FILE].[EXT]
- Description: This command defines exactly how the
- archiver being defined tests files in its archives
- for validity. (See command definition syntax below
- for more information on command line syntax.)
-
- CommentCmd *
- Syntax: CommentCmd = <comment archive command1>[|
- <comment archive command2>[|
- ...]]
- Example:CommentCmd = PKZIP -c \[FILE].[EXT]
- <c:\menus\arccmnt.txt
- Description: This command defines exactly how to add
- an archive comment to the newly created archive that
- is currently being defined. (See command definition
- syntax below for more information on command line
- syntax.)
-
- Creates
- Syntax: Creates = <file extension>
- Example:Creates = GIF
- Description: This command will tell DARC what type of
- file the unarciver only will create. This is used in
- unarchivers like JPG2GIF.
-
- TxtMenu *
- Syntax: TxtMenu = <path and file of text menu>
- Example:TxtMenu = C:\BBS\DSZX.TXT
- Description: This command will allow DARC to use an
- alternate menu instead of the default one generated.
- This menu file is only sent to non-ansi users or if
- the UseAnsi command is not used and DARC is
- unregistered.
-
- AnsiMenu *
- Syntax: AnsiMenu = <path and file of ansi menu>
- Example:AnsiMenu = C:\BBS\DSZX.ANS
- Description: This command will allow DARC to use an
- alternate menu instead of the default one generated.
- This menu file is only sent to ansi users and if the
- UseAnsi command is used and DARC is unregistered.
-
- Recurse
- Syntax: Recurse
- Example: Recurse
- Description: This command will allow DARC to rearchive
- all archive files located inside of archive files.
-
- ArrorColor *
- Syntax: ArrowColor = <color>
- Example:ArrorColor = Blue
- Description: This is the color of the arrow that
- appears between the filenames as rearchiving is
- taking place.
-
- FilenameColor *
- Syntax: FilenameColor = <color>
- Example:FilenameColor = Blue
- Description: This is the color of the filenames that
- are displayed as DARC is rearchiving the files.
-
- FileOtherColor *
- Syntax: FileOtherColor = <color>
- Example:FileOtherColor = Blue
- Description: This is the color of the <Skipped> and
- other such messages that appear after arrows while
- rearchiving files.
-
- CommandColor *
- Syntax: CommandColor = <color>
- Example:CommandColor = Blue
- Description: This is the color of the Initializing,
- Unarchiving, and other such messages that appear
- after the filenames and arrow while DARC is
- rearchiving files.
-
- PromptColor *
- Syntax: PromptColor = <color>
- Example:PromptColor = Blue
- Description: This is the color of the prompts that
- are sent to users (Option> and Y/N's).
-
- InputColor *
- Syntax: InputColor = <color>
- Example:InputColor = Blue
- Description: This is the color the information
- entered by the user will appear in.
-
- BannerColor *
- Syntax: BannerColor = <color>
- Example:BannerColor = Blue
- Description: This is the color of the program name,
- copyright notice and the registration information.
-
- CommentColor *
- Syntax: CommentColor = <color>
- Example:CommentColor = Blue
- Description: This is the color of comments for the
- archives that appear in the default ANSI menu. If
- you are using an external ANSI menu, this has no
- effect.
-
- OptionColor *
- Syntax: OptionColor = <color>
- Example:OptionColor = Blue
- Description: This is the color of the options for the
- archives that appear in the default ANSI menu. If
- you are using an external ANSI menu, this has no
- effect.
-
- LineColor *
- Syntax: LineColor = <color>
- Example:LineColor = Blue
- Description: This is the color of the line that
- appear between the options and option descriptions
- in the default ANSI menu. If you are using an
- external ANSI menu, this has no effect.
-
- ClearScreen
- Syntax: ClearScreen
- Description: This command will tell DARC to clear the
- screen upon entry. Reason that this would be handy
- would be for boards that don't allow for the removal
- of the "Start download now or press <crtl-x> several
- times to abort" message. This will erase this
- message before the user gets to see it (hopefully).
-
- DefineProtocol
- Syntax: DefineProtocol = <protocol> <parameters>
- Example:DefineProtocol = DSZ port [PORT]
- Description: DefineProtocol will tell DARC what
- external protocol to call. It will also tells DARC
- how to extract the port number from the external
- protocols command line. The parameters are one or
- more strings that DARC will attempt to match. One of
- them must contain the string [PORT]. This will be
- where DARC will obtain the port number from.
-
- IgnoreFile
- Syntax: IgnoreFile = <Ext1> [<Ext2> ...]
- Example:IgnoreFile = QWK SDN
- Description: This command will tell DARC to ignore
- any files that end with these extensions and go
- ahead and send them without attempting to convert
- them. This option has been added for systems that
- support built in offline readers and other such
- options. If ALL files requested for download have
- these extensions, DARC will not display anything and
- will jump to the download protocol directly without
- even writting anything to the screen.
-
- Archive command syntax: The following commands have
- special rules when it comes to how they appear in the
- config file and how they operate: UnArcCmd, ArcCmd,
- TestCmd, and CommentCmd. There are two special
- character strings that appear in the command definition
- line these are:
-
- [FILE] : This will be replaced with the filename of the
- archive that is being converted.
-
- [EXT] : This will be replaced with the file extension
- of the original archive file. For example if DSZX is
- converting a file from FOOBAR.ZIP to FOOBAR.ARJ,
- [EXT] would be equal to ZIP.
-
- Color command syntax: The following commands cause text
- to be sent to the user (when ANSI is active on
- registered versions of DSZX) in a specific color:
- ArrowColor, FilenameColor, FileOtherColor,
- CommandColor, PromptColor, InputColor, BannerColor,
- CommentColor, OptionColor, and LineColor. The following
- colors must be used be used:
-
- Red Green Brown
- Blue Magenta Cyan
- LtGrey Grey LtRed
- LtGreen Yellow LtBlue
- LtMagenta LtCyan White
-
- Protocol syntax: The DefineProtocol command describes how
- DARC will obtain the port number from the external
- protocols command line. Some examples of these are:
-
- DefineProtocol = AMODEM -p[PORT]
-
- AMODEM is the external protocol program that will be
- executed.
-
- -p[PORT] is the switch which define which port the
- external protocol AMODEM will use to send the files.
-
-
- Appendix A : Ident codes
- ------------------------
-
- What follows is a compilation of compression utilities for
- MS-DOS machines and their ident codes used by DARC.
-
- Format Ident code
- ------ -------------
- Arc 0,1A
- Arj 0,60EA
- Dwc -3,445743
- Ice 2,2D6C68312D
- Lzh 2,2D6C68
- Pak -2,FE
- Sqz 0,484C53515A
- Zip 0,504B0304
- Zoo 0,5A4F4F
-
- If you happen across any archive utility that is not listed
- above, I'd be interested in it (sort of a hobby of mine -
- compressor collector).
-
- Appendix B : Maximums
- ---------------------
-
- These are the maximum number of various settings for
- DARC:
-
- Number of Archivers 15 archivers
- Command lines (ArcCmd, etc.) 4 lines
- Command line lengths 80 characters
- Extension lengths (ZIP, etc.) 3 characters
- Archive description lengths 64 characters
- Number of files to download 64 files
- Number of external protocols 36 protocols
- Number of parameters per protocol 16 parameters
- Number of IgnoreFiles 8 extensions *
-
- * Will be increased in next release.
-
- Appendix C : History
- --------------------
-
- Version 0.07 beta - January 6, 1993
- * First released for beta testing.
-
- Version 0.08 beta - January 9, 1993
- * Check communications output buffer before sending
- text.
- * Hid the system calls info and added the red popup
- window.
- * Fixed the reporting of "Verifying" and "Commenting"
- when archive type didn't have one defined.
- * Added color customization commands
- * Fixed the recursive rearchiving "Done." bug.
- * Fixed the unarchive only text output bug.
- * Added the ClearScreen command.
-
- Version 0.09 beta - January 17, 1993
- * Fixed INT 10h redirect bug.
- * Added external protocol definitions command
- DefineProtocol.
- * Added the IgnoreFile command
- * Uses much less memory to run.
- * Fixed the custom menu cr/lf bug. (Yahoo!)
-
- Version 0.10 beta - February 1, 1993
- * Changed name to DARC from DSZX.
- * Added DARCINS: DARC installation / configuration
- program.
- * Simplified the external protocol set-up
- * Fixed the custom menu bug. (Different bug.)
- * Added ability to recognize archive file with
- different extensions.
- * Added the time out for rearchiving selection.
- * Corrected the really nasty IgnoreFiles bug. (My
- apologies to SS Explorer BBS in Titusville, Fl)
-
- Version 1.00 beta - February 12, 1993
- * Major rework of code.
- * Added ability to extract only for creation of new
- archives (XARC -> ZIP for example)
- * Fixed ability to recognize archives inside archives
- during recursive conversion.
-
- Version 1.01 ???? - early 1993
- * Non-fossil capibility.
- * More IgnoreFiles capibility.
- * Public release? (hopefully.)
-