home *** CD-ROM | disk | FTP | other *** search
-
- Documentation for UUcoder Module V1.00
- --------------------------------------
-
- ********************** Incredibly boring Copyright Notice *********************
- * *
- * All program code is the copyright of Richard K. Lloyd and the 'borrowing' *
- * any part of it without the permission of the author is prohibited. *
- * *
- *******************************************************************************
-
- If you are passing on UUcoder to your friends, please include this
- short text file (which I've called UUcoderDoc).
-
- Installing UUcoder
- ------------------
-
- The UUcoder is installed by typing *UUcoder. If there isn't enough RMA
- workspace available, then the installation will fail. To remedy this, you can :
-
- 1) Type *GOS, which permits extra RMA space to be claimed because there is no
- application (e.g. BASIC) active or
-
- 2) *RMKILL or *RMCLEAR unwanted RAM-based modules or
-
- 3) *UNPLUG unwanted ROM-based modules or
-
- 4) Use *Configure RMASize to allocate more space to the RMA or
-
- If you still can't install the UUcoder after all that, then either you
- have inordinately large *Configure SpriteSize/ScreenSize etc. settings or you
- only have a 512K RAM A305, though God knows why you have - there's only 100K
- free after booting !
-
- So what does UUcoder do and why use it instead of someone else's version ?
- --------------------------------------------------------------------------
-
- *Help UUcoder will reveal a little about what the program does. UUcoder is a
- UUencoder/UUdecoder entirely written in ARM code for speed and convenience.
-
- I am now going to make the following bold claim :
- UUcoder is the fastest and best UUdecoder/UUencoder available.
- There, I said it !
-
- Speed tests
- -----------
-
- To back up the previous rash statement, here's a table of UUencode/UUdecode
- speeds for the three versions I know of on the Archimedes. The times are in
- seconds for a 40K binary file using an 800K moderately fragmented floppy.
-
- Program Size UUencode UUdecode Average Scaled
- ------- ---- -------- -------- ------- ------
- Hearsay C version 40K/31.5K 12.7 11.3 12.0 1.8
- BASIC UUcoder 1.00 (fast) 5K 129.0 191.2 160.1 23.5
- ARM UUcoder 1.00 (slow) 4.5K 28.9 26.5 27.7 4.1
- ARM UUcoder 1.00 (fast) 4.5K 6.5 7.1 6.8 1.0
-
- Figures are unavailable for the 'slow' version of the BASIC UUcoder because
- there's a bug in it ('String too long' - I'm not going to investigate it).
- So my program is nearly twice as fast as the Hearsay version in the best case !
- It is also smaller than any other version I know of and, dare I say it, has
- more features...
-
- The *UUencode command
- ---------------------
-
- Syntax: *UUencode <filename> [<options>]
-
- *UUencode takes the (usually binary) file specified and converts every 3 bytes
- of binary into 4 bytes of ASCII. The resulting conversion is saved in a file
- with the same core name as the input filename, but with an _uue extension.
- The ASCII format of UUencoded files is highly convenient for file transfers
- where the remote host can't cope with binary files. It is also more compact
- than plain hex and has a checksum byte at the end of each encoded line.
-
- The *UUdecode command
- ---------------------
-
- Syntax: *UUdecode <filename> [<options>]
-
- *UUdecode takes the previously UUencoded file specified and decodes it back
- into the original binary, saving the result in the file mentioned in the
- 'begin' header of the input file. The decoded file has the file type &FFD
- (Data), so you may need to set the correct file type (using *SetType) or
- load/exec addresses afterwards.
-
- Note: Many uuencoders/uudecoders don't bother with the checksum byte at the
- end of line. *UUdecode will not complain if there is no checksum at the end
- of line. HOWEVER, some uuencoders put a line sequence byte at the end of the
- line instead and *UUdecode WILL moan about this. There's not much I can do
- about this - I'd rather have the checksum than the line sequence byte anyday !
-
- The command parameters
- ----------------------
-
- <filename> : Maximum filename length of 23 characters. UUencoded lines must
- be less than 87 characters long (they are usually a maximum of
- 61 or 62 characters).
-
- <options> : If any of the options below are omitted, then the environmental
- variable 'UUcoder$Options' is read for the default values of the
- missing options. Use ~ to reverse the meaning of the option.
-
- Option Default Description
-
- F Off If on, forces overwriting of existing output file.
- If off, you are asked if you wish to overwrite it.
-
- Q Off If on, uses application workspace (&8000 onwards) to speed
- up the operation. If there is insufficient memory to do so,
- then the operation will be automatically switched off.
- Memory required = 19 * binary file length / 8.
- N.B. OS_Exit is called on completion if the Q option is on.
- If off, uses two open data files and reads/writes one byte
- at a time. This is much S L O W E R....
-
- V On If on, verbose mode is used whereby percentage completed
- will be displayed every 25th percentile and a '.' will be
- shown for every 1K of data processed.
- If off, the operation will be completely silent.
-
- Revision History of UUcoder
- ---------------------------
-
- BASIC version V1.00
- -------------------
-
- * Written in BASIC to test that the algorithm worked. Found a bug, but don't
- know what it is and I'm not going to fix it - all support for this version
- has now been dropped. The bug is NOT present in the ARM code version.
-
- ARM code module version 1.00
- ----------------------------
-
- * Written as a module - now (at least) 23 times faster (with the Q option on)
- than the BASIC version !
-
- Future Improvements to UUcoder V1.00
- ------------------------------------
-
- * Ho hum. All those lovely options, but I haven't coded support for wildcards
- yet ! V1.00 allows only a single file to be processed at a time - I shall
- work on wildcards, mark my words...
-
- * When wildcards are sorted out, a new C (for Confirm) option will be added.
-
- Where to find me to report bugs or improvements to the UUcoder
- --------------------------------------------------------------
-
- Snail Mail JANET e-mail
- ---------- ------------
- Richard K. Lloyd, rkl@uk.ac.liv.cs.mva
- 1, Banks Road,
- Lower Heswall,
- Wirral,
- Merseyside.
-
-