pple II, Z80 Softcard, with CPS multifunction card BASICNS CPVBNS Northstar Horizon (terminal required) BBC CPVBBC Acorn "BBC" computer with Acorn Z80 second processor BBII CPVBB2 BigBoard II (terminal required) BRAINM CPVBRM Intertec Superbrain using the main port BRAINA CPVBRA Intertec Superbrain using the Aux port CIFER2 CPVCIF Cifer 1886 using the VL: Serial port and CP/M V2.2 CIFER3 CPVCI3 Cifer 1886 using the VL: Serial port and CP/M V3.0 CIFER2 CPVCA2 Cifer 1886 using the AUX: Serial port and CP/M V2.2 CIFER3 CPVCA3 Cifer 1886 using the AUX: Serial port and CP/M V3.0 CMEMCO CPVCRO Cromemco with TU-ART card. Terminal required) COMART CPVCOM Comart Communicator (terminal required) COMPRO CPVPRO Compupro with Interfacer 4 (or 3). Terminal required. CPC CPVCPC Amstrad CPC 664 and 6128 and CP/M 3 CPM3 CPVCP3 "Generic": CP/M 3.0 (CP/M Plus) systems (terminal req'd) CPT85XX CPVCPT CPT-85xx wordprocessor with CP/M DELPHI CPVDEL Digicomp Delphi 100 (terminal required) DISC CPVDIS Action Computer Enterprises "Discovery" (terminal req'd) DMII CPVDM2 DECmate II with CP/M option GENER CPVGEN "Generic": CPM 2.2 systems with IOBYTE (terminal req'd) GENIE CPVGNI Video Genie H8QUAD CPVH8Q Heath-8 with Quad 8 i/o board HEATH CPVH89 Heath/Zenith H89 HORIZON CPVHOR Northstar Horizon (terminal required) KPII CPVKPR Kaypro-II (and 4; probably supports all Kaypro systems) LOBO CPVLBO Lobo Max-80 "symbol" is the symbol used to selec0 3.20 0.67 0.00SD870828 12:35 1.07 0.65 0.00SD870828 12:40 0.73 0.65 0.00SD870828 12:45 0.47 0.83 0.00SD870828 12:50 0.93 0.73 0.00SD870828 12:55 4.13 0.75 0.00SD870828 13:00 2.87 0.75 0.00SD870828 13:05 1.20 0.68 0.00SD870828 13:10 0.87 0.67 0.00SD870828 13:15 1.20 0.67 0.00SD870828 13:20 1.00 0.67 0.02SD870828 13:25 1.40 0.70 0.03SD870828 13:30 1.53 0.68 0.02SD870828 13:35 0.73 0.67 0.00SD87082D870828 14:50 1.00 0.63 0.00SD870828 14:55 3.87 0.72 0.02SD870828 15:00 1.80 0.70 0.00SD870828 15:05 0.73 0.67 0.00SD870828 15:10 0.73 0.68 0.00SD870828 15:15 1.20 0.75 0.00SD870828 15:20 0.67 0.67 0.00SD870828 15:25 1.27 0.72 0.03SD870828 15:30 3.80 0.70 0.02SD870828 15:35 3.87 0.67 0.00SD870828 15:40 3.27 0.70 0.00SD870828 15:45 1.20 0.68 0.00SD870828 15:50 1.80 0.68 0.00SD870828 15:55 1.13 0.67 .65 0.00SD870828 17:10 2.27 0.68 0.00SD870828 17:15 1.67 0.70 0.00SD870828 17:20 1.93 0.70 3.00SD870828 17:25 7.27 0.73 0.00SD870828 17:30 3.33 0.68 0.00SD870828 17:35 1.93 0.68 0.00SD870828 17:40 0.73 0.65 0.00SD870828 17:45 2.60 0.70 0.00SD870828 17:50 3.93 0.70 0.07SD870828 17:55 4.80 0.65 0.02SD870828 18:00 5.00 0.73 0.03SD870828 18:05 1.07 0.65 0.02SD870828 18:10 6.47 0.70 0.03SD870828 18:15 10.3 3.80 0.73 0.00SD870828 19:30 1.53 0.70 0.00SD870828 19:35 0.93 0.70 0.00SD870828 19:40 2.73 0.72 0.02SD870828 19:45 1.27 0.70 0.00SD870828 19:50 2.00 0.72 0.02SD870828 19:55 4.60 0.75 0.00SD870828 07:00 2.80 0.73 0.05SD870831 07:05 1.53 0.68 0.02SD870831 07:10 0.73 0.67 0.00SD870831 07:15 1.20 0.68 0.02SD870831 07:20 0.73 0.70 0.00SD870831 07:25 1.33 0.68 0.00SD870831 07:30 1.13 0.68 0.00SD870831870831 08:45 1.13 0.68 0.00SD870831 08:50 1.40 0.67 0.00SD870831 08:55 2.20 0.73 0.02SD870831 09:00 3.47 0.65 0.00SD870831 09:05 1.47 0.65 0.02SD870831 09:10 1.13 0.60 0.03SD870831 09:15 1.67 0.73 0.03SD870831 09:20 0.87 0.68 0.00SD870831 09:25 3.47 0.73 0.03SD870831 09:30 2.13 0.72 0.00SD870831 09:35 0.73 0.65 0.00SD870831 09:40 0.73 0.68 0.00SD870831 09:45 1.53 0.67 0.00SD870831 09:50 3.27 0.72 8 13:40 0.67 0.67 0.00SD870828 13:45 2.53 0.73 0.00SD870828 13:50 4.47 0.72 0.00SD870828 13:55 4.13 0.68 0.02SD870828 14:00 2.87 0.85 0.00SD870828 14:05 0.67 0.65 0.00SD870828 14:10 0.73 0.67 0.00SD870828 14:15 1.33 0.72 0.02SD870828 14:20 0.73 0.67 0.00SD870828 14:25 1.13 0.70 0.00SD870828 14:30 1.27 0.68 0.00SD870828 14:35 1.87 0.72 0.00SD870828 14:40 1.87 0.73 0.00SD870828 14:45 2.47 0.73 0.00S 0.00SD870828 16:00 3.93 0.67 0.00SD870828 16:05 0.73 0.67 0.02SD870828 16:10 0.67 0.67 0.00SD870828 16:15 1.40 0.73 0.00SD870828 16:20 0.67 0.68 0.00SD870828 16:25 1.13 0.70 0.02SD870828 16:30 1.27 0.68 0.03SD870828 16:35 2.07 0.77 0.02SD870828 16:40 1.33 0.67 0.00SD870828 16:45 1.20 0.72 0.00SD870828 16:50 0.80 0.68 0.00SD870828 16:55 1.07 0.67 0.05SD870828 17:00 2.93 0.68 0.02SD870828 17:05 0.73 03 0.75 0.00SD870828 18:20 3.73 0.72 0.00SD870828 18:25 2.80 0.70 0.00SD870828 18:30 1.47 0.68 0.00SD870828 18:35 1.20 0.72 0.03SD870828 18:40 2.07 0.67 0.02SD870828 18:45 1.53 0.70 0.02SD870828 18:50 0.80 0.63 0.02SD870828 18:55 5.33 0.65 0.03SD870828 19:00 3.27 0.72 0.00SD870828 19:05 1.07 0.72 0.00SD870828 19:10 1.53 0.73 0.00SD870828 19:15 1.47 0.65 0.03SD870828 19:20 2.47 8.00 0.00SD870828 19:25 07:35 0.73 0.67 0.00SD870831 07:40 0.80 0.70 0.00SD870831 07:45 1.67 0.73 0.00SD870831 07:50 1.40 0.70 0.02SD870831 07:55 4.00 0.75 0.02SD870831 08:00 2.33 0.72 0.00SD870831 08:05 1.13 0.72 0.02SD870831 08:10 0.73 0.67 0.00SD870831 08:15 1.00 0.67 0.00SD870831 08:20 0.67 0.65 0.00SD870831 08:25 1.47 0.70 0.00SD870831 08:30 2.13 0.68 0.03SD870831 08:35 0.73 0.68 0.00SD870831 08:40 0.73 0.65 0.00SDt the target system, in CPVTYP.ASM; "filename" is the name under which the module is supplied in the distribution. Table 1-2: Systems supported by Kermit-80 (Part 1) ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Symbol Filename System M2215 CPVMRL British Telecom Merlin/Rair Black Box (terminal required) MDI CPVMDI Morrow Decision I (terminal required) MIKKO CPVMIK MikroMikko MMATE CPVMM PMC 101 Micromate (terminal required) MMDI CPVUD Morrow Micro Decision I (terminal required) NCRDMV CPVDMV NCR Decision Mate V. (Terminal required?) NORTHS CPVNS Northstar Horizon with HSIO-4 card (terminal req'd) OSBRN1 CPVOSB Osborne 1 OSI CPVOSI Ohio Scientific PCI2651 CPVPCI Ithaca Intersystems with VI0 card (terminal required) PCW CPVPCW Amstrad PCW 8256/8512 with serial interface PX8 CPVPX8 Epson PX-8 RM380ZM CPVRMM Research Machines 380Z with MDS (5.25" discs) RM380ZF CPVRMF Research Machines 380Z with FDS (8" discs) ROBIN CPVROB DEC VT180 S1008 CPVUSM US Microsales S-100-8 (terminal required) SANYO CPVSAN Sanyo MBC-1100 SB6 CPVSB6 Micromint SB-180 with 6Mhz CPU (terminal required) SB9 CPVSB9 Micromint SB-180 with 9Mhz CPU (terminal required) SCNTPR CPVSCN Screentyper TELCON CPVTEL TELCON Zobra portable TELETEK CPVTET Teletek Systemaster TORCH CPVTRC Torch computers BBC-B with Z80 second processors TRS80LB CPVTLB TRS-80 model II with Lifeboat 2.25C CP/M Display TRS80PT CPVTPT TRS-80 model II with Pickles + Trout CP/M Display TRSM4 CPVTM4 TRS-80 model IV VECTOR CPVVEC Vector Graphics XER820 CPVXER Xerox 820 Z100 CPVZ00 Z-100 under CP/M-85 Z80MU CPVZ80 Z80MU development system on a PC "symbol" is the symbol used to select the target system, in CPXTYP.ASM; "filename" is the name under which the module is supplied in the distribution. Table 1-3: Systems supported by Kermit-80 (Part 2) ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Symbol Terminal type CRT Dumb terminal type. Does not do cursor addressing ADM3A Lear Seigler ADM 3A ADM22 Lear Seigler ADM 22 AM230 Ampro 230 H1500 Hazeltine 1500 SMRTVD Netronics Smartvid SOROQ Soroq IQ-120 TVI912 Televideo 912 TVI925 Televideo 925 or Freedom 100 VT52 Dec VT52 or equivalent (H19) VT100 Dec VT100 or equivalent WYSE Wyse 100 "symbol" is the symbol used to select the target system, in CPXTYP.ASM; "Terminal type" is the type of terminal "symbol" selects. Table 1-4: Terminals supported by Kermit-80 ------------------------------------------------------------------------------- 1.4.2. Downloading Kermit-80 You'll need either a pre-configured .COM file or the system-independent module, CPSKER, in binary (.COM) or hex (.HEX) format and the system-dependent overlay for your system (from Tables 1-2 and 1-3). If your system is not listed in the table, get the generic CP/M 2.2 Kermit or the generic CP/M 3 Kermit. If you already have a version of Kermit on your micro and you want to install a new version, simply use your present version to get the new files. Transfer the files to your system and skip ahead to "merging the modules". If you do not have a copy of Kermit on your micro, and you cannot borrow a Ker- mit floppy but you do have access to a mainframe computer with a copy of the Kermit-80 distribution, you should read this section. There are several ways to get Kermit from a host system to your micro. The easiest is to "download" the necessary "hex" files into your micro's memory and then save it on the disk. If you have a terminal emulator program on your micro which can save a copy of the session to disk, connect to your host, and type the necessary files. Exit from the emulator, saving the session log, and edit the session log to extract the hex files. Skip ahead to "merging the files". The following is a procedure which, though far from foolproof, should allow you to get a version of Kermit to your CP/M based micro. It depends upon the host prompt, or at least the first character of the host prompt, being some charac- ter that cannot appear in a hex file (the valid characters for hex files are the digits 0-9, the upper case letters A-F, the col 0.93 0.77 0.00SE870803 07:15 1.33 0.80 0.00SE870803 07:20 0.80 0.75 0.00SE870803 07:25 1.53 0.82 0.02SE870803 07:30 1.87 0.78 0.00SE870803 07:35 0.80 0.77 0.00SE870803 07:40 0.80 0.75 0.02SE870803 07:45 3.07 0.78 0.00SE870803 07:50 2.73 0.87 0.00SE870803 07:55 5.53 0.80 0.02SE870803 08:00 3.93 0.87 0.00SE870803 08:05 2.60 0.80 0.03SE870803 08:10 0.80 0.77 0.00SE870803 08:15 1.33 0.78 0.00SE870803 00803 09:30 2.53 0.77 0.02SE870803 09:35 0.80 0.77 0.00SE870803 09:40 0.80 0.75 0.00SE870803 10:45 3.93 0.82 0.00SE870803 10:50 1.80 0.77 0.02SE870803 10:55 2.67 0.73 0.00SE870803 11:00 4.67 0.82 0.00SE870803 11:05 1.73 0.75 0.02SE870803 11:10 0.80 0.75 0.00SE870803 11:15 1.27 0.78 0.00SE870803 11:20 0.80 0.75 0.00SE870803 11:25 1.73 0.78 0.00SE870803 11:30 1.47 0.82 0.00SE870803 11:35 0.80 0.77 0. 0.00SE870803 12:50 0.80 0.75 0.00SE870803 12:55 3.67 0.83 0.02SE870803 13:00 3.40 0.82 0.00SE870803 13:05 0.80 0.75 0.00SE870803 13:10 0.80 0.75 0.00SE870803 13:15 1.53 0.80 0.00SE870803 13:20 0.80 0.77 0.00SE870803 13:25 1.60 0.80 0.08SE870803 13:30 1.73 0.82 0.00SE870803 13:35 0.87 0.75 0.00SE870803 13:40 0.80 0.75 0.00SE870803 13:45 1.27 0.77 0.00SE870803 13:50 1.73 0.80 0.02SE870803 13:55 1.93 0.80 0.78 0.00SE870803 15:10 0.80 0.75 0.00SE870803 15:15 1.27 0.82 0.00SE870803 15:20 0.80 0.75 0.00SE870803 15:25 1.53 0.78 0.02SE870803 15:30 1.60 0.80 0.00SE870803 15:35 0.73 0.75 0.00SE870803 15:40 0.80 0.73 0.00SE870803 15:45 1.20 0.80 0.00SE870803 15:50 2.13 0.82 0.00SE870803 15:55 1.80 0.73 0.07SE870803 16:00 2.07 0.82 0.03SE870803 16:05 0.80 0.75 0.00SE870803 16:10 1.07 0.78 0.00SE870803 16803 17:25 2.60 0.75 0.10SE870803 17:30 4.33 0.83 0.00SE870803 17:35 9.40 0.70 0.03SE870803 17:40 1.47 0.75 0.00SE870803 17:45 3.13 0.87 0.00SE870803 17:50 2.80 0.75 0.00SE870803 17:55 8.00 0.78 0.02SE870803 18:00 17.93 0.82 0.03SE870803 18:05 9.67 0.82 0.02SE870803 18:10 5.07 0.80 0.02SE870803 18:15 6.47 0.78 0.00SE870803 18:20 13.93 0.85 0.02SE870803 18:25 9.20 0.83 0.03SE870803 18:30 5.80 0.77 0.08:20 0.80 0.75 0.00SE870803 08:25 3.00 0.77 0.00SE870803 08:30 8.07 0.80 0.02SE870803 08:35 4.40 0.77 0.02SE870803 08:40 3.13 0.78 0.02SE870803 08:45 2.67 0.80 0.00SE870803 08:50 1.33 0.77 0.00SE870803 08:55 2.40 0.80 0.00SE870803 09:00 3.00 0.80 0.03SE870803 09:05 2.13 0.78 0.00SE870803 09:10 1.27 0.75 0.00SE870803 09:15 1.67 0.80 0.00SE870803 09:20 1.20 0.78 0.00SE870803 09:25 1.60 0.90 0.00SE8700SE870803 11:40 0.87 0.77 0.00SE870803 11:45 1.20 0.78 0.03SE870803 11:50 2.07 0.85 0.02SE870803 11:55 2.40 0.85 0.02SE870803 12:00 2.13 0.83 0.02SE870803 12:05 0.80 0.75 0.00SE870803 12:10 0.87 0.77 0.03SE870803 12:15 1.53 0.80 0.00SE870803 12:20 0.80 0.77 0.00SE870803 12:25 1.60 0.77 0.02SE870803 12:30 1.73 0.80 0.00SE870803 12:35 0.80 0.77 0.00SE870803 12:40 0.73 0.77 0.00SE870803 12:45 3.07 0.78 0.82 0.02SE870803 14:00 2.33 0.85 0.00SE870803 14:05 0.87 0.75 0.00SE870803 14:10 0.80 0.77 0.00SE870803 14:15 1.20 0.78 0.00SE870803 14:20 0.80 0.75 0.00SE870803 14:25 1.47 0.78 0.00SE870803 14:30 1.93 0.82 0.00SE870803 14:35 0.80 0.77 0.00SE870803 14:40 0.80 0.77 0.00SE870803 14:45 2.33 0.78 0.02SE870803 14:50 0.80 0.75 0.00SE870803 14:55 2.33 0.75 0.02SE870803 15:00 4.53 0.87 0.00SE870803 15:05 :15 2.40 0.82 0.02SE870803 16:20 12.00 0.78 0.03SE870803 16:25 7.07 0.77 0.00SE870803 16:30 3.87 0.87 0.02SE870803 16:35 6.73 0.78 0.00SE870803 16:40 7.87 0.82 0.02SE870803 16:45 9.20 0.80 0.07SE870803 16:50 3.13 0.73 0.02SE870803 16:55 7.73 0.72 0.00SE870803 17:00 11.40 0.83 0.05SE870803 17:05 0.80 0.77 0.00SE870803 17:10 3.80 0.80 0.02SE870803 17:15 6.13 0.78 0.07SE870803 17:20 1.07 0.77 0.02SE870on ``:'', carriage return, and line feed). As soon the prompt character is encountered, the transfer will terminate. If your host does not issue a prompt that will accommodate this scheme, you can achieve the same effect by adding an atsign ``@'' to the very end of the hex file before sending it from the host. The program below looks for an atsign (the normal DEC-20 prompt, hex 40). DECSYSTEM-10 users would look for a dot, hex 2E; VAX/VMS or UNIX users would look for a dollar sign, hex 24; UNIX C-Shell users would look for a percent sign, hex 26. 1. For CP/M 2.2 systems, connect to a floppy disk with plenty of free space. Run DDT and type in the following (the comments should not be typed in; they are there just to tell you what's happening): (Note that this wont work for CP/M Plus or 3.0 systems!) ---------------------------------------------------------------- -a100 ;Begin assembling code at 100 0100 LXI H,2FE ;Where to store in memory 0103 SHLD 200 ;Keep pointer there 0106 MVI E,D ;Get a CR 0108 MVI C,4 ;Output to PUNCH (send to HOST) 010A CALL 5 010D MVI C,3 ;Input from READER (read from HOST) 010F CALL 5 0112 ANI 7F ;Strip parity bit 0114 PUSH PSW ;Save a and flags 0115 MOV E,A ;Move char to E for echo 0116 MVI C,2 ;Output to screen 0118 CALL 5 011B POP PSW ;Restore A and flags 011C CPI 40 ;(or 4E,24,26,etc) System prompt? 011E JZ 127 ;Yes, have whole file in memory 0121 CALL 17A ;No, store another byte 0124 JMP 10D ;Read another byte 0127 MVI A,1A ;Get a Control-Z (CP/M EOF mark) 0129 CALL 17A ;Store it in memory 012C LXI H,300 ;Get memory pointer 012F SHLD 202 ;Store as DMA pointer 0132 LDA 201 ;Get 'HI' byte of memory pointer 0135 STA 200 ;and store it as 'LO' one 0138 XRA A 0139 STA 201 ;Zero 'HI' byte (slow *256) 013C MVI C,16 ;Make NEW file 013E LXI D,5C ;With FCB1 0141 CALL 5 0144 CALL 15E ;Write 128 bytes (sector) 0147 CALL 15E ;Write another sector 014A LXI H,FFFF ;Get a 16-bit Minus One 014D XCHG ;into DE 014E LHLD 200 ;Get 256-byte counter 0151 DAD D ;Decrement 0152 SHLD 200 ;and store back 0155 MVI A,2 ;Check if 0157 CMP L ; 256-byte counter down to offset 0158 JZ 183 ;Yes, we're done 015B JMP 144 ;Keep writing.. 015E LHLD 202 ;Get file-pointer 0161 XCHG ;into DE 0162 MVI C,1A ;Set DMA-address 0164 CALL 5 0167 MVI C,15 ;Write sector (128 bytes) 0169 LXI D,5C ;using FCB1 016C CALL 5 016F LHLD 202 ;Get file-pointer 0172 LXI D,80 ;128-bytes 0175 DAD D ;added to file-pointer 0176 SHLD 202 ;and save 0179 RET ;and return 017A LHLD 200 ;Get Memory-pointer 017D MOV M,A ;Store character 017E INX H ;Increment Pointer 017F SHLD 200 ;and save 0182 RET ;and return 0183 MVI C,10 ;CLOSE file 0185 LXI D,5C ;using FCB1 0188 CALL 5 018B JMP 0 ;Force WARM BOOT 0179 -^C ;(Type Control-C) Return to CP/M A>SAVE 1 FETCH.COM ;Save program, we need to run it twice. Figure 1-1: Bootstrap program for Kermit-80 and CP/M Version 2.2 ---------------------------------------------------------------- Alternatively, an assembler source file for this program is dis- tributed with CP/M Kermit as CPKFET.ASM. You might prefer to type the assembler version in and assemble and load it (ASM CPKFET, LOAD CPKFET, or MASM CPKFET, MLOAD CPKFET), to let the assembler and loader catch any typing errors. 2. Connect to your host using a terminal or a terminal emulation program. Ensure that your host does not have your terminal in "pa07 0.70 0.03SE870804 16:00 11.60 0.82 0.03SE870804 16:05 5.47 0.78 0.03SE870804 16:10 3.20 0.78 0.00SE870804 16:15 2.40 0.83 0.03SE870804 16:20 2.53 0.77 0.00SE870804 16:25 3.47 0.77 0.02SE870804 16:30 6.67 0.85 0.03SE870804 16:35 6.00 0.80 0.05SE870804 16:40 14.00 0.80 0.03SE870804 16:45 12.53 0.78 0.07SE870804 16:50 8.93 0.77 0.00SE870804 16:55 3.73 0.82 0.02SE870804 17:00 6.13 0.77 0.00SE870804 17:04 18:15 6.00 0.78 0.02SE870804 18:20 2.27 0.75 0.02SE870804 18:25 9.47 0.93 0.02SE870804 18:30 5.47 0.78 0.03SE870804 18:35 3.47 0.75 0.02SE870804 18:40 1.20 0.77 0.02SE870804 18:45 1.20 0.78 0.02SE870804 18:50 1.87 0.77 0.03SE870804 18:55 1.47 0.78 0.00SE870804 19:00 2.13 0.77 0.00SE870804 19:05 0.80 0.77 0.00SE870804 19:10 0.80 0.73 0.03SE870804 19:15 4.13 0.80 0.08SE870804 19:20 0.93 0.80 0.00S 0.00SE870805 07:35 0.80 0.77 0.00SE870805 07:40 0.80 0.75 0.02SE870805 07:45 1.20 0.77 0.00SE870805 07:50 4.13 0.85 0.00SE870805 07:55 6.40 0.77 0.07SE870805 08:00 8.00 0.87 0.02SE870805 08:05 0.93 0.77 0.00SE870805 08:10 2.80 0.78 0.00SE870805 08:15 1.47 0.77 0.00SE870805 08:20 0.80 0.75 0.00SE870805 08:25 4.13 0.87 0.07SE870805 08:30 1.73 0.77 0.00SE870805 08:35 2.13 0.80 0.07SE870805 08:40 1.60 03 0.82 0.00SE870805 09:55 5.33 0.78 0.00SE870805 10:00 6.00 0.75 0.02SE870805 10:05 11.07 0.82 0.00SE870805 10:10 4.67 0.83 0.00SE870805 10:15 1.47 0.77 0.03SE870805 10:20 0.93 0.77 0.00SE870805 10:25 1.60 0.80 0.00SE870805 10:30 2.13 0.78 0.00SE870805 10:35 1.33 0.77 0.00SE870805 10:40 1.33 0.72 0.00SE870805 10:45 8.40 0.83 0.02SE870805 10:50 1.20 0.75 0.02SE870805 10:55 7.47 0.77 0.00SE870805 11:00 12:10 1.07 0.70 0.05SE870805 12:15 2.13 0.82 0.03SE870805 12:20 1.33 0.78 0.00SE870805 12:25 2.13 0.83 0.03SE870805 12:30 4.67 0.87 0.00SE870805 12:35 10.00 0.88 0.02SE870805 12:40 9.33 0.75 0.05SE870805 12:45 8.93 0.95 0.02SE870805 12:50 2.00 0.82 0.00SE870805 12:55 13.47 0.78 0.05SE870805 13:00 8.00 0.85 0.00SE870805 13:05 2.40 0.85 0.00SE870805 13:10 2.93 0.83 0.00SE870805 13:15 1.47 0.82 0.00SE5 0.93 0.80 0.00SE870804 17:10 5.33 0.82 0.02SE870804 17:15 2.00 0.80 0.00SE870804 17:20 4.40 0.77 0.00SE870804 17:25 2.40 0.83 0.02SE870804 17:30 4.27 0.88 0.03SE870804 17:35 0.93 0.75 0.02SE870804 17:40 0.93 0.77 0.00SE870804 17:45 1.87 0.78 0.02SE870804 17:50 7.33 0.85 0.02SE870804 17:55 5.60 0.82 0.00SE870804 18:00 4.67 0.80 0.00SE870804 18:05 2.53 0.83 0.00SE870804 18:10 6.67 0.77 0.00SE87080E870804 19:25 2.67 0.78 0.02SE870804 19:30 2.27 0.80 0.00SE870804 19:35 2.00 0.80 0.02SE870804 19:40 0.80 0.78 0.00SE870804 19:45 1.87 0.80 0.00SE870804 19:50 2.13 0.78 0.00SE870804 19:55 5.60 0.83 0.02SE870804 07:00 4.27 0.70 0.10SE870805 07:05 0.93 0.80 0.00SE870805 07:10 0.93 0.75 0.00SE870805 07:15 1.33 0.75 0.00SE870805 07:20 0.93 0.75 0.00SE870805 07:25 2.27 0.82 0.05SE870805 07:30 2.40 0.82 .80 0.00SE870805 08:45 2.13 0.80 0.03SE870805 08:50 1.47 0.73 0.05SE870805 08:55 4.27 0.78 0.00SE870805 09:00 4.40 0.80 0.05SE870805 09:05 3.07 0.75 0.03SE870805 09:10 1.60 0.80 0.02SE870805 09:15 1.73 0.83 0.00SE870805 09:20 0.80 0.77 0.00SE870805 09:25 1.33 0.75 0.05SE870805 09:30 2.40 0.77 0.00SE870805 09:35 1.20 0.80 0.00SE870805 09:40 2.53 0.77 0.00SE870805 09:45 2.13 0.80 0.00SE870805 09:50 2.1 7.47 0.80 0.00SE870805 11:05 1.87 0.82 0.00SE870805 11:10 4.80 0.82 0.03SE870805 11:15 3.33 0.75 0.00SE870805 11:20 6.93 0.77 0.00SE870805 11:25 1.73 0.80 0.02SE870805 11:30 4.53 0.88 0.03SE870805 11:35 5.73 0.78 0.00SE870805 11:40 0.93 0.77 0.00SE870805 11:45 2.40 0.78 0.00SE870805 11:50 2.27 0.80 0.00SE870805 11:55 6.27 0.78 0.02SE870805 12:00 5.20 0.78 0.00SE870805 12:05 4.13 0.77 0.02SE870805ge mode" (does not pause at the end of each screenful). 3. Tell the host to display the first hex file (the system-independent module) at your terminal, e.g. give a command like TYPE CPSKER.HEX, without a terminating carriage return. 4. Return to your micro by switching the cable from the terminal to the micro, or by terminating the micro's terminal program. 5. Make sure your IOBYTE is set so that RDR: and PUN: correspond to the I/O port that is connected to the host (this would normally be the case unless you have done something special to change things). 6. Load the program you entered in the first step with DDT, and use it to capture the first hex file: DDT FETCH.COM -icpsker.hex ;Setup FCB for file CPSKER.HEX -g100,179 ;Execute the program. Now there should be a file CPSKER.HEX on your connected disk. 7. Return to the host, and tell it to display the second hex file (the system-dependent module for your configuration). Again, do not type the terminating carraige return. 8. Return to your micro, and run the capture program again: DDT FETCH.COM -icpxovl.hex ;Setup FCB to create CPXOVL.HEX -g100,179 ;Execute the program. Now there should be a file CPXOVL.HEX on your connected disk. Replace CPXOVL.HEX in this example with the appropriate overlay file for your system. Merging the files: 1. For purposes of illustration, we will assume the system-dependent overlay is called "cpxovl.hex". The two hex files may be combined with MLOAD or DDT. If you already have a running Kermit, you can transfer MLOAD.HEX to your system and create MLOAD.COM by running LOAD. If you're bootstrapping Kermit, you could transfer MLOAD.HEX to your system the same way you got the other two .HEX files, but it's probably simpler to use DDT to get Kermit running, and get MLOAD later if you need it. 2. Using MLOAD, the two pieces may be easily merged: A>mload kermit49=cpsker,cpxovl [some messages about program size, etc.] A> 3. If you don't have MLOAD running, it's a bit more complex: A>ddt cpsker.hex NEXT PC 3500 0100 -icpxovl.hex -r NEXT PC xxxx 0000 -^C A>save dd kermit49.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: drop the last two digits and add 1 if they were not zero, then con- vert from hexadecimal (base 16) to decimal (base 10): 684F becomes 69 hex, which is 105 decimal (5 times 16 plus 9) -- but 6700 becomes 67 hex, or 103 decimal (consult an introductory computing book if you don't understand number base conversion). 4. If you are using the Z80MU CP/M and Z80 development toolkit on an IBM PC or clone, then follow the same instructions as for a genuine CP/M system. When you have loaded your file, you will have to ship the .COM or two .HEX files to the target CP/M system. (Possibly using a previous issue of Kermit?) 5. Note that CP/M hex files have checksums on each line. If there were any transmission errors during the downloading process, MLOAD or DDT will notice a bad checksum and will report an error (something like "Illegal Format"). If you get any errors during loading, either fix the hex file locally with an editor, or repeat the transfer. You now should have a running version of Kermit-80, called KERMIT49.COM. 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 be- cause the overlay address is incorrect; the second indicates that the version of CPXLNK used in the system-dependent 0.75 0.05SE870806 11:45 4.93 0.85 0.05SE870806 11:50 1.47 0.83 0.00SE870806 11:55 4.00 0.73 0.00SE870806 12:00 6.13 0.80 0.00SE870806 12:05 1.20 0.77 0.00SE870806 12:10 1.47 0.77 0.00SE870806 12:15 3.73 0.80 0.00SE870806 12:20 0.80 0.75 0.00SE870806 12:25 4.40 0.73 0.03SE870806 12:30 3.87 0.83 0.00SE870806 12:35 2.53 0.77 0.00SE870806 12:40 1.20 0.77 0.00SE870806 12:45 1.73 0.82 0.00SE870806 12:50