; UUDECODE.DOC VERS: 01.04 DATE: 06/10/87 TIME: 21:31 ; COPYRIGHT 1987 William P.N. Smith - Commercial use prohibited! ; ; documentation for Z-80 assembly UUDECODE submitted to public domain ; archives on SIMTEL20.ARPA 06/10/87 William P.N. Smith In order to just run the program, extract the file UUDECODE.COM from the library and call it up, giving it the name of the file to be decoded. ie: A> UUDECODE FOOBAR.UUE would decode the program named foobar.uue and recreate the binary file with the name it was encoded with. If you don't give it a file name, it will remind you of how it wants to be invoked. If a file of the same name already exists on the disk, you will be asked if you want to delete it. In order to fix bugs [not that there are any in _my_ code :+) ], add enhancements, or generally muck with the code, you will need to extract the UNCR23.COM program and all the .MZC files. Run UNCR23 to generate .MAC files, and use an assembler to rebuild the programs. I used the SLR assembler and linker, use with other assemblers and linkers will be left as an exercise for the student. Just on the off chance you do find a bug, have problems with the program, or if you make a worthwhile enhancement, please keep me up to date at the adress below. Known limitations: This program was written using already built and tested modules, and was not a large development effort on my part. In fact, it's only taken a couple of weeks from start to completion. In my 'haste', I left out some user friendly features that you may have become used to. I have (or could whip up) some of the missing modules if there's enough demand, but they aren't here, because I didn't consider them terribly important. 1) The program will not prompt you for the file name if you forget it, but will merely ask you to try again. 2) Wild cards are not supported. You must do a single file at a time. 3) There is no way to abort execution (short of resetting the machine). 4) There is no console indication of program progress. You will have to be content with the thrashing of disk heads, or rebuild IFILEOPS and OFILEOPS with DEBUG EQU TRUE. This will give you a single character of I/O for every 128 byte sector read or written. 5) Unanticipated UUDECODE protocol 'gotchas' may cause early termination of the program. The output file will be closed, though, so they may not be fatal. [Hey, there isn't a real protocol!] 6) While you do not have to strip off mail headers from the file, any line that starts with 'begin ' that _isn't_ the start of the uuencoded binary will really mung things up. 7) Don't expect a uuencode any time soon, it's not quite as easy to build, and I don't personally have much use for one. 8) Here's the biggie (sort of). This program was written in response to my personal needs, sparked by a request for a faster [Z80 assembly] UUDECODE program. If your computer is seriously compute bound with other UUDECODE programs, this one will be much faster. I have a rather large hard disk cache, and this assembly program runs about 7 times as fast as the PASCAL version available on SIMTEL20. Even greater speed increases would be obtained with a RAM disk. I haven't done any testing with RAM disks or more 'standard' hard disks, so I'd be interested in hearing your results. I have tried this on an 8 inch floppy system, and it took twice as long as the PASCAL version. This is due to my I/O scheme, which reads and writes 128 byte sectors. If you are compute bound, this program will help. If you are I/O bound, this program may actually hinder. Well, that's free software for you. As usual, feel free to make unlimited numbers of free copies and distribute them widely, but I retain all commercial rights, and my lawers will call on your lawers if you sell this or any of its' derivatives for a profit. Feedback is more than welcome: William P.N. Smith Waldingfield Road Hamilton, MA 01936-0150 Internet: w_smith@wookie.dec.com w_smith%wookie.dec.com@decwrl.dec.com USENET: {usenet backbone}!decwrl!wookie.dec.com!w_smith 06/10/87 WPNS