Switch 2: Compatibility Mode: Difference between revisions
No edit summary |
|||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 8: | Line 8: | ||
= NPDM Adjustments = | = NPDM Adjustments = | ||
* Game has access to SVC 0x80 even though it's not in the game NPDM. | * Game has access to SVC 0x54, 0x80 even though it's not in the game NPDM. | ||
* Game has CoreMask 0x3F (so access to core0-5) even though the game NPDM only has CoreMask 0x7. | * Game has CoreMask 0x3F (so access to core0-5) even though the game NPDM only has CoreMask 0x7. | ||
* It's unknown if the service whitelist is updated for the game when running in Compatibility mode. | * It's unknown if the service whitelist is updated for the game when running in Compatibility mode. | ||
| Line 20: | Line 20: | ||
Below is a breakdown what some of the hooks and what their purpose is. | Below is a breakdown what some of the hooks and what their purpose is. | ||
== Modules == | |||
Rtld is identical besides the extra page at the end of .bss for [[#CompatibilityParameter|CompatibilityParameter]]. | |||
The compat modules are loaded between the main module and the (sub)sdk* modules. | |||
The existing modules are not directly modified. | |||
== CompatibilityParameter == | == CompatibilityParameter == | ||
| Line 133: | Line 140: | ||
|- | |- | ||
| nn::vi::* || Translation layer because vi:u was removed? | | nn::vi::* || Translation layer because vi:u was removed? | ||
|- | |||
| nn::pl::IsRunningOnOunce || Returns 1 instead of 0. | |||
|} | |} | ||