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 >
Wrap
Text File
|
1986-12-25
|
9KB
|
220 lines
Creating a runnable Kermit from the distribution kit:
You will need two of the .HEX files from the distribution kit: CP4KER.HEX
(the system-independent module) and one of the system-dependent overlay
modules. The name of the system-dependent overlay may be obtained from
table 1 below. For systems which require an external terminal as console,
the distribution kit overlays use the generic "crt" selection; after getting
Kermit running, you may wish to reconfigure it to make use of your specific
terminal.
For purposes of illustration, we will assume the system-dependent overlay is
called "foo.hex". The two hex files may be combined in two ways: if you do
not have MLOAD (a public-domain enhanced version of LOAD), you will have to
use DDT, as follows:
A>ddt cp4ker.hex
NEXT PC
3500 0100
-ifoo.hex
-r
NEXT PC
xxxx 0000
-^C
A>save dd kermit40.com
The page count ("dd") used in the SAVE command is calculated from the last
address ("xxxx") given by DDT in response to the R command: divide this
number by 100 hex, rounding up, then convert to decimal: 384F becomes 39
hex, which is 57 decimal; but 3700 becomes 37 hex, or 55 decimal.
Be careful not to overwrite your running Kermit, if any, with this new
version until you've tested it.
If you do have MLOAD, the process is simpler:
A>mload ker403=cp4ker,foo
This produces ker403.com, which may be run directly.
Test your new Kermit by running it. If it gives you a prompt, it might be
OK. (don't delete your old one yet...). Instead of a prompt, you could get
one of two messages indicating that the configuration information is invalid:
?Kermit has not been configured for a target system
or
?Consistency check on configuration failed
Of course, neither of these messages should appear if you're building Kermit
from the distribution kit. The first message indicates that the overlay was
not found where the system-independent module expected to find it, probably
because the overlay address is incorrect; the second indicates that the version
of CP4LNK used in the system-dependent module is incompatible with the system-
independent module.
Table 1
Systems supported by Kermit-80
Symbol Filename System
ap6551 cp4apl Apple II with Z80 Softcard and 6551 ACIA in serial interface
apmmdm cp4apm Apple II with Z80 Softcard and Micromodem II in slot 2
bbII cp4bb2 BigBoard II (terminal required)
brain cp4brn Intertec SuperBrain.
cpm3 cp4cp3 "generic": CP/M 3.0 (CP/M Plus) systems (terminal required)
delphi cp4del Digicomp Delphi 100 (terminal required)
dmII cp4dm2 DECMATE II
gener cp4gen "generic": CPM 2.2 systems supporting IOBYTE (terminal required)
heath cp4h89 Heath/Zenith H89.
kpII cp4kpr Kaypro-II (and 4; probably supports all Kaypro systems)
mdI cp4mdi Morrow Decision I (terminal required)
mikko cp4mik MikroMikko
mmdI cp4udi Morrow Micro Decision I (terminal required)
osbrn1 cp4osb Osborne 1
osi cp4osi Ohio Scientific
robin cp4rob DEC VT180
telcon cp4tel TELCON Zorba portable
trs80lb cp4tlb TRS-80 model II with Lifeboat 2.25C CP/M Display
trs80pt cp4tpt TRS-80 model II with Pickles + Trout CP/M Display
vector cp4vec Vector Graphics.
z100 cp4z00 Z-100 under CP/M-85
Table 2
Terminals known to Kermit-80
Symbol Terminal description
crt Basic CRT, no cursor positioning
adm3a Adm3a Display or lookalike
smrtvd Netronics Smartvid-80
tvi925 TVI925, Freedom 100
vt52 VT52 or VT52 emulator such as Heath H19, H29, etc.
vt100 VT100 or emulator (most ANSI terminals should work)
Assembling Kermit-80 from the sources:
Kermit-80 is built in two pieces from the following 12 files:
The system-independent files:
CP4KER.ASM - header file
CP4DEF.ASM - definitions for both KERMIT and KERSYS
CP4MIT.ASM - initialization, main loop, miscellaneous commands
(BYE, EXIT, LOG, SET, SHOW, STATUS, and VERSION)
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
CP4LNK.ASM - linkage area description
The system-dependent files:
CP4TYP.ASM - system selection
CP4SYS.ASM - system-specific code
The system-independent module contains all of the system-independent files
except for CP4LNK.ASM, which is assembled into the system-dependent module
to provide the structures needed to connect the two modules. As distributed,
the system-independent module is named CP4KER.HEX.
The system-dependent module consists of CP4TYP.ASM, CP4DEF.ASM, CP4LNK.ASM,
and CP4SYS.ASM. One copy of the system-dependent module is supplied already
assembled for each supported system; the filename may be obtained from table
1.
After assembling the two pieces separately, they are combined with DDT or
MLOAD into a system-specific Kermit.
If you want to rebuild the system-independent module, the only change you
may need to make is to select the assembler to be used, in CP4KER.ASM.
Define one of MAC80, M80, or LASM to TRUE to select it as the assembler;
the others should be defined FALSE.
Assuming you have the Microsoft Macro Assembler package (M80/L80), you'll
need to do the following:
A>m80 cp4ker=cp4ker.asm
A>l80 /p:100,cp4ker,cp4ker/n/e
This will produce CP4KER.COM.
If you are using LASM instead, do this:
A>lasm cp4ker
LASM will generate CP4KER.HEX.
If you have access to a TOPS-10 or TOPS-20 system, you can cross-assemble
Kermit there with MAC80, producing CP4KER.HEX:
.run mac80
*=cp4ker.asm
If you want to generate a system-dependent overlay for a particular system,
you'll need to check three areas in CP4TYP.ASM:
First, the overlay start address. The symbol "ovladr" is EQUated to the
address of "lnkflg" in the system-independent module, as the starting
address of the overlay (3400H for version 4.03). You'll need this if you're
building the overlay with M80/L80. (you won't normally need to change this
value)
Second, the assembler being used. Again, define one of MAC80, M80, and LASM
to be TRUE to select it, and define the others to be FALSE. The two modules
(system-independent and system-dependent) do not need to be built with the
same assembler.
Third, the system configuration. Locate your system in table 1, then define
the appropriate symbol TRUE, and the rest FALSE. If the system comes with a
builtin console terminal, define all the terminal switches FALSE. If the
system uses an external terminal as the console, locate the terminal in table
2 and define the appropriate symbol TRUE, and the remainder FALSE. If the
terminal is not listed in table 2, use the CRT switch; in this case, VT52
emulation is not supported.
In addition, there are a few general and system-specific symbols which may
be altered to fit your system:
apslot For Apple with 6551 ACIA, defines the slot number of the serial card
cpuspd Processor speed in units of 100KHz (currently used only for bbII and
kpII for timing loops)
tac For users connecting through ARPAnet TACs: set to TRUE if you wish
the default TACTRAP status to be ON. (This may be overridden with
the SET TACTRAP command). If you're not connecting through a TAC,
set tac to FALSE and ignore tacval.
tacval For ARPANET TAC users: defines the default TAC intercept character
(may be overridden with the SET TACTRAP command)
If you are just assembling an existing configuration, you'll need to edit
CP4TYP.ASM only. If you are adding support for a new system, you should not
modify CP4DEF.ASM or CP4LNK.ASM; if you do, you'll have to change the system-
independent module also. Eventually, CP4SYS.ASM will be split into separate
files, each of which will generate one or more related systems. When this
happens, you'll want to pick the one closest to your system to use as a
starting point.
After editing CP4TYP.ASM as necessary, assemble and link the overlay as follows:
With M80 (where "xxxx" is the hex value of ovladr from CP4LNK.ASM):
A>m80 cp4typ=cp4typ.asm
A>l80 /p:xxxx,cp4typ,cp4typ/n/x/e
With LASM:
A>lasm cp4typ
With MAC80 on TOPS-10 or TOPS-20:
@run mac80
*=cp4typ.asm
The overlay (cp4typ.hex) may then be merged with the system-independent
module as described above (Creating a runnable Kermit from the distribution
kit).
If you have a TOPS-10 or TOPS-20 system and already have a running
Kermit-80 v3.9 or later, you can merge the two .HEX files into a .COM
file with LINK80, and transfer the new .COM file to your micro with Kermit:
TOPS-20:
.COPY KERNEW.HEX=CP4KER.HEX,CP4TYP.HEX
.LINK80 KERNEW
TOPS-20:
@APPEND (SOURCE FILE) CP4KER.HEX,CP4TYP.HEX (TO) KERNEW.HEX
@LINK80 KERNEW
producing KERNEW.COM. If LINK80 says "?Data overlaid", you have an old
version of LINK80, and will have to transfer the .HEX files to the micro
and merge them there.
Adding support for your system to Kermit:
To be supplied. Basically, you'll only need to add a switch it CP4TYP.ASM
to select your system, and add the system-dependent code to CP4SYS.ASM (I
hope I've put enough hooks to allow this to be done easily).
Adding new features to Kermit:
To be supplied. If you're feeling industrious, I've got this list of
pending requests...