• Mike Stephens's avatar
    1) Fixes and tidy ups: · ad796332
    Mike Stephens authored
       - mapping of Cur/Sys/Sound area done more elegantly, and soft CAM info
         is now consistent with it
       - cached screen cleaning on VSync performed *after* VSync events
       - comments at top of ARM600 modernised
       - Pages_Unsafe/Safe code fixed to work properly on StrongARM with
         pages that are involved in interrupts (there is no fix for ARM8,
         since that is unlikely to be needed - an ASSERT checks use of ARM8
       - OS_DynamicArea code souped up, to be much more efficient for large
         numbers of dynamic areas (see comments near top of ChangeDyn)
       - cached screen is now suspended on h/w scroll (avoids possible cache
         incoherency)
    2) API changes:
       - new OS_Memory reason code (10) allows Wimp to inform kernel of
         Wimp_ClaimFreeMemory, and can control VRAM rescue (see below)
       - new OS_ReadSysInfo reason code (6) allows reading of kernel values
         (reserved for Acorn use, eg. for SoftLoad, ROMPatch)
       - new OS_DynamicArea reason codes (6 and 7) allow for more efficient
         monitoring of dynamic areas by TaskManager (reserved for Acorn use)
    3) Changes for Phoebe:
       - kernel runs a VRAM rescue process, which ensures that any VRAM not
         used for the screen is reclaimed if necessary and sinks to the bottom
         of the Free Pool. This is important for Phoebe, where VRAM is slower
         than SDRAM, but does no harm on other platforms.
       - logical copy of physical RAM is removed from memory map. This frees
         up 256M of address space that will later be used for PCI on Phoebe,
         but should do no harm on other platforms (this space is marked
         private in PRMs, so 3rd parties should not use it).
    ad796332
GetAll 16.8 KB