Showing changes from revision #2 to #3:
Added | Removed | Changed
Entry | |
---|---|
R0 | Bank number |
R4 | Bits 0-15: 23 (reason code) |
Bits 16-23: Overlay number | |
Bits 24-31: Driver number |
Exit | |
---|---|
R0 | Pointer to array giving buffer addresses: |
Word 0: Plane 0 base logical address | |
Word 1: Plane 0 stride between image rows (in bytes) | |
Words 2+: Logical addresses and strides for any additional planes | |
R4 | 0 |
- | All other registers preserved |
Maps an overlay bank/buffer into logical address space, potentially allocating the memory for it if the driver hasn’t already done so.
If this is a freshly-allocated buffer, the contents are undefined. Otherwise, the contents will be preserved.
Drivers may have limited logical address space available for mapping overlays, so in Wimp situations, it’s recommended to unmap your overlay(s) before allowing the Wimp to swap out your task.
The array returned in R0 will remain valid until the bank is unmapped.