Switch 2: Compatibility Mode: Difference between revisions

No edit summary
Line 21: Line 21:


To retrieve this pointer, [[#nnCompatThin|nnCompatThin]] intercepts the nnosInitialize function and retrieves it from there. Normally, a game doesn't use the ProgramParameter so it doesn't care this parameter was passed.
To retrieve this pointer, [[#nnCompatThin|nnCompatThin]] intercepts the nnosInitialize function and retrieves it from there. Normally, a game doesn't use the ProgramParameter so it doesn't care this parameter was passed.
{| class=wikitable
! Offset || Type || Name
|-
| 0x00 || ModuleSdkInfo[11] || Modules
|-
| 0xB0 || u64 || ModulesCount
|-
| 0xB8 || u64 || GraphicsControlData
|-
| 0xC0 || u64 || MovieControlData
|-
| 0xC8 || u64 || AudioControlData
|-
| 0xD0 || u64 || MiscControlData (bit10: NeedsWaitingLaunchLogo)
|}
=== ModuleSdkInfo ===
{| class=wikitable
! Offset || Type || Name
|-
| 0x00 || const char* || SdkNameStringPtr. Points to a string of the form "SDK MW+Nintendo+NintendoSdk_nnSdk-XX_Y_Z-Release".
|-
| 0x08 || u32 || SdkNameStringLength
|-
|}


= nnCompatTrampoline =
= nnCompatTrampoline =