Changes

916 bytes added ,  15:13, 8 March 2023
no edit summary
Line 25: Line 25:  
| 0x8100-0x93FF{{check}}
 
| 0x8100-0x93FF{{check}}
 
| 0x1300
 
| 0x1300
| DC registers 0x4100+
+
| DC write registers 0x4100+
 
|-
 
|-
 
| 0x9400-0x940F
 
| 0x9400-0x940F
Line 33: Line 33:  
| 0x9600-0xBFFF{{check}}
 
| 0x9600-0xBFFF{{check}}
 
| 0x2A00
 
| 0x2A00
| DC registers 0x5600+
+
| DC write registers 0x5600+
 
|-
 
|-
 
| 0xFFC0-0xFFFF
 
| 0xFFC0-0xFFFF
Line 39: Line 39:  
| Vectors
 
| Vectors
 
|}
 
|}
 +
 +
== DC interface ==
 +
{{reglist|DC Interface Registers}}
 +
{{rld|0x9402|8|Write Control|DMCU waits for the lowest bit to be set before performing any writes}}
 +
{{rld|0x9404|32|Write Data|Little endian value which can be used to perform a 32-bit write}}
 +
{{rld|0x9408|16|Read Address|Address divided by 4 to read from the DC}}
 +
{{rld|0x940A|8|Read Control|DMCU waits for the lowest bit to be set before performing any reads}}
 +
{{rld|0x940C|32|Read Data|Little endian value which contains the data from a 32-bit read}}
 +
|}
 +
 +
To write to the DC, wait for the lowest '''Write Control''' bit to be set, then write a 8 bit value to any of the '''DC write registers'''. Writing 0xFF to a register triggers a 32-bit write using the '''Write Data''' register.
 +
 +
To read from the DC, write an address to '''Read Address''' and wait for the lowest '''Read Control''' bit to be set. '''Read Data''' now contains the data read.