home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
d
/
darc100.zip
/
DARC.DOC
< prev
next >
Wrap
Text File
|
1993-02-13
|
34KB
|
649 lines
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.)