[net.micro.cpm] XMODEM99 for RCPMs now available

W8SDZ@Simtel20.ARPA (10/28/84)

From:  Keith Petersen <W8SDZ@Simtel20.ARPA>

XMODEM99 (a version of MODEM for use by RCPM systems) is now available
from SIMTEL20:

Filename			Type	 Bytes	 CRC

Directory MICRO:<CPM.RCPM>
XMODEM99.AQM.1			COM	 60800  98A5H
XMODEM99.ASM.1			ASCII	 90258  46C0H
XMODEM99.DOC.1			ASCII	 10288  17A1H
XMODEM99.DQC.1			COM	  6912  D31CH

For those who can FTP ITS-binary files and already have XMODEM97:
XMDM9799.DQF.1			COM	 16896  3242H
which is a DIF file for use with SSED2 to make XMODEM99.ASM.

Here's the info on what's new in recent revisions:

	XMODEM99:

     MAJOR UPDATE/REVISION: SUBSTANTIAL RE-ORGANIZATION & CLEAN-UP
OF LOG FILE ROUTINES. (Which were originally written using SEQIO22
Macros, then disassembled apparently, resulting in very scattered
code that had lots of JMPs to JMPs and subroutines mixed in with
main routine code.. I separated routines and labled them so the code
is easier to read and eliminated unnecessary JMPs in the process.
This code is logically the same as the old code in XMODEM97, and it
seems to work fine, but it could be improved upon further.. This
log file code could be VASTLY simpler (using a single block buffer
is all that's needed) and more straight-forward and one of these days
I may re-write it, but it works for the most part and I have other
things to do so will attack that project later..)

     Other goodies/fixes in XMODEM99:

     Code added to support optional "access byte" (supported by
MBBS/MBYE) that will allow the sysop to restrict a particular user
from doing uploads or downloads. (Read comments in code for more
information. NOTE that this access byte is stored over a location
in MBYE "cold boot" table that is a JMP instruction when MBYE gets
loaded, but isn't used otherwise.)

     If SETAREA and SHOWK options are both enabled, XMODEM "help"
message (invoked by typing XMODEM without any option or filename,
or when an invalid option is given) will show not only the disk
and user area that files are uploaded to, it will also show the
available space (in kilobytes) available to accept uploads. (The
previous XMODEM wouldn't tell you until you went to upload and
then you'd have to abort if insufficient space is available. I
also used to use XMODEM (w/o option) to get upload area (to see
if space available before trying to upload the universe to an
Osborne 1 single density) and then typed a dummy DIR ?:X to see
space available.. Also hated sitting through entire XMODEM
help message when all I wanted to know was upload area.. So I
put in an option to allow ctrl-c/ctrl-k abort of error messages.)

     The log file will now show the appox. UPload times (it
used to always say "00") as well as the DOWNload times. Appox.
upload time is computed using the same algorithm used to calc-
ulate downloads, using file size/speed-determined constant.

     While I was at it, I cleaned up a few erroneous comments
and added a few of my own to hopefully clarify things a little.
(Some code that was in-line (such as KSHOW and FILTIM) are
now in routines because I used them in two places so made
them subroutines..) Hope you enjoy it.. Guess the next one
will have to be named XMDM-100 as XMODEM100 is too many char-
acters!!!)
				     -- Kim Levitt
					MBBS Headquarters RCP/M
					(213) 653-6398 (300/1200)
					(24 hrs unless in use)

	XMODEM98:

     Corrected nested IF-ENDIF problems which occurred when using
ASM.COM and TIMEON and/or LOGCAL set to NO. Reinserted SHOWHEX
option.				     -- Murray Simsolo

	XMODEM97:

     Support for systems using MBYE and/or MBBS and/or any other
BYE program that uses a WRTLOC to lock out hangups during up/downloads.
Improved console function checks and made conditional, fixed a bug in
error message for missing LASTCALR file.

	XMODEM96:

     EQUs no longer have colons, program is now 99% M80 compatible.
(let's keep it that way, folks!!!)

     If after 5 initial timeouts on RECEIVE no data is received,
XMODEM will switch to CHECKSUM mode. This helps both those who are
using a modem program incapable of CRC mode and those who are using
CRC mode for some reason and forgot to specify XMODEM RC. The number
of (mostly commercially oriented) people with modem programs that do
not support CRC mode is fairly large. Many people with only little
exposure to XMODEM transfers have no idea about CRC vs checksum
transfers and are quite frustrated when you tell them, "Oh, just type
XMODEM R FOO.BAR and you're in business!" and then it turns out to
just time out on them every time they try.

	XMODEM95:

     Recent feature - SYSOP can limit the length of time a user can
download. When a program is requested the user is told it is too long 
if it would take longer than the time allowed.

     Other recent features include addition of 2400, 4800, 9600 and
19200 ability. The program also tells the user how much free space is
available for when uploading a file.  (This value reads correctly when
used on CP/M + systems.)

--end--