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 >
Assembly Source File  |  1986-12-25  |  4KB  |  108 lines

  1. ; CP4KER.ASM
  2. ;    KERMIT - (Celtic for "FREE")
  3. ;
  4. ;    This is the CP/M-80 implementation of the Columbia University
  5. ;    KERMIT file transfer protocol.
  6. ;
  7. ;    Version 4.0
  8. ;
  9. ;    Copyright June 1981,1982,1983,1984
  10. ;    Columbia University
  11. ;
  12. ; Originally written by Bill Catchings of the Columbia University Center for
  13. ; Computing Activities, 612 W. 115th St., New York, NY 10025.
  14. ;
  15. ; Contributions by Frank da Cruz, Daphne Tzoar, Bernie Eiben,
  16. ; Bruce Tanner, Nick Bush, Greg Small, Kimmo Laaksonen, Jeff Damens, and many
  17. ; others. 
  18. ;
  19.  
  20. ; This is the header for the system-independent portion of KERMIT, which
  21. ; consists of the following files (in this order):
  22. ;    CP4KER.ASM - this file
  23. ;    CP4DEF.ASM - definitions for both KERMIT and KERSYS
  24. ;    CP4MIT.ASM - initialization, main loop, miscellaneous commands
  25. ;             (BYE, EXIT, LOG, SET, SHOW, and STATUS)
  26. ;    CP4PKT.ASM - the KERMIT protocol handler (SEND, RECEIVE, LOGOUT,
  27. ;             and FINISH commands)
  28. ;    CP4TT.ASM  - the transparent commands (TRANSMIT, CONNECT)
  29. ;    CP4CPM.ASM - CP/M commands (DIR, ERA)
  30. ;    CP4WLD.ASM - the wildcard handler
  31. ;    CP4CMD.ASM - the command parser
  32. ;    CP4UTL.ASM - utility routines and data
  33. ;
  34. ; When building the system-independent part with M80 or MAC80, CP4KER
  35. ; INCLUDEs the other files; when building with LASM, each file LINKs to
  36. ; the next file.
  37. ;
  38. ; For now, the system-dependent routines are all in CP4SYS.ASM, with
  39. ; the actual configuration defined in CP4TYP.ASM.
  40. ;
  41. ; revision history (latest first):
  42. ; edit 3: February 10, 1985 (CJC)
  43. ;    Update for v4.05; add "verno" so CP4UTL doesn't have to change
  44. ;    just because some other module did.
  45. ;
  46. ; edit 2: September 10, 1984 (CJC)
  47. ;    Update for v4.03.
  48. ;
  49. ; edit 1: July 27, 1984 (CJC)
  50. ;    Created to allow assembly of Kermit by LASM as well as MAC80 and M80.
  51.  
  52. verno    EQU    05        ; minor version number
  53.     
  54. ; Version 4.05 of Kermit consists of the following edit levels:
  55. ;    cp4ker.asm edit 3
  56. ;    cp4def.asm edit 4
  57. ;    cp4mit.asm edit 8
  58. ;    cp4pkt.asm edit 6
  59. ;    cp4tt.asm edit 4
  60. ;    cp4cpm.asm edit 3
  61. ;    cp4wld.asm edit 3
  62. ;    cp4cmd.asm edit 5
  63. ;    cp4utl.asm edit 6
  64. ;    cp4lnk.asm edit 5 (cp4lnk.asm is not assembled with cp4ker, but it
  65. ;        defines the linkage area expected by cp4ker, and so must
  66. ;        match the description in cp4utl.asm)
  67. ;
  68. ; Version 4.05 of Kermit has been tested with the following edit levels of
  69. ; the system-dependent files:
  70. ;    cp4typ.asm edit 6
  71. ;    cp4sys.asm edit 12
  72. ;
  73.  
  74. FALSE    equ    0
  75. TRUE    equ    NOT FALSE
  76.  
  77. cp4ker    equ    TRUE    ; building system-independent part
  78.  
  79. ;
  80. ; Assembler type.  Define the appropriate one TRUE, the rest FALSE.  (We can't
  81. ; use ASM, because it cannot handle multiple input files)
  82. mac80    EQU    FALSE        ; For assembly via MAC80 cross-assembler.
  83. m80    EQU    FALSE        ; For assembly via Microsoft's M80.
  84. lasm    EQU    TRUE        ; For assembly via LASM, a public-domain
  85.                 ; assembler.
  86. ;
  87. ;    Get the other modules...
  88.  
  89. IF lasm                ; If we're linking, go on to the next file.
  90.     LINK    CP4DEF
  91. ENDIF;lasm
  92.  
  93. ; If we're still here, we must be using M80 or MAC80.  M80 doesn't
  94. ; like ENDs inside conditionals, but the END statement has to be
  95. ; in CP4UTL for LASM (otherwise, we'd need a file containing just an
  96. ; END statement).  So, we leave off the IF m80 OR mac80 conditional
  97. ; that ought to be around these INCLUDEs.  No problem until the next
  98. ; incompatible assembler comes along...
  99.     INCLUDE CP4DEF.ASM    ; definitions
  100.     INCLUDE CP4MIT.ASM    ; initialization, main loop, some commands
  101.     INCLUDE    CP4PKT.ASM    ; KERMIT protocol handler
  102.     INCLUDE CP4TT.ASM    ; transparent communication handler
  103.     INCLUDE    CP4CPM.ASM    ; CP/M command support (DIR, ERA)
  104.     INCLUDE    CP4WLD.ASM    ; wildcard handler
  105.     INCLUDE    CP4CMD.ASM    ; command parser
  106.     INCLUDE CP4UTL.ASM    ; Various utilities and data, and END [ToadHall]
  107.     END            ; MAC80 ignores END's in included files...
  108.