home *** CD-ROM | disk | FTP | other *** search
-
- ___________________
-
- ZeriLink user guide
- ___________________
-
-
- User, please note
- =================
-
- ZeriLink is Freeware, i.e. it is free software.
-
- Copyright notice
- ================
-
- The copyright (c) of this program belongs to John Kortink. All rights are
- reserved.
-
- You may not change this program (except for documented configuration
- changes). You may not use any part of this program in any other program or
- product without my written approval. You may spread this program freely, but
- only in complete and unchanged form, and only against bare distribution costs
- (if any). This program is provided 'as is'. No fitness of this program for
- any particular purpose is implied. Using this program is entirely at your own
- risk.
-
-
- //
- //
- // Introduction
- //
- //
-
- ZeriLink provides a robust and fast (up to 800kB/sec) file transfer link
- between two Acorn machines, two IBM compatible machines, or one Acorn and one
- IBM compatible machine. ZeriLink's only requirement is that both machines
- have a parallel port that supports either ECP or PS/2 mode. Most Acorn and
- IBM compatible machines support at least one of these parallel port modes.
-
- ZeriLink has been developed on an Acorn RISC PC and a generic IBM compatible
- 'clone' PC. Both machines have a parallel port that supports both ECP and
- PS/2 modes. Apart from a successful link between a HP Vectra machine and my
- Acorn RISC PC, I currently don't know about other combinations that will
- work, so I cannot give definite guarantees that ZeriLink will work on your
- Acorn or IBM compatible machine(s). The Acorn RISC PC should work in either
- ECP or PS/2 mode. The Acorn A5000 and Acorn A4 will *probably* work in PS/2
- mode (but will not work in ECP mode). Once I get positive results from users
- I will compile a list of compatible machine types.
-
- The hardware side of the link simply consists of a suitably wired parallel
- cable, which is plugged into both machines' parallel port. The ZeriLink
- software provides convenient commands to transfer files between the two
- machines, across this cable.
-
- In the following, IBM compatible machines will mostly be referred to by 'IBM'
- and Acorn machines by 'Acorn'.
-
-
- //
- //
- // Hardware requirements
- //
- //
-
- Acorn
- -----
- - A parallel port with ECP or PS/2 support.
-
- IBM
- ---
- - A parallel port with ECP or PS/2 support.
- - An Intel 80386 or compatible processor.
- - An environment with DPMI memory management support.
-
- Additional
- ----------
- - A parallel cable wired to specifications. See below.
-
-
- //
- //
- // Using ZeriLink
- //
- //
-
- On an Acorn, the 'ZLink' module and its configuration file 'LinkConfig'
- should be installed, preferrably in the !Boot sequence. The 'ZLink' module
- provides the 'LinkT', 'LinkR' and 'LinkConfigure' *-commands. Acorn
- installation and use is discussed below.
-
- On an IBM, a configuration file called 'Link.CNF' and two executable files
- called 'LinkT.EXE' and 'LinkR.EXE' should be installed in one of the
- directories pointed to by the PATH system variable. IBM compatible
- installation and use is discussed below.
-
- It is important to note that the ZeriLink software is fully sufficient to
- link any one of three combinations of machine types (Acorn to IBM, Acorn to
- Acorn, or IBM to IBM). The 'receiver' software on a machine is capable of
- interpreting both 'native' files (which will be left untranslated) and
- 'foreign' files (which will be suitably translated to 'native' format). The
- 'transmitter' software simply sends its 'native' format only.
-
- The parallel cable which connects both sides' parallel port consists of a
- 'male 25 pin D' plug on both sides, and a multi-wire *SHIELDED* cable. The
- cable should be wired as follows (pin numbers are marked on the plugs) :
-
- Pin 1 (nSTROBE) <---> Pin 10 (nACK)
- Pin 2 (DATA 0) <---> Pin 2 (DATA 0)
- Pin 3 (DATA 1) <---> Pin 3 (DATA 1)
- Pin 4 (DATA 2) <---> Pin 4 (DATA 2)
- Pin 5 (DATA 3) <---> Pin 5 (DATA 3)
- Pin 6 (DATA 4) <---> Pin 6 (DATA 4)
- Pin 7 (DATA 5) <---> Pin 7 (DATA 5)
- Pin 8 (DATA 6) <---> Pin 8 (DATA 6)
- Pin 9 (DATA 7) <---> Pin 9 (DATA 7)
- Pin 10 (nACK) <---> Pin 1 (nSTROBE)
- Pin 11 (BUSY) <---> Pin 14 (nAUTOFD)
- Pin 12 (PE) <---> Pin 16 (nINIT)
- Pin 13 (SLCT) <---> Pin 17 (nSLCTIN)
- Pin 14 (nAUTOFD) <---> Pin 11 (BUSY)
- Pin 16 (nINIT) <---> Pin 12 (PE)
- Pin 17 (nSLCTIN) <---> Pin 13 (SLCT)
- * Pin 18 (0V) <---> Pin 18 (0V)
- * Pin 19 (0V) <---> Pin 19 (0V)
- * Pin 20 (0V) <---> Pin 20 (0V)
- * Pin 21 (0V) <---> Pin 21 (0V)
- * Pin 22 (0V) <---> Pin 22 (0V)
- * Pin 23 (0V) <---> Pin 23 (0V)
- * Pin 24 (0V) <---> Pin 24 (0V)
- Pin 25 (0V) <---> Pin 25 (0V)
-
- In addition, on each connector seperately, pin 13 (SLCT) should be connected
- to pin 15 (nERROR) by a short piece of wire.
-
- Connections marked with a * are not required, but they are recommended. In
- addition to these connections, the shielding wire should be soldered to the
- plug's metal on both sides (i.e. to the plug itself, not one of its pins).
-
- It is recommended to buy a prefabricated completely wired 'straight' parallel
- extension cable (i.e. pin 1 to pin 1, pin 2 to pin 2, ..., pin 25 to pin 25),
- and re-wire that to the specifications above. This saves a lot of soldering.
- Ensure that both sides of the prefabricated cable have 'male' plugs (i.e.
- plugs with pins, not holes), that the cable is shielded, and that the plugs
- can be opened for re-wiring (some cables have moulded plugs which cannot be
- opened).
-
-
- //
- //
- // The software on both sides
- //
- //
-
- The general ZeriLink tranfer concept is as follows :
-
- 1) The receiving side issues the 'LinkR' command.
- This starts waiting for a transmission from the other side.
- 2) The transmitting side issues the 'LinkT <filespec>...' command.
- This starts transmitting files, one after the other.
- 3) The transmitted files are received, interpreted and saved.
- 4) The transfer is terminated (LinkR exits, LinkT exits).
-
- The receiving side needs to issue 'LinkR' because ZeriLink software uses
- 'polled I/O', to make the fastest transfer speeds possible. ZeriLink achieves
- transfer speeds of up to 800kB/sec (ECP mode) or 200kB/sec (PS/2 mode), for
- large-ish files.
-
- When files are transmitted, all relevant information about the file is
- included and is retained (as well as possible) in the file on the other side.
- There are, however, restrictions, which will be discussed below. Also, file
- attributes are always ignored. This is because e.g. 'locked' or 'read only'
- files are usually a big pain to work with. If you really, really, really need
- to preserve file attributes, then archive the files at one end, transmit the
- archive, and unarchive the files at the other end.
-
- The ZeriLink software can be configured in a very flexible way, by means of a
- configuration file ('LinkConfig' (Acorn) and 'Link.CNF' (IBM) are examples of
- generally usable configuration files). The configuration of the ZeriLink
- software is discussed below (which options are available depends on whether
- the software runs on an Acorn or on an IBM). In general, the configuration
- file simply consists of a number of lines. If a line starts with a letter, it
- is a definition line (i.e. it contains configuration information), else it is
- a comment line (i.e. it is ignored). A definition line starts with a keyword,
- and is followed by one or more values. The relevance of each keyword and its
- possible values is discussed below. The example configuration files include
- detailed explanations of the keywords.
-
- The keyword 'Mode' is a general keyword. It selects either ECP (value 'ECP')
- or PS/2 (value 'BIDIR') mode. It is strongly recommended to first try the
- 'BIDIR' setting, and, when this works, the 'ECP' setting (if appropriate). If
- the 'BIDIR' setting does not work, the 'ECP' setting is also very unlikely to
- work. Conversely, if the 'ECP' setting works, the 'BIDIR' setting is very
- likely to work too.
-
- File data integrity is ensured by a CRC32 algorithm (32-bit Cyclic Redundancy
- Check). If the received file data fails this check, it is corrupted, and the
- file will be deleted. If the received file data passes this check, it is
- extremely unlikely that it is corrupted.
-
- Note that only leafnames of files are transmitted. Directory paths are
- discarded. All files on the receiving side are written to the current
- directory on that machine.
-
-
- //
- //
- // The software on the Acorn side
- //
- //
-
- Installation of two files is required. The 'ZLink' file is a module which
- should be loaded in your machine's !Boot sequence. The 'LinkConfig' file is a
- configuration file for 'ZLink', and should also be loaded, by ZLink, in your
- machine's !Boot sequence (using '*LinkConfigure LinkConfig'). E.g., in a
- typical installation, you would copy the 'ZLink' and 'LinkConfig' files to
- your $.!Boot directory, and add the following lines at some suitable place in
- your !Boot sequence :
-
- RMLoad <Boot$Dir>.ZLink
- LinkConfigure <Boot$Dir>.LinkConfig
-
- Alternatively, if you have a RISC PC, follow Acorn's guidelines on how to add
- modules and commands to the standard boot sequence (as I find Acorn's !Boot
- system cumbersome, I use my own !Boot sequence, so I can't help you there).
-
- The ZLink module provides three commands : *LinkR, *LinkT and *LinkConfigure.
- *LinkR needs no further explanation. '*LinkT <filespec>...' transmits all the
- files that match <filespec>. Wildcards may be used freely, and multiple
- filespecs may be given, seperated by spaces (e.g. '*LinkT $.A.B.C.* RAMFS:D*
- E*').
-
- When receiving 'Acorn' files, translations are as follows :
-
- - The leafname is scanned for characters that are illegal in Acorn
- leafnames (see the 'MapChar' configuration keyword). If any are found, they
- are replaced by the configured corresponding 'legal' leafname characters.
- - The leafname is then truncated, if needed, to a fixed number of characters
- (see the 'LeafLength' configuration keyword).
- - The file's attributes are ignored (and set to 'WRwr' instead).
- - All other file information is retained.
-
- The first two translations do not usually change the leafname, but are
- performed for safety and convenience reasons. In general, Acorn file
- information is fully retained, except for file attributes.
-
- When receiving 'DOS' files, translations are as follows :
-
- - The leafname is scanned for a known extension (see the 'ExtToType'
- configuration keyword). If no match is found, the leafname remains
- untouched and the Acorn filetype is set to a default (see the 'NoExtToType'
- configuration keyword). If a match is found, the extension, including the
- leading '.', is removed from the leafname, and the Acorn filetype is set to
- the configured corresponding filetype.
- - The leafname is then scanned for characters that are illegal in Acorn
- leafnames (see the 'MapChar' configuration keyword). If any are found, they
- are replaced by the configured corresponding 'legal' leafname characters.
- - The leafname is then truncated, if needed, to a fixed number of characters
- (see the 'LeafLength' configuration keyword).
- - The file's time stamp is translated to Acorn format, if possible.
- - The file's attributes are ignored (and set to 'WRwr' instead).
-
- The configuration file 'LinkConfig' contains example configuration settings
- and is self-explanatory when you have read the above.
-
-
- //
- //
- // The software on the IBM side
- //
- //
-
- Installation of three files is required. The 'LinkT.EXE' and 'LinkR.EXE'
- files are executable files and should reside in one of the directories
- specified in your PATH system variable, where they can be readily executed.
- The 'Link.CNF' configuration file should be put in the same directory. If you
- are running in an MSDOS environment that supports long filenames (e.g. an
- MSDOS box under Windows 95) you must set the system variable 'LFN' to 'Y'
- (e.g., add the line 'set LFN=Y' to your AUTOEXEC.BAT file). Failing to do
- this will give the usual troubles with long filenames being truncated to
- something like 'BLAHBL~1', etc..
-
- Rather obviously, the 'LinkT.EXE' executable provides the 'LinkT' command,
- and the 'LinkR.EXE' executable provides the 'LinkR' command. 'LinkT
- <filespec>...' transmits all the files that match <filespec>. Wildcards may
- be used freely, and multiple filespecs may be given, seperated by spaces
- (e.g. 'LinkT C:\A\B\C\*.* D:\D*.* E*.*').
-
- When receiving 'DOS' files, translations are as follows :
-
- - The leafname is scanned for characters that are illegal in DOS leafnames
- (see the 'MapChar' configuration keyword). If any are found, they are
- replaced by the configured corresponding 'legal' leafname characters.
- - The leafname is then truncated, if needed, to a fixed number of characters
- (see the 'LeafLength' configuration keyword).
- - The file's attributes are ignored (and set to 'A' instead).
- - All other file information is retained.
-
- The first two translations do not usually change the leafname, but are
- performed for safety and convenience reasons. In general, DOS file
- information is fully retained, except for file attributes.
-
- When receiving 'Acorn' files, translations are as follows :
-
- - The leafname is scanned for characters that are illegal in DOS leafnames
- (see the 'MapChar' configuration keyword). If any are found, they are
- replaced by the configured corresponding 'legal' leafname characters.
- - Then the Acorn filetype, if present, is looked up (see the 'TypeToExt'
- configuration keyword). If no match is found, the leafname remains
- untouched. If a match is found, the configured corresponding extension is
- appended to the leafname, including a leading '.'.
- - The leafname is then truncated, if needed, to a fixed number of characters
- (see the 'LeafLength' configuration keyword).
- - The file's time stamp, if present, is translated to DOS format, if
- possible.
- - The file's attributes are ignored (and set to 'A' instead).
-
- The configuration file 'Link.CNF' contains example configuration settings and
- is self-explanatory when you have read the above.
-
- The 'LinkPort' configuration keyword enables configuration of the parallel
- port to be used. The value needs to be the port number of the parallel port
- which is to be used by ZeriLink (either 278, 378 or 3BC). Consult your
- hardware documentation and BIOS settings to find out what port number to use,
- and ensure that the port has its ECP ('Extended Capabilities Port') and/or
- PS/2 ('bidirectional') support enabled. This is very important.
-
-
- //
- //
- // Epilogue
- //
- //
-
- Updates of ZeriLink will be made available by (in order of preference) :
-
- - World Wide Web, on www.inter.nl.net/users/J.Kortink.
- - Electronic mail, to kortink@inter.nl.net.
- - Snail mail, to : John Kortink, Nutterbrink 31, 7544 WJ Enschede, The
- Netherlands. Include a DD or HD floppy, return envelope and one
- International Reply Coupon (IRC).
-
-