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 / CP4ASM.DOC < prev    next >
Text File  |  1986-12-25  |  9KB  |  220 lines

  1. Creating a runnable Kermit from the distribution kit:
  2.  
  3. You will need two of the .HEX files from the distribution kit:  CP4KER.HEX
  4. (the system-independent module) and one of the system-dependent overlay
  5. modules.  The name of the system-dependent overlay may be obtained from
  6. table 1 below.  For systems which require an external terminal as console,
  7. the distribution kit overlays use the generic "crt" selection; after getting
  8. Kermit running, you may wish to reconfigure it to make use of your specific
  9. terminal.
  10.  
  11. For purposes of illustration, we will assume the system-dependent overlay is
  12. called "foo.hex".  The two hex files may be combined in two ways:  if you do
  13. not have MLOAD (a public-domain enhanced version of LOAD), you will have to
  14. use DDT, as follows:
  15.     A>ddt cp4ker.hex
  16.     NEXT  PC
  17.     3500 0100
  18.     -ifoo.hex
  19.     -r
  20.     NEXT  PC
  21.     xxxx 0000
  22.     -^C
  23.     A>save dd kermit40.com
  24. The page count ("dd") used in the SAVE command is calculated from the last
  25. address ("xxxx") given by DDT in response to the R command:  divide this
  26. number by 100 hex, rounding up, then convert to decimal:  384F becomes 39
  27. hex, which is 57 decimal; but 3700 becomes 37 hex, or 55 decimal.
  28. Be careful not to overwrite your running Kermit, if any, with this new
  29. version until you've tested it.
  30.  
  31. If you do have MLOAD, the process is simpler:
  32.     A>mload ker403=cp4ker,foo
  33. This produces ker403.com, which may be run directly.
  34.  
  35. Test your new Kermit by running it.  If it gives you a prompt, it might be
  36. OK. (don't delete your old one yet...).  Instead of a prompt, you could get
  37. one of two messages indicating that the configuration information is invalid:
  38.     ?Kermit has not been configured for a target system
  39.     or
  40.     ?Consistency check on configuration failed
  41. Of course, neither of these messages should appear if you're building Kermit
  42. from the distribution kit.  The first message indicates that the overlay was
  43. not found where the system-independent module expected to find it, probably
  44. because the overlay address is incorrect; the second indicates that the version
  45. of CP4LNK used in the system-dependent module is incompatible with the system-
  46. independent module.
  47.  
  48.  
  49.                Table 1
  50.         Systems supported by Kermit-80
  51.  
  52. Symbol    Filename System
  53. ap6551    cp4apl    Apple II with Z80 Softcard and 6551 ACIA in serial interface
  54. apmmdm    cp4apm    Apple II with Z80 Softcard and Micromodem II in slot 2
  55. bbII    cp4bb2    BigBoard II (terminal required)
  56. brain    cp4brn    Intertec SuperBrain.
  57. cpm3    cp4cp3    "generic": CP/M 3.0 (CP/M Plus) systems (terminal required)
  58. delphi    cp4del    Digicomp Delphi 100 (terminal required)
  59. dmII    cp4dm2    DECMATE II
  60. gener    cp4gen    "generic": CPM 2.2 systems supporting IOBYTE (terminal required)
  61. heath    cp4h89    Heath/Zenith H89.
  62. kpII    cp4kpr    Kaypro-II (and 4; probably supports all Kaypro systems)
  63. mdI    cp4mdi    Morrow Decision I (terminal required)
  64. mikko    cp4mik    MikroMikko
  65. mmdI    cp4udi    Morrow Micro Decision I (terminal required)
  66. osbrn1    cp4osb    Osborne 1
  67. osi    cp4osi    Ohio Scientific
  68. robin    cp4rob    DEC VT180
  69. telcon    cp4tel    TELCON Zorba portable
  70. trs80lb    cp4tlb    TRS-80 model II with Lifeboat 2.25C CP/M Display
  71. trs80pt    cp4tpt    TRS-80 model II with Pickles + Trout CP/M Display
  72. vector    cp4vec    Vector Graphics.
  73. z100    cp4z00    Z-100 under CP/M-85
  74.  
  75.             Table 2
  76.         Terminals known to Kermit-80
  77. Symbol    Terminal description
  78. crt    Basic CRT, no cursor positioning
  79. adm3a    Adm3a Display or lookalike
  80. smrtvd    Netronics Smartvid-80
  81. tvi925    TVI925, Freedom 100
  82. vt52    VT52 or VT52 emulator such as Heath H19, H29, etc.
  83. vt100    VT100 or emulator (most ANSI terminals should work)
  84.  
  85.  
  86.  
  87. Assembling Kermit-80 from the sources:
  88.  
  89. Kermit-80 is built in two pieces from the following 12 files:
  90.     The system-independent files:
  91.     CP4KER.ASM - header file
  92.     CP4DEF.ASM - definitions for both KERMIT and KERSYS
  93.     CP4MIT.ASM - initialization, main loop, miscellaneous commands
  94.              (BYE, EXIT, LOG, SET, SHOW, STATUS, and VERSION)
  95.     CP4PKT.ASM - the KERMIT protocol handler (SEND, RECEIVE, LOGOUT,
  96.              and FINISH commands)
  97.     CP4TT.ASM  - the transparent commands (TRANSMIT, CONNECT)
  98.     CP4CPM.ASM - CP/M commands (DIR, ERA)
  99.     CP4WLD.ASM - the wildcard handler
  100.     CP4CMD.ASM - the command parser
  101.     CP4UTL.ASM - utility routines and data
  102.     CP4LNK.ASM - linkage area description
  103.     The system-dependent files:
  104.     CP4TYP.ASM - system selection
  105.     CP4SYS.ASM - system-specific code
  106.  
  107. The system-independent module contains all of the system-independent files
  108. except for CP4LNK.ASM, which is assembled into the system-dependent module
  109. to provide the structures needed to connect the two modules.  As distributed,
  110. the system-independent module is named CP4KER.HEX.
  111.  
  112. The system-dependent module consists of CP4TYP.ASM, CP4DEF.ASM, CP4LNK.ASM,
  113. and CP4SYS.ASM.  One copy of the system-dependent module is supplied already
  114. assembled for each supported system; the filename may be obtained from table
  115. 1.
  116.  
  117. After assembling the two pieces separately, they are combined with DDT or
  118. MLOAD into a system-specific Kermit.
  119.  
  120. If you want to rebuild the system-independent module, the only change you
  121. may need to make is to select the assembler to be used, in CP4KER.ASM.
  122. Define one of MAC80, M80, or LASM to TRUE to select it as the assembler;
  123. the others should be defined FALSE.
  124.  
  125. Assuming you have the Microsoft Macro Assembler package (M80/L80), you'll
  126. need to do the following:
  127.     A>m80 cp4ker=cp4ker.asm
  128.     A>l80 /p:100,cp4ker,cp4ker/n/e
  129. This will produce CP4KER.COM.
  130.  
  131. If you are using LASM instead, do this:
  132.     A>lasm cp4ker
  133. LASM will generate CP4KER.HEX.
  134.  
  135. If you have access to a TOPS-10 or TOPS-20 system, you can cross-assemble
  136. Kermit there with MAC80, producing CP4KER.HEX:
  137.     .run mac80
  138.     *=cp4ker.asm
  139.  
  140. If you want to generate a system-dependent overlay for a particular system,
  141. you'll need to check three areas in CP4TYP.ASM:
  142.  
  143. First, the overlay start address.  The symbol "ovladr" is EQUated to the
  144. address of "lnkflg" in the system-independent module, as the starting
  145. address of the overlay (3400H for version 4.03).  You'll need this if you're
  146. building the overlay with M80/L80.  (you won't normally need to change this
  147. value)
  148.  
  149. Second, the assembler being used.  Again, define one of MAC80, M80, and LASM
  150. to be TRUE to select it, and define the others to be FALSE.  The two modules
  151. (system-independent and system-dependent) do not need to be built with the
  152. same assembler.
  153.  
  154. Third, the system configuration.  Locate your system in table 1, then define
  155. the appropriate symbol TRUE, and the rest FALSE.  If the system comes with a
  156. builtin console terminal, define all the terminal switches FALSE.  If the
  157. system uses an external terminal as the console, locate the terminal in table
  158. 2 and define the appropriate symbol TRUE, and the remainder FALSE.  If the
  159. terminal is not listed in table 2, use the CRT switch; in this case, VT52
  160. emulation is not supported.
  161.  
  162. In addition, there are a few general and system-specific symbols which may
  163. be altered to fit your system:
  164.  
  165. apslot    For Apple with 6551 ACIA, defines the slot number of the serial card
  166. cpuspd    Processor speed in units of 100KHz (currently used only for bbII and
  167.     kpII for timing loops)
  168. tac    For users connecting through ARPAnet TACs: set to TRUE if you wish
  169.     the default TACTRAP status to be ON. (This may be overridden with
  170.     the SET TACTRAP command).  If you're not connecting through a TAC,
  171.     set tac to FALSE and ignore tacval.
  172. tacval    For ARPANET TAC users: defines the default TAC intercept character
  173.     (may be overridden with the SET TACTRAP command)
  174.  
  175. If you are just assembling an existing configuration, you'll need to edit
  176. CP4TYP.ASM only.  If you are adding support for a new system, you should not
  177. modify CP4DEF.ASM or CP4LNK.ASM; if you do, you'll have to change the system-
  178. independent module also.  Eventually, CP4SYS.ASM will be split into separate
  179. files, each of which will generate one or more related systems.  When this
  180. happens, you'll want to pick the one closest to your system to use as a
  181. starting point.
  182.  
  183. After editing CP4TYP.ASM as necessary, assemble and link the overlay as follows:
  184.     With M80 (where "xxxx" is the hex value of ovladr from CP4LNK.ASM):
  185.     A>m80 cp4typ=cp4typ.asm
  186.     A>l80 /p:xxxx,cp4typ,cp4typ/n/x/e
  187.     With LASM:
  188.     A>lasm cp4typ
  189.     With MAC80 on TOPS-10 or TOPS-20:
  190.     @run mac80
  191.     *=cp4typ.asm
  192.  
  193. The overlay (cp4typ.hex) may then be merged with the system-independent
  194. module as described above (Creating a runnable Kermit from the distribution
  195. kit).
  196.  
  197. If you have a TOPS-10 or TOPS-20 system and already have a running
  198. Kermit-80 v3.9 or later, you can merge the two .HEX files into a .COM
  199. file with LINK80, and transfer the new .COM file to your micro with Kermit:
  200.     TOPS-20:
  201.     .COPY KERNEW.HEX=CP4KER.HEX,CP4TYP.HEX
  202.     .LINK80 KERNEW
  203.     TOPS-20:
  204.     @APPEND (SOURCE FILE) CP4KER.HEX,CP4TYP.HEX (TO) KERNEW.HEX
  205.     @LINK80 KERNEW
  206. producing KERNEW.COM.  If LINK80 says "?Data overlaid", you have an old
  207. version of LINK80, and will have to transfer the .HEX files to the micro
  208. and merge them there.
  209.  
  210.  
  211. Adding support for your system to Kermit:
  212. To be supplied.  Basically, you'll only need to add a switch it CP4TYP.ASM
  213. to select your system, and add the system-dependent code to CP4SYS.ASM (I
  214. hope I've put enough hooks to allow this to be done easily).
  215.  
  216.  
  217. Adding new features to Kermit:
  218. To be supplied.  If you're feeling industrious, I've got this list of
  219. pending requests...
  220.