Last modified on 1 May 2018, at 07:59

CP/M 3.0

Revision as of 07:59, 1 May 2018 by Arnoldemu (Talk | contribs) (Amstrad's implementation of CP/M+)

CP/M 3.0 after boot

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 requires a Dk'Tronics compatible ram expansion. 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.)