home *** CD-ROM | disk | FTP | other *** search
- ; CP4KER.ASM
- ; KERMIT - (Celtic for "FREE")
- ;
- ; This is the CP/M-80 implementation of the Columbia University
- ; KERMIT file transfer protocol.
- ;
- ; Version 4.0
- ;
- ; Copyright June 1981,1982,1983,1984
- ; Columbia University
- ;
- ; Originally written by Bill Catchings of the Columbia University Center for
- ; Computing Activities, 612 W. 115th St., New York, NY 10025.
- ;
- ; Contributions by Frank da Cruz, Daphne Tzoar, Bernie Eiben,
- ; Bruce Tanner, Nick Bush, Greg Small, Kimmo Laaksonen, Jeff Damens, and many
- ; others.
- ;
-
- ; This is the header for the system-independent portion of KERMIT, which
- ; consists of the following files (in this order):
- ; CP4KER.ASM - this file
- ; CP4DEF.ASM - definitions for both KERMIT and KERSYS
- ; CP4MIT.ASM - initialization, main loop, miscellaneous commands
- ; (BYE, EXIT, LOG, SET, SHOW, and STATUS)
- ; CP4PKT.ASM - the KERMIT protocol handler (SEND, RECEIVE, LOGOUT,
- ; and FINISH commands)
- ; CP4TT.ASM - the transparent commands (TRANSMIT, CONNECT)
- ; CP4CPM.ASM - CP/M commands (DIR, ERA)
- ; CP4WLD.ASM - the wildcard handler
- ; CP4CMD.ASM - the command parser
- ; CP4UTL.ASM - utility routines and data
- ;
- ; When building the system-independent part with M80 or MAC80, CP4KER
- ; INCLUDEs the other files; when building with LASM, each file LINKs to
- ; the next file.
- ;
- ; For now, the system-dependent routines are all in CP4SYS.ASM, with
- ; the actual configuration defined in CP4TYP.ASM.
- ;
- ; revision history (latest first):
- ; edit 3: February 10, 1985 (CJC)
- ; Update for v4.05; add "verno" so CP4UTL doesn't have to change
- ; just because some other module did.
- ;
- ; edit 2: September 10, 1984 (CJC)
- ; Update for v4.03.
- ;
- ; edit 1: July 27, 1984 (CJC)
- ; Created to allow assembly of Kermit by LASM as well as MAC80 and M80.
-
- verno EQU 05 ; minor version number
-
- ; Version 4.05 of Kermit consists of the following edit levels:
- ; cp4ker.asm edit 3
- ; cp4def.asm edit 4
- ; cp4mit.asm edit 8
- ; cp4pkt.asm edit 6
- ; cp4tt.asm edit 4
- ; cp4cpm.asm edit 3
- ; cp4wld.asm edit 3
- ; cp4cmd.asm edit 5
- ; cp4utl.asm edit 6
- ; cp4lnk.asm edit 5 (cp4lnk.asm is not assembled with cp4ker, but it
- ; defines the linkage area expected by cp4ker, and so must
- ; match the description in cp4utl.asm)
- ;
- ; Version 4.05 of Kermit has been tested with the following edit levels of
- ; the system-dependent files:
- ; cp4typ.asm edit 6
- ; cp4sys.asm edit 12
- ;
-
- FALSE equ 0
- TRUE equ NOT FALSE
-
- cp4ker equ TRUE ; building system-independent part
-
- ;
- ; Assembler type. Define the appropriate one TRUE, the rest FALSE. (We can't
- ; use ASM, because it cannot handle multiple input files)
- mac80 EQU FALSE ; For assembly via MAC80 cross-assembler.
- m80 EQU FALSE ; For assembly via Microsoft's M80.
- lasm EQU TRUE ; For assembly via LASM, a public-domain
- ; assembler.
- ;
- ; Get the other modules...
-
- IF lasm ; If we're linking, go on to the next file.
- LINK CP4DEF
- ENDIF;lasm
-
- ; If we're still here, we must be using M80 or MAC80. M80 doesn't
- ; like ENDs inside conditionals, but the END statement has to be
- ; in CP4UTL for LASM (otherwise, we'd need a file containing just an
- ; END statement). So, we leave off the IF m80 OR mac80 conditional
- ; that ought to be around these INCLUDEs. No problem until the next
- ; incompatible assembler comes along...
- INCLUDE CP4DEF.ASM ; definitions
- INCLUDE CP4MIT.ASM ; initialization, main loop, some commands
- INCLUDE CP4PKT.ASM ; KERMIT protocol handler
- INCLUDE CP4TT.ASM ; transparent communication handler
- INCLUDE CP4CPM.ASM ; CP/M command support (DIR, ERA)
- INCLUDE CP4WLD.ASM ; wildcard handler
- INCLUDE CP4CMD.ASM ; command parser
- INCLUDE CP4UTL.ASM ; Various utilities and data, and END [ToadHall]
- END ; MAC80 ignores END's in included files...
-