Changes

CP/M 2.2

139 bytes added, 19:06, 5 May 2018
/* Technical information */
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). The configuration sector sets the mode and displays the start up text.
4. Finally the boot code calls CPM "WBOOT".
* WBOOT loads 1 sector from track 0, side 0, sector 48 to the sector buffer. This is the first sector of platform independent part of CPM.
* It then peeks into the sector buffer reading and reads from offset 1,2 the address of the first JP of the CPM code. This is normally JP &9A5C.
* It adds &FCA4 to this address to get the start loading address for CPM CCP/BIOS which becomes &9700. Then it copies the sector into RAM. Therefore this address is used to relocate CCP/BIOS. This address can be indirectly defined using MOVCPM utility.
* It now loads 10 furthur further sectors (of the platform independent CPM) to start + &200 (normally &9900). This goes up to &AD00.
* It adds &EA00 to &AD00 to get back the original start of &9700. It remembers this.
2,541
edits