[comp.os.cpm] Z-80 assembly UUDECODE is

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