Changes

Jump to: navigation, search

CP/M 2.2

1,105 bytes added, 12:50, 24 April 2018
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, 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.
 
== Implementation ==
=== Amstrad CPM 2.2 ===
 
* Amstrad CPM2.2 uses Amstrad's "System" format. This is 40 tracks, 1 side, 9 sectors per track numbered &41-&49. 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 ==
2,562
edits