Difference between revisions of "84PCE:Ports:0020"
From WikiTI
(Mention that this range has privileged execution) |
|||
Line 15: | Line 15: | ||
* Fetches (reads of executed code) work normally. | * Fetches (reads of executed code) work normally. | ||
* Privileged code can read and write normally. | * Privileged code can read and write normally. | ||
+ | |||
+ | Execution in this range is privileged. Implications of privileged code are described in [[84PCE:Ports:001D]]. | ||
By default the OS sets this to D1887C-D1887C. If lower limit > upper limit then no memory is affected. | By default the OS sets this to D1887C-D1887C. If lower limit > upper limit then no memory is affected. |
Revision as of 16:34, 10 November 2016
Synopsis
Port Number: 0020-0025
Function: Memory Protection Range
0020-0022: Memory protection range lower limit (inclusive, LSB in 20, MSB in 22)
0023-0025: Memory protection range upper limit (inclusive, LSB in 23, MSB in 25)
Any memory access from unprivileged code at an address (after adding MBASE in z80 mode) in this inclusive range has the following effects:
- Reads read-as-zero.
- Writes don't affect the byte in memory and cause an nmi.
- Fetches (reads of executed code) work normally.
- Privileged code can read and write normally.
Execution in this range is privileged. Implications of privileged code are described in 84PCE:Ports:001D.
By default the OS sets this to D1887C-D1887C. If lower limit > upper limit then no memory is affected.