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

From WikiTI
Jump to: navigation, search
(Created page with "0028 - Unknown == Synopsis == '''Port Number:''' 0028 '''Function:''' Unknown == Details == This port's function is unknown. === Bit [0...")
 
(Fix flash unlock sequence.)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:84PCE:Ports:By_Address|0028 - Unknown]]
+
[[Category:84PCE:Ports:By_Address|0028 - Flash Protection Status]] [[Category:84PCE:Ports:By_Name|Flash Protection Status]]
 
== Synopsis ==
 
== Synopsis ==
 
'''Port Number:''' 0028
 
'''Port Number:''' 0028
  
'''Function:''' Unknown
+
'''Function:''' Flash Protection Status
  
 
== Details ==
 
== Details ==
  
This port's function is unknown.
+
Flash is unlocked if both bits 2 and 3 of this port are set.
  
 
=== Bit [0] ===
 
=== Bit [0] ===
 
Latches value written, no apparent effect.
 
Latches value written, no apparent effect.
 +
 +
Used by OS on Python Edition.
  
 
=== Bit [1] ===
 
=== Bit [1] ===
Line 16: Line 18:
  
 
=== Bit [2] ===
 
=== Bit [2] ===
Latches value written, no apparent effect.
+
Can be written freely (under the usual privileged port constraints).
 +
 
 +
=== Bit [3] ===
 +
Can be cleared by writing a 0.
 +
Gets cleared any time unprivileged code is executed or port 6 bit 2 is reset.
 +
Fetching a flash unlock sequence (F31800F3ED7EED56ED3928ED3828CB57) that ends in privileged flash while port 6 bit 2 is set is the only way to set it.
  
=== Bits [7:3] ===
+
=== Bits [7:4] ===
 
Writes do not latch, no apparent effect.
 
Writes do not latch, no apparent effect.

Latest revision as of 16:29, 8 July 2021

Synopsis

Port Number: 0028

Function: Flash Protection Status

Details

Flash is unlocked if both bits 2 and 3 of this port are set.

Bit [0]

Latches value written, no apparent effect.

Used by OS on Python Edition.

Bit [1]

Always 0, writes do not latch.

Bit [2]

Can be written freely (under the usual privileged port constraints).

Bit [3]

Can be cleared by writing a 0. Gets cleared any time unprivileged code is executed or port 6 bit 2 is reset. Fetching a flash unlock sequence (F31800F3ED7EED56ED3928ED3828CB57) that ends in privileged flash while port 6 bit 2 is set is the only way to set it.

Bits [7:4]

Writes do not latch, no apparent effect.