If you're feeling adventurous, combine the two hex files, and convert that into a binary:

$ cat cpsker.hex cpvosb.hex > kerm411.hex
$ hex2bin kerm411.hex

From that I can tell, that's functionally equivalent to the below, minus any holes in the file that contain the data that was in memory prior.

Transfer the files

Download cpsker.hex and cpvosb.hex from http://www.columbia.edu/kermit/cpm.html

Via Serial

Based on the reference by Toni Westbrook: http://www.toniwestbrook.com/archives/80

Connect your OCC1 to a "real"-ish serial port. The port on the OCC1 has RX and TX swapped, meaning that you'll probably need to make a cable. I ended up making a short adaptor to convert that to a "computer side" (DTE) DB9, which works with a null-modem cable. A Prolific based USB serial cable worked fine in this arrangement.

Start up picocom on the serial port:

$ picocom -b 1200 /dev/ttyS0

Start up PIP on the OCC, specifying that we're sending a [H]ex file, saving into CPVOSB.HEX.


Once that's running, copy and paste the contents of CPVOSB.HEX into the serial terminal. This'll take about 1 minute to send a 1200 baud. Press CTRL+Z on the picocom session to tell PIP that we're done. It'll write the file and close.

CPSKER.HEX is bigger than PIP's buffer, so we have to send it in chunks.

Split it into 200 lines at a time:

$ split -l 200 cpsker.hex

Copy and paste each split file into the terminal, and each time use a different file name with PIP.

Clean the files up with ED - removing any extra new lines.

Join them using PIP:


Via Disk Images

Create the image

This is written for an Osborne 1 without the Double-Density upgrade, so it will work regardless.

Requires cpmtools and something like a greaseweazle and it's tools.

Generate a blank disk (raw sector) image (note: file extension im g not im d), and format it.

$ dd if=/dev/zero bs=1024 count=100 of=kermit.img
$ mkfs.cpm -f osb1sssd kermit.img

Copy the files into the disk image

$ cpmcp -f osb1sssd kermit.img cpsker.hex 0:CPSKER.HEX
$ cpmcp -f osb1sssd kermit.img cpvosb.hex 0:CPVOSB.HEX
Grab DDT

If you have two working drives, the CP/M Utilities disk (SD) or CP/M Help disk (DD) will have DDT on it. Boot that disk and have it ready. You can skip this section to the next.

If you only have one drive, you'll want to copy DDT.COM to the image as well as the program files. Boot your Osborne with any CP/M disk, and leave it at the prompt.

Either capture or "acquire" a disk image containing DDT.

Convert that image to a raw sector format:

$ dsktrans -itype tele -otype imd OS1SYSS.TD0 OS1SYSS.IMD
$ disk-analyse OS1SYSS.IMD occ1-sssd-cpmutilities.img

Copy DDT.COM out:

$ cpmcp occ1-sssd-cpmutilities.img 0:ddt.com ddt.com

Copy it into the new image:

$ cpmcp -f osb1sssd kermit.img ddt.com 0:ddt.com

Write the image to a real disk

Using a greaseweazle (and a 40-track / 48tpi drive):

$ gw write --drive=1 --tracks="c=0-39" --format occ1.sd 10_kermit.img