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.