CP/M 3.0
From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 05:24, 28 April 2018 by Arnoldemu (Talk | contribs) (→Amstrad's implementation of CP/M+)
CPM 3.0 (also known as CPM+) was available on the 2nd System Disc for CPC6128 but there were other implementations available.
Graduate Software's implementation of CP/M+ on ROM
Amstrad's implementation of CP/M+
Amstrad distributed CP/M+ on the side 4 of the system discs that came with the CPC6128. It provided 61K TPA. CPM+ doesn't use the firmware. To get 61K TPA, CPM+ uses 'C1' RAM configuration with most of the code in the 2nd bank of 64KB leaving almost all the 1st bank of 64KB useable for programs.
On side 1 of the system discs was CP/M 2.2.
- Amstrad CP/M+ uses Amstrad's "System" format. This is 40 tracks, 1 side, 9 sectors per track numbered &41-&49. Each sector is 512bytes. There are two reserved tracks, then the directory which has 64 entries (which occupies 4 sectors) and then the data area.
- CP/M is booted using an RSX command "|CPM" which is implemented in the Amstrad disc rom (AMSDOS).
- |CPM loads track 0, side 0, sector &41 into RAM at &100-&2ff. This is the boot sector and contains the boot program.
- The boot program then loads the directory from track 2, sector &41.
- The boot program locates a program with extension "EMS".
- This program is loaded into RAM at &c00.
- This is then executed. (EMS contains the BIOS, BDOS and relocates and re-configures the memory. CP/M doesn't use the CP/M 2.2 BIOS from the Amstrad disc ROM.)