Difference between revisions of "84PCE:Ports:0020"

From WikiTI
Jump to: navigation, search
Line 6: Line 6:
 
'''Function:''' Memory Protection Range
 
'''Function:''' Memory Protection Range
  
0020-0022: Memory protection range lower limit (LSB in 20, MSB in 22)
+
0020-0022: Memory protection range lower limit (inclusive, LSB in 20, MSB in 22)
  
0023-0025: Memory protection range upper limit (LSB in 23, MSB in 25)
+
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:
 
Any memory access from unprivileged code at an address (after adding MBASE in z80 mode) in this inclusive range has the following effects:
Line 16: Line 16:
 
* Privileged code can read and write normally.
 
* Privileged code can read and write normally.
  
By default the OS sets this to D1887C-D1887C.
+
By default the OS sets this to D1887C-D1887C. If lower limit > upper limit then no memory is affected.

Revision as of 16:36, 2 September 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.

By default the OS sets this to D1887C-D1887C. If lower limit > upper limit then no memory is affected.