Changes

Jump to: navigation, search

Amstrad Whole Memory Guide - General system arrangement

1,948 bytes added, 23:26, 18 February 2018
Added page 5; still some missing links in references to other sections.
As a guide, HIMEM is AB7F in typical circumstances, but drops to A67B with disc drives connected, and may go even lower with [[AMSDOS]] active.
The official advice is that machine code programs should be relocatable, but that is not always feasible. It has been noted, however, that it is possible to set short routines in the BF00 area, and these survive a reset, which is useful ...
 
=== Jumpblock Entries ===
 
The RAM area from BB00 to BDC9 holds instructions accessing the principal operating system entries. Special jumps are used which select the required ROM automatically. Entries beginning &CF do this and no more, but entries beginning &EF also disable the relevant ROM when the routine returns. (See the section on 'The HST Area'.)
 
The jumpblock entries should be accessed by subroutine calls, so that a return address is available on the stack.
 
From BDCD to BDF3 the entries are simple jumps, beginning &C3. These are ‘indirections', which do not enable the appropriate ROM and should only be called when it is known that the ROM is already selected.
 
The intention is that the jumpblock addresses should not change, though they may access different entry points with different system versions. However, for ease of reference each routine description is headed by the jumpblock address and the associated destination in the operating system. The latter will
change with the system version, as in the CPC664, and the new entry points must be determined by checking the jumpblock
instructions.
 
=== Summary ===
 
This quick tour of the main system features should have served as a useful introduction to the system. We must now begin to look more closely at detail, beginning with the routines held in RAM.
 
=== Conventions ===
 
Two—digit hexadecimal numbers will are prefaced by '&', four—digit hexadecimal numbers are not. Brackets round a four—digit number indicate the contents of the location at the address identified by the number. Where the brackets contain a range of numbers, e.g in the form (00FA/D), the joint contents of the locations specified are indicated.
== Scanned pages ==
7
edits