Entry | |
---|---|
R0 | Required amount of memory to change application space |
R1 | 17 (&11) |
R2 | Current Active Object pointer (CAO) |
Exit | |
---|---|
R1 | Value of 0 prevents re-mapping taking place |
This call is used when the contents-addressable memory in the memory controller is about to be re-mapped, which alters the memory map of the system. This call should be claimed if re-mapping should not take place.
A module will be initially provided the current slot size for its application workspace (beginning at &8000). However, modules do not generally need this area, as they use RMA memory instead. Therefore, when an application calls Wimp_Initialise?, the Wimp inspects the CAO, and if the value is within application workspace the Wimp does nothing. If, however, the CAO is outwith application workspace, then the Wimp will reduce the current slot size to zero automatically.
Some modules do not require application workspace, and therefore the Wimp uses this call just before returning the application to its free pool. e.g. the BASIC module does not require application workspace.