To transfer files to and from my Grant Searle based CPM computer, I started using DOWNLOAD.COM and Grants windows application for creating compatible "packages". But, this was tedious, and very error-prone. So I looked for a better solution, and found one that works for me at http://oldcomputer.info/others/z80sbc/index.htm Using the C-Kermit package linked there, along with standard ckermit on Linux, I have a much more reliable and convenient way of getting data to and from the CP/M machine. I use the second serial port of the CP/M machine's SIO/2 attached to a USB serial adapter on the Linux host. A typical session, involves typing up the assembly code, then using the crasm assembler to produce an Intel HEX file. The Hex file gets transferred to the CP/M system "raw": On the CP/M side I start Recieving of file using: D> KERMIT Kermit-80 v4.11 configured for Generic CP/M-80 with Generic (Dumb) CRT Terminal type selected For help, type ? at any point in a command Kermit-80 0D:>SET PORT PTR Kermit-80 0D:>R On the Linux side I set up the Sending using: jonlan@JL-X260:~/Code/z80cpm$ kermit C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux+SSL+KRB5 (64-bit) Copyright (C) 1985, 2011, Trustees of Columbia University in the City of New York. Type ? or HELP for help. (/home/jonlan/Code/z80cpm/) C-Kermit> (/home/jonlan/Code/z80cpm/) C-Kermit>set modem type none (/home/jonlan/Code/z80cpm/) C-Kermit>set line /dev/ttyUSB1 (/home/jonlan/Code/z80cpm/) C-Kermit>set carrier-watch off (/home/jonlan/Code/z80cpm/) C-Kermit>set speed 115200 (/home/jonlan/Code/z80cpm/) C-Kermit>set flow rts/cts (/home/jonlan/Code/z80cpm/) C-Kermit>s file.hex Finally, back on the CPM host, the HEX file is converted to a loadable COM file using the CP/M 2.2 LOAD.COM utility: D>A:LOAD FILE Cut-and-paste friendly settings for C-Kermit: CP/M side set port ptr Linux side set modem type none set line /dev/ttyUSB1 set carrier-watch off set speed 115200 set flow rts/cts