w_smith@wookie.DEC.COM (Willie Smith, LTN Components Eng.) (06/06/87)
I just (moments ago) finished the Z-80 assembly version of UUDECODE. Thanks to all those who sent me mail, I was unable to reply due to problems finding paths back to you. A few questions still remain however: 1) What on earth is the 'mode' number? That's the number that shows up between "begin" and the filename on the header line of a UUENCODEd file. I'm just ignoring it, is that safe? 2) The Eunichs online 'manual' claims that "the body is terminated by a line with a count of zero. This line consists of one ASCII space." However, the UUENCODE I got from SIMTEL20 does not conform to this, but rather sticks a "`" (60H) into the file, which being an out of band character, I guess is supposed to signal something. Which is right? I'm currently calling it an error and closing the file properly (which works), but this makes me nervous.... 3) The online 'manual' says that each line can be up to 62 characters long, including the trailing newline. What is meant by 'newline'? Is it CR, or LF, or both, or what? 4) Is there a real honest-to-gloz protocol definition out there somewhere that someone could send me? Please don't tell me to RTFM, the nearest Eunichs machine is miles away, and I can only talk to it thru our network. 5) I find that my program tends to stick on a final sector full of NULL bytes. This causes strange things to happen with CRC checking. How can I get the total byte count of the output file by looking at the UUENCODEd file? I suspect that this may go away when I figure out what the 'right' way of terminating the file is. Teaser: Once I get all this info together, I can write the encoder and submit them both to SIMTEL20. The decoder seems to run about 7 times as fast as the PASCAL version that's floating around [your milage may vary, I have a hard disk cache...]. The size of the decoder executable is 3.125 K bytes, less than one third the size of the PASCAL version. Anyone want to be a Beta test site? Willie Smith w_smith@wookie.dec.com w_smith%wookie.dec.com@decwrl.dec.com {usenet backbone}!decwrl!wookie.dec.com!w_smith