Transferring Files to and from CP/M .D71 Disk Images Using ctools

Using Vice to emulate a Commodore 128 running CP/M works very well, but it isn't easy to get CP/M files directly onto and off a .D64/.D71 disk image. The easiest way to do this under Linux is to use ctools.

Building ctools

First you need to get the source files for ctools, for this we can use wget:

$ wget https://github.com/mist64/ctools/archive/master.zip
$ unzip master.zip

To build the executables:

$ cd ctools-master/src
$ make
$ make install

The executable files are now in ctools-master/bin. You will probably find it useful to copy them to somewhere like ~/bin to make them easier to access.

Using ctools

ctools is fairly straightforward to use and most of the time you will only use two of the programs: cformat and ctools.

Creating a Formatted CP/M Disk Image

cformat allows us to create CP/M disk images and I find it most useful to create double sided C128 disk images using the -2 switch.

To create a disk image called work.d71:

$ cformat -2 work.d71

Working With Files on the Image

Once we have a disk image we can transfer files, erase files, show the directory, etc using the ctools command.

To copy all the .txt files from the current directory onto the disk image, work.d71:

$ ctools work.d71 p *.txt

To display the files on the image:

$ ctools work.d71 d

To get all the .txt files from the disk image and put them in the current directory:

$ ctools work.d71 g "*.txt"

Video of ctools

ctools can be seen being used to transfer files to a .D71 disk image which is then read under an emulated C128 running CP/M on Vice below.

Creative Commons License
Transferring Files to and from CP/M .D71 Disk Images Using ctools by Lawrence Woodman is licensed under a Creative Commons Attribution 4.0 International License.

Share This Post

Feedback/Discuss

Related Articles

Emulating a CP/M System With z80pack

z80pack is great for creating an emulated CP/M system. It can either be used to create a general CP/M system or can emulate a specific system such as an IMSAI or ALTAIR including a graphical front-pan...   Read More

Hamurabi and Similar Games on CP/M

Hamurabi is probably the best known land and resource management game on CP/M. However, there are a few other similar text-based games that sought to extend the concept such as Dukedom and Kingdom. T...   Read More

Word Processors on the Commodore VIC-20

Word processing is possible on the VIC-20 and can be surprisingly comfortable despite the small screen text area. Here I will show a variety of word processors each of which handles the 22 column rest...   Read More

Getting the Address of BASIC Variables on the VIC-20

Getting the address of a BASIC variable can be useful if you want to pass data to a machine code routine or want to access the bytes of a variable directly to improve speed and reduce garbage collectio...   Read More

Saving and Loading Memory on the VIC-20

Saving and loading memory is quite easy on the VIC-20 once you know how. However, it isn't obvious how to do this and therefore this article will present a few simple ways of doing it from BASIC and A...   Read More