You are at Site Home > LuxSoft Home > PCW Help > 3 - CP/M 



Help, Tips & FAQ's 

for the Amstrad PCW :

Part 3 - CP/M






3.1 Introduction

This is the name of the operating system supplied with the Amstrad PCW - the software which enables the PCW to read and write things to disc as well as service other bits hung on to the computer such as printers. CP/M thereby enables the PCW to operate as a conventional computer (or at least one of the 1980's) and so set it apart from other dedicated word processors. A wide range of software soon became available for the PCW, ranging from accounts to payrolls, databases to desk top publishers, spreadsheets to family tree makers ... and some games. One could even write one's own programs using the supplied Mallard version of the Basic programming language developed by Locomotive Software.

Over the years, its slowness and restricted capacity have meant that most users of the PCW as a pure computer have migrated to PC's or Macs but it still has a useful role to play in this mode, if nothing else, to support its prime use for word processing using LocoScript. A couple of the programs which do this are covered below - PIP and Disckit.


3.2 - To Start the PCW in CP/M

Start the PCW in 'computer mode' by switching on, inserting the CP/M system disc and waiting until the "A prompt" (A>) appears. On the 9512, this will take a few moments because a few 'helpful' preparatory commands are obeyed during start up. To stop this happening (as is desirable when DiscKit is to be used for disc copying), hit the Stop key a couple of times as soon as the 'CP/M version' legend appears at the top of the screen. 

The A in the A> 'prompt' means that unless you specify otherwise, any command to load a file or program will first be directed towards (or "default" to) the A drive and > is a prompt to indicate that it is waiting for you to type in something ('enter a command'). Just as with DOS on PC's, this may be entered in upper or lower case - it matters not - and all commands at this prompt must be followed by either Enter or Return to signify the end of the command (these two keys being synonymous in CP/M, unlike LocoScript).

3.2.1 - Addressing the drives

If you now type in just DIR[Return] you will get a DIRectory list of the files on drive A because, without any explicit instruction to do otherwise, it operates on the "default" drive as shown by the prompt. To switch the 'default' drive from A to M, simply type M:[Return] and the prompt will change to M>. Now repeat the DIR and a different list - those on M - will appear. To obtain a list for a drive other than the default, you have to be explicit so, with the default now as M, to obtain a list for drive A, the command becomes DIR A:[Return]. Note the space between the Command (DIR) and its 'parameters' (ie A:) and that a colon is the computer shorthand for 'drive'. As with DOS, you must enter the colon when referring to drives - otherwise it will think you are talking about a file called A or M - but, unlike DOS, the colon does not appear in the prompt (ie just A> rather than A:>).

NOTE - The second drive on a twin drive PCW is addressed as drive B so, to obtain a directory listing of a disc in that drive, type in DIR B:[Return]. Note that if you do this on a single drive PCW, you will be invited to "load the disc for Drive B". This does NOT mean that you do have a second drive hidden in the bowels of the machine somewhere (!), it merely allows sequential access to two different discs in the same drive so uses A & B 'drives' as a way of keeping track of them both.


3.2.2 - Switching Discs

Unlike Loco, there is no key to hit to tell CP/M that you have switched discs in a drive. In theory at least, it should sense a disc change so, the first time a new disc is accessed, you should hear the characteristic 'bomp bomp' sound of the directory being read. However, this does not always seem to happen and because the disc directory is copied to memory to speed access, a DIR command can list the contents of the previous rather than current disc. A tad confusing! Repeating the command and/or re-setting the disc usually restores the knickers to a less twisted state. 

NOTE - When switching between single density (180k) and double density (720k) discs in a 720k drive (like the B drive of an 8512), you may well be treated to 'Disc Address Mark Missing' for track 1 (the directory track) so be fooled into believing that the disc is faulty. Perseverance with a mixture of R to Re-try, I to Ignore and re-setting the disc usually does the trick.


3.2.3 - Commands

Just about everything you type in at the A> prompt will be a command to load & run a program of that name, programs being recognised by having .COM as the last part of their name (the 'file extension'). Hence entering PIP[Return] is a command to load Pip.Com from the default drive then run it, so it follows that the program file of the specified name should be available on the disc in that drive. However, prefacing the command with the drive letter enables you to load the program from a different drive without having to disturb the current default drive eg M:PIP loads and runs the program from drive M without affecting the default drive or the disc thatís in it. Part of the 9512's CP/M start-up process is to run PIP to copy itself plus a couple of other useful programs from A to M. This enables you to run PIP with M:PIP at any time during the session without having to switch discs in A to the one with that program on it - very useful !


3.2.4 - Users = Groups  

CP/M supports up to 16 Groups - or "Users" as they are usually referred to in CP/M lingo. These are numbered from 0 to 15 but, unlike LocoScript, the vast majority of CP/M software only ever uses User 0 for its files. This is the 'default' user so 0 does not need to be specified as a qualifier to the drive letter in commands except on very rare occasions which need not bother us here. However, different Users do come into play when dealing with LocoScript discs in programs like PIP (see below) and the references to them must be by their Group number and not any name they have been called in Loco. This can easily be worked out from Loco's Disc Manager Screen as Groups 0-3 are down the left hand column of the drive summary and 4-7 down the right.    


3.2.5 - Running programs from drive M - getting a Full Directory Listing

To obtain a list on screen of all the files - including Limbos - on a disc in drive A (rather than just Group 0 as was done above), enter the command:

M:DIR A:[users=all]      then hit the Return key    

Note that the M: has been specified this time. This is for two reasons:

  • DIR is one of four commands which, in their simplest form, can be handled by CP/M without recourse to running the named program. These are called 'built-in' commands so typing in just DIR or DIR M: as was done at the start did not actually need the program disc in the drive at the time. However, as soon as anything complicated is entered, like stuff in square brackets, the full program needs to be loaded and run.

  • By running programs from drive M, disc swapping is minimised and, on single drive PCW's, makes things possible that otherwise would not be eg a full directory listing for any disc which didn't have Dir.Com on it!  



  • 3.3 - Using the Disckit program to Copy, Format & Verify discs

Please click here to transfer to the page dedicated to Disckit


  • 3.4 - Using PIP to copy multiple files

PIP can be run in two ways:

  • By entering PIP at the command prompt followed by a space then details of the files(s) to be copied in one hit eg PIP M:=A:PIP.COM.

  • Just PIP to perform several different tasks in one 'run' of the program. The prompt changes to an asterisk to denote that one of PIP's commands must now be entered. When successfully completed, another asterisk prompt will appear. To terminate the run and return to the normal CP/M command prompt, just hit the Return key. 

The latter is recommended and assumed here .... so just type in PIP to get started. 

Pip's command syntax is the opposite to the DOS copy command so does take a little getting used to. It takes the form: 

make the Destination(s) = to the Source(s)

so   M:=A:PIP.COM will copy the PIP program from drive A to drive M. 

PIP's syntax supports the ? (any single character) and * (any number of characters) 'wild cards' so 

M:=A:*.* will copy all files on drive A to M
M:=A:*.COM will copy A to M only those ending in .COM
M:=A:A*.* will copy A to M only those starting with the letter A

This is all very well but it only addresses User 0. What about the others, which may well arise when dealing with discs from Locoscript? This is where the [Gn] parameter comes in, the n representing the Group number.

M:[G1]=A:*.*[G7] will copy all files from Group 7 of A to 1 of M

so is very useful when reorganising discs, especially when a disc is getting full and you want to peel off a complete Group on to another disc without the tedium of individual file copying in Loco. Another useful variant is:

B:[G1]=A:*.*[G9] will copy all files from (Limbo) Group 9 of A to (the corresponding Active) Group 1 on drive B

To quit the program and return to CP/M's command prompt after the last copy, simply hit the Return key. 


  • When doing a series of PIP's to reorganise discs, it's a good idea to script out on paper your planned sequence of operation beforehand. 

  • The Paste key summons back the previous command you typed. You can either just hit Return to repeat the same action or amend it before so doing - this saves a lot of typing when doing a series of basically similar operations.

Have fun !


Back to part 1, Introduction   -   Back to part 2, LocoScript

On to part 4 - How to Run Disckit


If you have any comments or tips of your own, please e-mail to



LuxSoft of swinging downtown Luxulyan

 "Clinging to the Trailing Edge of Technology"


Established 1986 - This page last amended 1st Jan 2021

All material strictly Copyright LuxSoft of Luxulyan 2000-2021

All rights reserved worldwide

No part of this write-up may be copied, pinched or otherwise plagiarised
 without the express permission of the author.