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

From WikiTI
Jump to: navigation, search
(Fix flash unlock sequence.)
 
(2 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
=== 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] ===
Can be written freely (under the usual protected port constraints).
+
Can be written freely (under the usual privileged port constraints).
  
 
=== Bit [3] ===
 
=== Bit [3] ===
 
Can be cleared by writing a 0.
 
Can be cleared by writing a 0.
 
Gets cleared any time unprivileged code is executed or port 6 bit 2 is reset.
 
Gets cleared any time unprivileged code is executed or port 6 bit 2 is reset.
Fetching a flash unlock sequence (F31800F3F3ED7EED56ED3928ED3828CB57) that ends in privileged flash while port 6 bit 2 is set is the only way to set it.
+
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] ===
 
=== Bits [7:4] ===
 
Writes do not latch, no apparent effect.
 
Writes do not latch, no apparent effect.

Latest revision as of 15: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.