Switch 2: Compatibility Mode: Difference between revisions

Line 53: Line 53:


{| class=wikitable
{| class=wikitable
! Hooked Symbol || Difference
! Hooked Symbol || Difference || Conditional
|-
|-
| nnosInitialize || Captures the ProgramArgument parameter where the [[#CompatibilityParameter]] is stored.
| nnosInitialize || Captures the ProgramArgument parameter where the [[#CompatibilityParameter]] is stored. ||
|-
|-
| nn::os::CreateThread || No change.
| nn::os::CreateThread || No change. ||
|-
|-
| nn::os::SetThreadCoreMask || No change.
| nn::os::SetThreadCoreMask || No change. ||
|-
|-
| nn::os::GetThreadAvailableCoreMask || Returns actual core mask masked with 0x7, effectively pretending that there are only 3 CPU cores available.
| nn::os::GetThreadAvailableCoreMask || Returns actual core mask masked with 0x7, effectively pretending that there are only 3 CPU cores available. ||
|-
|-
| nn::audio::GetAudioInName || If the primary audio in name is "XUac", it returns the secondary device name instead. Presumably, the "XUac" device has been removed in Switch 2.
| nn::audio::GetAudioInName || If the primary audio in name is "XUac", it returns the secondary device name instead. Presumably, the "XUac" device has been removed in Switch 2. ||
|-
|-
| nn::audio::GetReleasedWaveBuffer || Now returns NULL under certain circumstances.
| nn::audio::GetReleasedWaveBuffer || Now returns NULL under certain circumstances. ||
|-
|-
| nn::web::OfflineWebSession::Appear || Added sleep 50000000 before calling the original function. Enabled by MiscControlData bit13.
| nn::web::OfflineWebSession::Appear || Added sleep 50000000 before calling the original function. || MiscControlData bit13.
|-
|-
| nn::swkbd::InlineKeyboard::GetImage, nn::swkbd::InlineKeyboard::Calc || Takes a shared mutex before calling original functions. No other changes. Probably prevents a race condition that only manifests on Switch 2.
| nn::ssl::Connection::SetSocketDescriptor || Calls Fnctl(..., 3); Fnctl(..., 4); on the socket fd. || MiscControlData bit15
|-
| nn::swkbd::InlineKeyboard::GetImage, nn::swkbd::InlineKeyboard::Calc || Takes a shared mutex before calling original functions. No other changes. Probably prevents a race condition that only manifests on Switch 2. ||
|}
|}