Difference between revisions of "CP/M 3.0"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Amstrad's implementation of CP/M+)
(Terminal emulation)
Line 37: Line 37:
 
* Use PIP to copy C10CPM3.EMS to your disc (B:=A:C10CPM3.EMS)
 
* Use PIP to copy C10CPM3.EMS to your disc (B:=A:C10CPM3.EMS)
 
* Your minimal CP/M+ disc is bootable.
 
* Your minimal CP/M+ disc is bootable.
 +
 +
=== Terminal font
 +
 +
<gallery caption="CP/M 3.0 terminal font">
 +
Image:Cpmplus.png
 +
>
  
 
=== Terminal emulation ===
 
=== Terminal emulation ===
Line 80: Line 86:
  
 
PCW and Spectrum support viewports. This is not supported on CPC. CPC assumes a single viewport covering the entire screen and it is moved up/down using software when using insert line or delete current, but moved up using hardware otherwise.
 
PCW and Spectrum support viewports. This is not supported on CPC. CPC assumes a single viewport covering the entire screen and it is moved up/down using software when using insert line or delete current, but moved up using hardware otherwise.
 
  
 
=== Memory layout ===
 
=== Memory layout ===

Revision as of 14:50, 12 August 2019

CP/M 3.0 after boot

CPM 3.0 (also known as CPM+) was available on the 2nd System_Disk Disc for CPC6128 but there were other implementations available.

Dobbertin's implementation of CP/M+

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. To get 61K TPA, CPM+ uses 'C1' and 'C2' RAM configuration with TPA in the 2nd bank and the CCP, BDOS, BIOS, screen and firmware in the 1st 64KB of RAM. This arrangement allows 61KB 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.)

Creating a minimal boot disc

Using CPM2.2:

  • Use disckit2 to format a vendor format disc
  • Use BOOTGEN to put the CPM+ boot sector onto your disc. (Source is CPM+, Destination is your disk).
  • Use FILECOPY to put C10CPM3.EMS onto your disc (FILECOPY C10CPM3.EMS. Source is CPM+, Destination is your disk).
  • Your minimal CP/M+ disc is bootable.

Using CPM3.3:

  • Use disckit3 to format and install the boot sector onto the disc.
  • Use PIP to copy C10CPM3.EMS to your disc (B:=A:C10CPM3.EMS)
  • Your minimal CP/M+ disc is bootable.

=== Terminal font