home *** CD-ROM | disk | FTP | other *** search
- ; This portion of RXMD source generates no object code, and may be
- ; replaced by an empty file for assembly. It contains all credits,
- ; history, etc.
- ;
- ; --------------------------------------
- ; This is a development from KMD08, by Irv. Hoff. This version uses
- ; the facilities of BYERSX, rather than those of BYE502 or BYE339,
- ; and is intended to allow use as a replacement for MDM, MODEM, IMP,
- ; MEX, etc. This development was done by C.B. Falconer.
- ;
- ; Carrier checking is now under the control of BYERSX status. Delays,
- ; clockrate, baudrate are supplied by BYERSX calls. This facilitates
- ; use in hard-wired situations and avoids all installation. For BBS
- ; use BYERSX again supplies all values. Security provisions are in
- ; force whenever RXMD is operated remotely, as indicated by the
- ; BYERSX "remon" status bit, and can be over-ridden by the "whlbit".
- ;
- ; The batch mode protocol, as used in KMD08, supplies an initial
- ; header record #0, containing the ASCIIZ file name (in lower case)
- ; as the initial bytes, and bytes 126 and 127 contain the file
- ; length, in 128 byte records, as a low byte first integer. (This
- ; assumes 0 based indexing). All intermediate bytes are zeroed. I
- ; (C.B. Falconer) intend to define further fixed fields, from byte
- ; 125 down, for such things as exact byte count, time/date stamps,
- ; etc. to enable use as a universal protocol. BYERSX already has
- ; provisions for time and date interfaces.
- ;
- ; The name is intended to indicate that it operates under the BYERSX
- ; system, and to avoid confusion with its ancestors, XMODEM and KMD.
- ;
- ; Most of the following verbiage is taken directly from KMD08.
- ; --------------------------------------
- ;
- ; Introduction:
- ; ------------
- ; This program is designed to run in conjunction with BYERSX and gets
- ; all port, modem and console routines directly from the main BYERSX
- ; program. It also supports 1k transmissions to give more efficient
- ; file transfers at the faster baud rates. If too many errors occur
- ; due to poor conditions, the advantages of 1k protocol can quickly
- ; vanish. The program then automatically switches back to 128 byte
- ; groups. This ratio is set to optimum for 1200 bps with one value
- ; and another for 2400 bps. Other features include progress reporting
- ; messages to inform the SYSOP of the protocol being used, type of
- ; errors encountered and the ability to abort uploads or downloads
- ; with two consecutive CTL-X. The disk buffer is also filled when the
- ; send file is opened so it is immediately ready when the receiving
- ; system sends its protocol character. This speeds up downloads and
- ; increases the reliability. Batch mode has been added, giving this
- ; program tremendous versatility. For downloads, the total amount of
- ; time for all files is accumulated and displayed prior to starting
- ; - if this exceeds the allowable time set by the SYSOP, the download
- ; is aborted. A time clock is not needed to limit these downloads,
- ; as the time for each file is accumulated and compared against the
- ; original time allowed. The batch mode displays the length of each
- ; file being sent or received. This feature previously has been
- ; available only to users of the PRO-YAM MS-DOS modem program.
- ;
- ; Discussions were conducted with Ward Christensen relative to the
- ; automatic 1k protocol, which he likes and has endorsed. Manual
- ; protocol of course is available to remain compatible with YAM
- ; users. Ward suggested several other things he has been using on
- ; his CBBS system in Chicago since the first version of his protocol
- ; was developed. These have been incorporated into KMD and RXMD.
- ;
- ; KMD has been developed concurrently by Irv Hoff and Wayne Masters
- ; and is released free of charge to the public domain. Similarly
- ; RXMD is released by C.B. Falconer, provided that no charges are
- ; made for distribution, use, etc.
- ;
- ; ===================================================================
- ; Current changes. Move others down.
- ;
- ; 1.0.0 85/12/12 C.B. Falconer
- ; Initial release.
- ;
- ; ===================================================================
- ;
- ; Acknowledgements:
- ; ----------------
- ; KMD is based on previous programs called XMODEM. The original
- ; version of XMODEM was adapted for RCPM use by Keith Petersen from
- ; MODEM 2.0 by Ward Christensen. Numerous other programmers have
- ; contributed through the years prior to the work done in KMD. A few
- ; of those include Paul Hansknecht who wrote the CRC routines, Sigi
- ; Kluger who opened the way for the original overlay idea (which KMD
- ; and RXMD no longer need), Paul Traina and Irv Hoff and many other
- ; contributors whose names we have not been able to verify. Thanks
- ; to all who have helped to make these programs what they are today.
- ;
- ;
- ; Using 1k protocol:
- ; -----------------
- ; The 1k protocol used in RXMD is automatically triggered and is
- ; transparent to modem programs designed to utilize this feature.
- ; It also supports MEX114, YAM and PRO-YAM users who need to manually
- ; type 'SK' to the sending host unit for 1k transmissions. (YAM users
- ; need to be sure to use 'RC' at their end to be in CRC mode. Earlier
- ; PRO-YAM users may see an error at the beginning of an upload to a
- ; host unit when using 1k mode due to their noise burst detector
- ; - this has since been corrected with current PRO-YAM versions.)
- ; The program also supports the IMP modem program in both the manual
- ; mode like those previously mentioned as well as the KMD automatic
- ; mode where no operator intervention is needed.
- ;
- ; RXMD and KMD send a C and a K to alert modem programs capable of
- ; this protocol that it can automatically accept their 1k blocks.
- ; This has no effect on other modem programs as they stop looking
- ; when they see the 'C'. The KMD automatic feature is thus trans-
- ; parent to all users. This can be easily modified to send only one
- ; character after the 1k protocol is established as the normal
- ; operating preference. If no transfer has commenced after about 40
- ; seconds "NAK" is sent to inform the host that checksum can be
- ; accepted. All this is compatible with the original Christensen
- ; protocol to which CRC was added in 1981. One of the minor changes
- ; Ward has made since that time was to send the protocol character
- ; every two seconds instead of every 10 seconds. This initiates the
- ; start of the program transfer whenever the remote system is ready
- ; to send. After considerable testing with various modem programs,
- ; RXMD and KMD use a compromise and send the protocol character each
- ; 4 seconds until the upload is commenced.
- ;
- ; Selecting options:
- ; -----------------
- ; RXMD has NO options, other than the buffer size to be used. All
- ; configuration information is ascertained from BYERSX, including
- ; clock speeds, baud rates, stop bits, etc. The program dynamically
- ; re-configures itself when operated from a remote terminal, to
- ; impose security restrictions. These can be over-ridden by suitable
- ; password protected commands.
- ;
- ; There are no external overlays or inserts required for this program
- ; since all support code is located in BYERSX. The function keys in
- ; BYERSX will also work while this program is running.
- ;
- ; NOTE: This file assumes that anybody allowed to enter the CP/M
- ; data area is limited only in what he can upload or download
- ; by the restrictions of drive and user number and the time
- ; he is allowed to remain on the system. Files may also be
- ; "tagged" and RXMD will protect those from being downloaded.
- ; The file types COM, PCD, SYS, and PRL are automatically
- ; protected against download, as are files tagged by the F1
- ; or F2 bits, and those tagges as "SYS" files. Uploads of
- ; such file types are automatically renamed.
- ;
- ;
- ; -------------------------------------------------------------------
- ;
- ; This program allows a remote or local user to transfer files (to or
- ; from) RCPM systems or other systems. Files may be loaded to a
- ; specific user area, keeping all new programs in that one area. This
- ; aids the SYSOP as well as the remote user. If uploading a .COM
- ; file, it will be changed automatically to an .OBJ file in remote
- ; mode. This security feature prevents intentional uploading of
- ; programs that could be used to alter (or erase, etc.) those already
- ; present. "RP" may be used to upload files to a private area for
- ; SYSOP use only.
- ;
- ; At present the description feature of KMD is not included, but is
- ; planned using the chain facilities of BYERSX.
- ;
- ; If the WHEEL bit is set (for the SYSOP, etc.) files may be uploaded
- ; to any specified drv/user area, their filenames are unrestricted.
- ;
- ; Programs may be uploaded to a non-public area for the private use
- ; of the SYSOP. (Use "RP" or "RPC" for the private area.) It also
- ; allows private programs to be downloaded from a special area which
- ; gives the SYSOP the ability to make any person a temporary priv-
- ; ileged user. (A private note tells the person the name of the file.
- ; Others would be unaware such a file existed, ensuring excellent
- ; security.)
- ;
- ; Individual files from a library group may be downloaded. The
- ; library extent (.LBR) need not be included, in which case it is
- ; automatically added. Using library groups permits greater utiliza-
- ; tion of the available disk space, plus puts all associated files
- ; into one file. An example is shown in the menu.
- ;
- ; Many people have contributed greatly to the present program.
- ;
- ; - Notes by Irv Hoff and Wayne Masters, modified by C.B. Falconer
- ;
- ; * * * * * Revision history, LIFO order * * * * *
- ;
- ╔c