Difference between revisions of "PDN Services"

From 3dbrew
Jump to navigation Jump to search
(5 intermediate revisions by 4 users not shown)
Line 8: Line 8:
 
|-
 
|-
 
| 0x00010000
 
| 0x00010000
| This loads the u32s from 0x1EC41000+8 and 0x1EC41000+12, then writes those to cmdreplyword[2] and cmdreplyword[3].
+
| This loads [[CONFIG11 Registers|CFG11_PTM_0]] and [[CONFIG11 Registers|CFG11_PTM_1]], then writes them to cmdreplyword[2] and cmdreplyword[3].
 
|-
 
|-
 
| 0x00020080
 
| 0x00020080
| u32 0x1EC41000+12 = cmdword[2] & cmdword[1]. This then writes cmdword[1] to u32 0x1EC41000+8. u32 0x1EC41000+12 = cmdword[2] & ~cmdword[1].
+
| [[CONFIG11 Registers|CFG11_PTM_1]] = cmdword[2] & cmdword[1]. This then writes cmdword[1] to [[CONFIG11 Registers|CFG11_PTM_0]]. [[CONFIG11 Registers|CFG11_PTM_1]] = cmdword[2] & ~cmdword[1].
 
|-
 
|-
 
| 0x00030040
 
| 0x00030040
| This writes cmdword[1] to u32 0x1EC41000+12.
+
| This writes cmdword[1] to [[CONFIG11 Registers|CFG11_PTM_1]].
 
|}
 
|}
  
Line 24: Line 24:
 
|-
 
|-
 
| 0x000100C0
 
| 0x000100C0
| (u8 unk0, u8 unk1, u8 unk2) ?controls power to the DSP <just a guess>?
+
| (bool enable, bool reset, bool deassertResetAfterReset) Enables and/or resets the DSP and/or holds it in reset
 
|}
 
|}
  
Line 34: Line 34:
 
|-
 
|-
 
| 0x00010040
 
| 0x00010040
| This sets bit0 in u8 *(0x1EC41000+0x220) to u8 cmd+4.
+
| This sets bit0 in [[CONFIG11 Registers#CFG11_CODEC_CNT|CFG11_CODEC_CNT]] to u8 cmd+4.
 
|-
 
|-
 
| 0x00020040
 
| 0x00020040
| This sets bit1 in u8 *(0x1EC41000+0x220) to u8 cmd+4.
+
| This sets bit1 in [[CONFIG11 Registers#CFG11_CODEC_CNT|CFG11_CODEC_CNT]] to u8 cmd+4.
 
|}
 
|}
  
Line 47: Line 47:
 
|-
 
|-
 
| 0x000100C0
 
| 0x000100C0
| (u8 unk0, u8 unk1, u8 unk2) ?
+
| (bool enableClock, bool resetEngines, bool resetVram) Enables and/or resets the GPU, see [[CONFIG11 Registers#CFG11_GPU_CNT|CFG11_GPU_CNT]]
 
|}
 
|}
  
Line 57: Line 57:
 
|-
 
|-
 
| 0x00010040
 
| 0x00010040
| This sets bit0 in u8 *(0x1EC41000+0x224) to u8 cmd+4.
+
| This sets bit0 in [[CONFIG11 Registers#CFG11_CAMERA_CNT|CFG11_CAMERA_CNT]] to u8 cmd+4.
 
|-
 
|-
 
| 0x000200000
 
| 0x000200000
| This writes u8 *(0x1EC41000+0x224) & 1 to u8 cmdreply+8.
+
| This writes [[CONFIG11 Registers#CFG11_CAMERA_CNT|CFG11_CAMERA_CNT]] & 1 to u8 cmdreply+8.
 
|}
 
|}

Revision as of 14:16, 6 May 2020


PDN PTM Service "pdn:s"

Command Header Description
0x00010000 This loads CFG11_PTM_0 and CFG11_PTM_1, then writes them to cmdreplyword[2] and cmdreplyword[3].
0x00020080 CFG11_PTM_1 = cmdword[2] & cmdword[1]. This then writes cmdword[1] to CFG11_PTM_0. CFG11_PTM_1 = cmdword[2] & ~cmdword[1].
0x00030040 This writes cmdword[1] to CFG11_PTM_1.

PDN DSP Service "pdn:d"

Command Header Description
0x000100C0 (bool enable, bool reset, bool deassertResetAfterReset) Enables and/or resets the DSP and/or holds it in reset

PDN CODEC Service "pdn:i"

Command Header Description
0x00010040 This sets bit0 in CFG11_CODEC_CNT to u8 cmd+4.
0x00020040 This sets bit1 in CFG11_CODEC_CNT to u8 cmd+4.

PDN GSP service "pdn:g"

Command Header Description
0x000100C0 (bool enableClock, bool resetEngines, bool resetVram) Enables and/or resets the GPU, see CFG11_GPU_CNT

PDN Camera Service "pdn:c"

Command Header Description
0x00010040 This sets bit0 in CFG11_CAMERA_CNT to u8 cmd+4.
0x000200000 This writes CFG11_CAMERA_CNT & 1 to u8 cmdreply+8.