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--