Difference between revisions of "84PCE:Ports:0028"
From WikiTI
(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 - | + | [[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:''' | + | '''Function:''' Flash Protection Status |
== Details == | == Details == | ||
− | + | 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] === | ||
− | + | 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: | + | === 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.