home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
MODEMS
/
MODEM
/
CP405SRC.ARK
/
CP4KER.ASM
< prev
next >
Wrap
Assembly Source File
|
1986-12-25
|
4KB
|
108 lines
; 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...