Skip to content
Frank van den Hoef edited this page Oct 29, 2023 · 5 revisions

Running CP/M on Aquarius+

The Aquarius+ now includes CP/M 2.2.

You can find the documentation on CP/M 2.2 here: http://www.gaby.de/cpm/manuals/archive/cpm22htm/index.htm
To get additional software for CP/M, take a look at: http://cpmarchives.classiccmp.org

CP/M functionality

The CP/M included with the Aquarius+ is version 2.2 of the operating system.

CP/M is running in 80 columns mode and is using a 80x24 terminal emulation. The emulation is based on the Lear Siegler ADM-3A. So if you can configure a program (such as WordStar or TurboPascal) for a specific terminal type, choose that one.

Currently only the original 8" CP/M disk format is supported. These are files of exactly 256256 bytes in size. If you need an empty disk image to put your files in, make a copy of EMPTY.DSK.

Four drives are supported A:, B:, C:, D:. By default a disk image is mounted only on drive A, other drives need a manual command. See the next section for an example.

How to start CP/M and play a game

From BASIC type:

cd "/CPM"
run "GOCPM.AQX"

This will start CP/M. You will see:

CP/M 2.2 for Aquarius+

A>

The A> indicates drive A is currently selected. You can change to another drive by typing the drive letter followed by :. For example:

A>B:
Bdos Err on B: Select

We now see an error indicating that selecting drive B failed. This is because no disk has been inserted in drive B. Press ENTER or CTRL-C to get back to the A> prompt.

Now type DIR, you get a listing similar to:

A>DIR
A: AQMOUNT  COM : AQCD     COM : AQCOPY   COM : AQDIR    COM
A: PIP      COM : STAT     COM : ED       COM : SUBMIT   COM
A: DUMP     COM : ASM      COM : LOAD     COM : DDT      COM
A: XSUB     COM : WS       COM : WSOVLY1  OVR : WSMSGS   OVR
A>

You see filenames followed by an extension. All files with the COM extension are executable and can be started. To start a program you need to type the name of the program without the COM part.

Now lets play a game. Included in the distribution are the adventure games Zork 1, 2 and 3. These are each on their own disk image. To run one of these games, we first need to virtually insert (mount) this disk into one of the available drives. For this we will use the AQMOUNT command included on the A: drive.

To mount the Zork 1 disk on drive B, type AQMOUNT B ZORK1.DSK:

A>AQMOUNT B ZORK1.DSK
A:/CPM/DISK-A.DSK
B:/CPM/ZORK1.DSK
C:
D:

A>

The program will mount the disk image and shows a list of currently mounted disk images. To unmount a disk, use the same command without specifying the disk image name, eg. AQMOUNT B. You can also run AQMOUNT without arguments to only show the list of currently mounted disk images.

Now to start Zork 1, change to drive B, list the directory to see what the executable is called and start it:

A>B:
B>DIR
B: ZORK1    COM : ZORK1    DAT
B>ZORK1
ZORK I: The Great Underground Empire
...

Aquarius+ specific tools for CP/M

Since CP/M has its own file system, disk images are used. CP/M can't directly access files on your SD card. To be able to get files in and out of the CP/M environment, some tools where developed.

AQDIR lists all files in the current Aquarius+ directory. Directories are indicated using <>. Optionally you can give an argument to this command: a path, optionally including a wildcard, eg. ARDIR /*.COM.

AQCD lets you change the current Aquarius+ directory. Use the command without an argument to show the current directory or supply an argument to change to that directory.

AQMOUNT lets you mount a disk image on a drive, see the previous section for an example.

AQCOPY lets you copy files, either from CP/M to the current Aquarius+ directory or vice versa. AQCOPY uses the non-existing drive E: to know you want copy from your current Aquarius+ directory.

For example:

  • To copy all COM files from your current Aquarius+ directory to the current drive in CP/M, use A:AQCOPY E:*.COM.
  • Or if you want to copy all files from your current CP/M drive to your current Aquarius+ directory, use A:AQCOPY *.*

Note that the previous 2 examples included the drive letter in front of AQCOPY, this is necessary if your current drive is different than A, to let CP/M know where to find the AQCOPY program.

CP/M commands

The command shell used in CP/M is called CCP (Console Command Processor). This shell has a few built-in commands:

Name Description Examples
DIR List files on current disk DIR / DIR B:*.COM
ERA Erase a file ERA TEST.TXT / ERA *.TXT
REN Rename a file REN NEWNAME.TXT=OLDNAME.TXT
TYPE Type a file TYPE TEST.TXT
SAVE Save data from memory to a file See documentation
USER Change user number See documentation

Full documentation can be found here.

These commands are always available. Other commands need to be loaded from disk.

Clone this wiki locally