Getting Programs For The C64 CP/M Cartridge

Picture of Commodore 64 CP/M Cart and Boot Disc

The Commodore 64 CP/M cartridge was released sometime in the early 1980’s, shortly after the introduction of the C64 itself. The cartridge contained the necessary Z80 chip inside to run CP/M software natively. While a novel idea, it was a bit too late with the popularity of CP/M waning which itself had been released almost a decade earlier. To make matters worse, it seems to only work on very early revisions of the Commodore 64. I personally am only able to get it to work reliably on a Rev A motherboard (1982, with no s-video output).

Commodore 64 Rev A Motherboard 1982

Despite all it’s shortcomings, it’s still a highly collectible Commodore artifact. Prices for the units usually range from $50 to $100 or more on eBay, depending on condition and the original box or manual.

C64 CP/M Cartridge Booted

One problem exists that makes it difficult to actually “use” C64 CP/M, beyond typing DIR or STAT. The disks for CP/M are a custom format used only for the C64 and 1541. You aren’t able to use original CP/M discs, not even those from the Commodore 128. Plus, while there is a standard CBMDOS BAM on the disc, it’s not what CP/M uses for disc management so you can’t just copy files in C64 mode to the disc.

Luckily, there’s a tool that exists to help with this matter. Introducing CTOOLS, a suite of command-line utilities that create and manipulate D64 disc images specifically for Commodore’s CP/M formatted discs. This toolset isn’t limited to C64 as it works quite well with C128 CP/M discs as well. You’ll need to compile into binaries, which worked flawlessly on my Mac 10.10.3. An example terminal session is below. YMMV.

% cformat -0 mynewdisc.d64
% ctools mynewdisc.d64 p
% ctools mynewdisc.d64 p monopoly.bas
% ctools mynewdisc.d64 d

When done, simply write your new D64 disc image to a real disc. Boot up C64 CP/M, swap the disc, and type DIR to see the contents. Just like on MS-DOS, “.COM” files are executables– to run them, just type the basename without the .COM at the prompt.

MBASIC on C64 CP/M Cartridge

Just in case you’re not up to compiling the tools, creating the images or finding CP/M binaries, I’ve packaged together six D64 disc images that you can write back to a floppy and try out on your own C64 CP/M cartridge. The ZIP archive contains MBASIC (plus a few BASIC games), Sargon Chess, Adventure, and the Zork Trilogy. Click here to download the C64 CP/M D64 archive.

Zork I Running on C64 CP/M Cartridge

3 thoughts on “Getting Programs For The C64 CP/M Cartridge

  1. Permalink  ⋅ Reply


    August 2, 2015 at 6:54pm

    …wow. I haven’t seen one of those in a while. I think I last saw mine circa… 198…5? I had started a patch to its terrible, terrible console terminal (to add, you know, basic character positioning) but I never finished it, and then I got the C128 with proper CP/M.

    Also, my copy of that cartridge made my C64’s display ‘sparkle’ continually with single-pixel-high / one-character-wide bars flashing randomly all over the screen. I ended up fixing it with a capacitor on the colour memory data line.

  2. Permalink  ⋅ Reply

    Andreas Rueckert

    September 26, 2015 at 2:29pm

    I actually bought Turbo Pascal for the c64 back in the days and they sent me a c64 floppy which worked quite ok. I had lots of contact problems it seemed. When the module moved somehow (typing was often enough), cp/m froze. So I had to save my work frequently.

    There was a better z80 module available later as a c’t project. With 8 Mhz, floppy speeder, more available ram etc.

    (sorry, only in German for now)

Leave a Reply

Your email will not be published. Name and Email fields are required.