CP/M 2.2

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 04:16, 1 May 2018 by Arnoldemu (Talk | contribs)

Jump to: navigation, search
CP/M 2.2 after boot

Operating system for the Intel 8080 and Zilog Z80 based computers by Digital Research

CP/M 2.2 was the first CP/M avaiable for the Amstrad CPC. A minimum requirement to run CP/M was a disc drive therefore CP/M 2.2 came bundled with the Amstrad DDI-1 discdrive with the BIOS in the AMSDOS ROM, making it possible to run CP/M 2.2 on the Amstrad CPC 464. Later when the Amstrad CPC 664 was released, CP/M 2.2 came together with this machine as the 664 had a built in discdrive. With the CPC6128 it was on one of the two system discs, with CPM+ on the other.

Implementations

Vortex's implementation of CP/M 2.2

Amstrad's implementation of CPM 2.2

CP/M 2.2 was distributed with the DDI-1 disc interface, the CPC464, and on side 1 of the CPC6128 system discs. It provided 43K TPA. CP/M 2.2 uses the firmware, and the CPM BIOS calls into it through a special "ENTER FIRMWARE" function in the disc ROM. 43K is the max useable ram when the firmware is active and the screen is at &c000-&ffff.

  • Amstrad CPM2.2 uses Amstrad's "System" format. This is 40 tracks, 1 side, 9 sectors per track numbered &41-&49. Each sector holds 512Bytes. There are two reserved tracks, then the directory which has 64 entries, and then the data area.
  • CP/M is booted by a RSX command "|CPM" which is implemented by the AMSDOS ROM (the standard disc ROM in the DDI-1, CPC664, CPC6128 and 6128Plus).

1. The |CPM command loads track 0, side 0, sector 41 into ram at &100 and jumps to it. This is the boot sector. (The boot sector occupies &100-&2ff).

2. The boot code copies the BIOS jumpblock from the AMSDOS rom to &500. (In the AMSDOS ROM this is located at &C17F. The actual address is passed to the boot rom in BC).

3. The boot code then loads track 0, side 0, sector 42 into ram at &300 which is the "configuration" sector which defines colours, mode, and keyboard translation tables. (The configuration sector occupies &300-&4ff).

4. Finally the boot code calls CPM "WBOOT".

  • WBOOT loads multiple sectors from the reserved tracks, this is the platform independent CPM system (BDOS etc).

Download

Manual