Changes

no edit summary
Line 6: Line 6:     
Each game uses different methods of emulation.
 
Each game uses different methods of emulation.
 +
 +
The pause-menu when pressing the '-' button in each game uses the Offline web-applet with [[Internet_Browser#WebSession|WebSession]].
 +
 +
= NPDM =
 +
This section documents the [[NPDM]] for the launcher and each game.
 +
* Launcher: Roughly the same as most Switch games' NPDM.
 +
* SuperMario64: Locked down since this uses [[JIT_services|JIT]]. Compared to the Launcher NPDM (besides ProgramId):
 +
** ProgramIdMin/ProgramIdMax is 010049900F546001-010049900F546001, with other NPDMs it's the normal full Application-range.
 +
** Access to [[SVC|svcMapPhysicalMemory]]/[[SVC|svcUnmapPhysicalMemory]] was removed, and access to [[SVC|svcCreateCodeMemory]] was added.
 +
** The only other difference is service-access-control: this was locked down, and only has the following services: [[Account_services|acc:u0]], [[NS_Services|aoc:u]], [[PPC_services#apm|apm]], [[Applet_Manager_services|appletOE]], [[Audio_services|audren:u]], [[Filesystem_services|fsp-srv]], [[HID_services|hid]], [[JIT_services|jit:u]], [[RO_services|ldr:ro]], [[Log_services|lm]], [[NV_services|nvdrv]], [[Parental_Control_services|pctl]], [[BCAT_services|prepo:u]], [[Settings_services|set]], [[PCV_services|time:u]], [[Display_services|vi:u]].
 +
** Note that aoc:u, pctl, and lm are only accessible since sdknso automatically initializes these during startup, the main-codebin itself doesn't use these.
 +
* SuperMarioSunshine: Same as Launcher (besides ProgramId), except [[NPDM#Flags|flag]] OptimizeMemoryAllocation is set.
 +
* SuperMarioGalaxy: Same as Launcher (besides ProgramId), except [[NPDM#Flags|flags]] is 0x4: Is64BitInstruction=0(AArch32) and ProcessAddressSpace=0x2.
    
= SuperMario64 =
 
= SuperMario64 =