Nintendo 64 - Nintendo Switch Online: Difference between revisions
No edit summary |
|||
(10 intermediate revisions by the same user not shown) | |||
Line 47: | Line 47: | ||
The struct passed as the InBuffer to [[JIT_services#Control|Control]] is now 0xE00-bytes instead of 0xEB0-bytes. The internal workmem offsets / layout changed. Various funcs were updated etc. | The struct passed as the InBuffer to [[JIT_services#Control|Control]] is now 0xE00-bytes instead of 0xEB0-bytes. The internal workmem offsets / layout changed. Various funcs were updated etc. | ||
The | With v2.9.0 the controldata is now 0xE08-bytes. | ||
The controldata struct has the following structure (all addrs/data are from the emulator user-process): | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 113: | Line 115: | ||
| 0x96C || 0x4 || Array count for the the following array. | | 0x96C || 0x4 || Array count for the the following array. | ||
|- | |- | ||
| 0x970 || 0x280 (0x20*0x14) || Array data with the above count, each entry is 0x14-bytes. The emulator loads this from config array "SpecialInst". +0 = u32 emu_pc_addr (config "Addr"), +4 = u32 instruction_value (config "Inst"), +8 = u32 flags. The emulator sets the flags to 0 by default, then compares config "Type" with various strings to determine the value. Flags: bit0 = Type "BreakLoop", bit5 = Type "LoadFrameBuffer", bit6 = Type "Lua_BeforeInst", bit7 = Type "Lua_AfterInst". | | 0x970 || 0x280 (0x20*0x14) || Array data with the above count, each entry is 0x14-bytes. The emulator loads this from config array "SpecialInst". +0 = u32 emu_pc_addr (config "Addr"), +4 = u32 instruction_value (config "Inst"), +8 = u32 flags. The emulator sets the flags to 0 by default, then compares config "Type" with various strings to determine the value. Flags: bit0 = Type "BreakLoop", bit5 = Type "LoadFrameBuffer", bit6 = Type "Lua_BeforeInst", bit7 = Type "Lua_AfterInst", bit9 (v2.9.0+) = unknown. | ||
When the config for {any of the previously mentioned Type strings} is set to value 1, the emulator will also enable the corresponding flags bit mentioned above. Likewise with config "Return", which sets flags bit8. | When the config for {any of the previously mentioned Type strings} is set to value 1, the emulator will also enable the corresponding flags bit mentioned above. Likewise with config "Return", which sets flags bit8. | ||
Line 132: | Line 134: | ||
|- | |- | ||
| 0xDFC || 0x4 || Set to 0 by default by the emulator. With config <code>"Cmp", "CodeMultiAddr"</code> this is set to 1. Config <code>"Cmp", "BlockDynamicPC"</code> from [[Super_Mario_3D_All-Stars|SM3DAS]] is not supported. The plugin doesn't use this field, since support for "BlockDynamicPC" was removed. All code which used to use this now assumes val!=2, with code for ==2 being removed. | | 0xDFC || 0x4 || Set to 0 by default by the emulator. With config <code>"Cmp", "CodeMultiAddr"</code> this is set to 1. Config <code>"Cmp", "BlockDynamicPC"</code> from [[Super_Mario_3D_All-Stars|SM3DAS]] is not supported. The plugin doesn't use this field, since support for "BlockDynamicPC" was removed. All code which used to use this now assumes val!=2, with code for ==2 being removed. | ||
|- | |||
| 0xE00 || 0x4 || Added with v2.9.0, see below. | |||
|} | |} | ||
Line 243: | Line 247: | ||
== v2.0.0 == | == v2.0.0 == | ||
The SDK version was updated to 13.3.0. | The SDK version was updated to 13.3.0. The Pia* versions were updated to v5.38.0, previously it was v5.36.0. The version for Pia itself was changed to v5.38.0.59024 from v5.36.0.57074. | ||
ExeFs: | ExeFs: | ||
Line 452: | Line 456: | ||
*** .cfg, .pcb, and .nro updated. In the .cfg two entries were removed from "RendererSetting". | *** .cfg, .pcb, and .nro updated. In the .cfg two entries were removed from "RendererSetting". | ||
** "N-4813_e/", "N-4813_p/" added (Wave Race 64) | ** "N-4813_e/", "N-4813_p/" added (Wave Race 64) | ||
== v2.7.0 == | |||
ExeFs: | |||
* NPDM only had the usual ACID pubkey/signature update. | |||
* main: updated | |||
RomFs: | |||
* "/bootapp/init.json" updated | |||
* "/bootapp/resources/fonts/": Various fonts updated. | |||
* "/bootapp/resources/scripts/states/ui/statedisplaymode.lua" updated | |||
* "/bootapp/resources/scripts/sys/sysingame.lua" updated | |||
* "/bootapp/resources/strings/": Various localization data updated. | |||
* "/.nrr/": The NRRs were updated, and added "N-3783_e.nrr"/"N-3783_p.nrr". | |||
* "/Pipeline.cache" updated | |||
* "/shader_vulkan_v2_vert.spv" added | |||
* "titles/": | |||
** "lclassics.titlesdb" updated | |||
** "N-2456_e/N-2456_e.dtz" updated (F-Zero X) | |||
*** .cfg, .pcb, .nro, and .lua updated. In the .cfg the "MaxTaskPerFrame" field in "RSP" was removed. | |||
** "N-4371_e/N-4371_e.dtz" updated (Mario Golf) | |||
*** .cfg, .pcb, .nro, and .lua updated. In the .cfg the formatting was adjusted. Under "RSP" the "FramesPerGTask" field was removed, and fields "RDPIntDelay"/"RDPIntDelayRelative" were added. The value of all "Comment" fields are now blank (""). | |||
** "N-3783_e/", "N-3783_p/" added (Pilot Wings 64) | |||
== v2.8.0 == | |||
ExeFs: | |||
* NPDM only had the usual ACID pubkey/signature update. | |||
* main: updated | |||
RomFs: | |||
* "/bootapp/init.json" updated | |||
* "/bootapp/resources/fonts/": Various fonts updated. | |||
* "/bootapp/resources/scripts/states/ui/stateingameentrance.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stateingame.lua" updated | |||
* "/bootapp/resources/scripts/sys/sysnotifier.lua" updated | |||
* "/bootapp/resources/strings/": Various localization data updated. | |||
* "/.nrr/": The NRRs were updated, and added "N-1053_e.nrr"/"N-1053_p.nrr" + "N-4737_e.nrr"/"N-4737_p.nrr". | |||
* "titles/": | |||
** "lclassics.titlesdb" updated | |||
** No existing title data was changed here, only dirs for the new games were added: "N-1053_e"/"N-1053_p" (Mario Party 2) and "N-4737_e"/"N-4737_p" (Mario Party 3). | |||
== v2.9.0 == | |||
ExeFs: | |||
* NPDM only had the usual ACID pubkey/signature update. | |||
* main: updated | |||
RomFs: | |||
* "/bootapp/init.json" updated | |||
* "/bootapp/resources/fonts/": Various fonts updated. | |||
* "/bootapp/resources/scripts/sys/sysingame.lua" updated | |||
* "/bootapp/resources/scripts/sys/sysnotifier.lua" updated | |||
* "/bootapp/resources/scripts/sys/sysresidentinformation.lua" updated | |||
* "/bootapp/resources/scripts/system/inputdevicemanager.lua" updated | |||
* "/bootapp/resources/strings/": Various localization data updated. | |||
* "/nro/libHovercraftJITPlugin.nro" updated | |||
* "/.nrr/": The NRRs were updated, and added "N-4631_e.nrr". | |||
* "/Pipeline.cache" updated | |||
* "/shader_vulkan_v2_vert.spv" added | |||
* "titles/": | |||
** "lclassics.titlesdb" updated | |||
** "N-1053_e/N-1053_e.dtz" updated (Mario Party 2) | |||
*** .pcb and .nro were updated. | |||
** "N-4737_e/N-4737_e.dtz" updated (Mario Party 3) | |||
*** .pcb and .nro were updated. | |||
** "N-4631_e" added (GoldenEye 007) | |||
libHovercraftJITPlugin updated two funcs: | |||
* L_1060, prev ver at L_1060: calling L_4990 (codegen func) is now skipped if u32 controldata+0xE00 is non-zero (this applies to 2 of the 3 calls to L_4990 in this func). | |||
* L_1d90, prev ver at L_1d80: | |||
** The code at 0x1ebc no longer calls L_910 from prev ver. Code was also added for handling bit9 in the array at controldata+0x970. | |||
== v2.10.0 == | |||
The module name for the main-NSO was changed from "{path}\l-classics-app.nss" to "l-classics". | |||
ExeFs: | |||
* NPDM only had the usual ACID pubkey/signature update. | |||
* main: updated | |||
RomFs: | |||
* "/bootapp/init.json" updated | |||
* "/bootapp/resources/anims/" Added various .spriteanim files. | |||
* "/bootapp/resources/fonts/" Various fonts updated/removed. | |||
* "/bootapp/resources/prefabs/sys/deviceconfig/sysdeviceconfig.scn" updated | |||
* "/bootapp/resources/prefabs/sys/hudguide/syshudguide.scn" removed | |||
* "/bootapp/resources/prefabs/sys/hudguide/syshudlabelgroup.scn" added | |||
* "/bootapp/resources/prefabs/sys/hudguide/syshudlabel.scn" added | |||
* "/bootapp/resources/prefabs/sys/operationguide/operationguideelements.scn" updated | |||
* "/bootapp/resources/prefabs/sys/popupguide/popupguideelements.scn" updated | |||
* "/bootapp/resources/prefabs/sys/sysdialoggeneric.scn" updated | |||
* "/bootapp/resources/prefabs/sys/sysdialogprogress.scn" updated | |||
* "/bootapp/resources/prefabs/sys/sysgamecard.scn" updated | |||
* "/bootapp/resources/prefabs/sys/syssidemenubuttoninvite.scn" removed | |||
* "/bootapp/resources/prefabs/sys/sysuserinfolist.scn" updated | |||
* "/bootapp/resources/scenes/sys/sysdisplaymodelayout.scn" updated | |||
* "/bootapp/resources/scenes/sys/": Removed "sysfingercursors.scn", "syslocalmenu.scn", "syssidemenu.scn". | |||
* "/bootapp/resources/scenes/sys/sysmain.scn" updated | |||
* "/bootapp/resources/scenes/sys/syspausemenu.scn" updated | |||
* "/bootapp/resources/scenes/sys/sysworld.scn" updated | |||
* "/bootapp/resources/scripts/": Added "constants.lua" and "constants_nuse.lua". | |||
* "/bootapp/resources/scripts/gui/gui_nine_patches.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statelogin.lua" updated | |||
* "/bootapp/resources/scripts/states/network/stateonline.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessioncreate.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionemusyncstatesharing.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionestablished.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionestablishedstandby.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionidle.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessioninitial.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessioninitialsharing.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionjoin.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionleave.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionquitconfirmation.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionready.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionrecovery.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionsearch.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionstandby.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionstartup.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesessionthumbnailsharing.lua" updated | |||
* "/bootapp/resources/scripts/states/network/statesuspendpointsharing.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stateboot.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/statechangenetplaymode.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/statecheckcontroller.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/statedisplaymode.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stateerrorfailedtojoin.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stateerrorlostconnectioningame.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stategamedetails.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stategamelistedit.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stategamelist.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stategameselection.lua" updated | |||
* "/bootapp/resources/scripts/states/ui/stateingameentrance.lua" updated | |||
* {a number of lua scripts updated} | |||
* "/bootapp/resources/scripts/states/ui/statelocalmenu.lua" removed | |||
* "/bootapp/resources/scripts/states/ui/staterewind.lua" removed | |||
* "/bootapp/resources/scripts/states/ui/statestartupnewsspecial.lua" removed | |||
* "/bootapp/resources/scripts/states/ui/stateswapplayers_4p.lua" removed | |||
* "/bootapp/resources/scripts/states/ui/stateswapplayers.lua" added | |||
* "/bootapp/resources/scripts/sys/sysdialognewsspecial.lua" removed | |||
* "/bootapp/resources/scripts/sys/syshudlabelgroup.lua" added | |||
* "/bootapp/resources/scripts/sys/syslanguagelabel.lua" added | |||
* "/bootapp/resources/scripts/sys/syslocalmenu.lua" removed | |||
* "/bootapp/resources/scripts/sys/sysplayercountmenu.lua" added | |||
* "/bootapp/resources/scripts/sys/sysplayerswaplist_4p.lua" removed | |||
* "/bootapp/resources/scripts/sys/sysplayerswaplist.lua" added | |||
* "/bootapp/resources/scripts/sys/": Removed "sysrewindchapterlist.lua", "sysrewindchapter.lua", "sysrewind.lua", "syssidemenulocalbutton.lua", "sysversion.lua". | |||
* "/bootapp/resources/scripts/sys/syssidemenumultiplayerbutton.lua" added | |||
* "/bootapp/resources/scripts/system/appsettings.lua" removed | |||
* "/bootapp/resources/shaders/" Various shaders updated. | |||
* "/bootapp/resources/sprites/" Various PNGs updated. | |||
* "/bootapp/resources/strings/": Various localization data updated. | |||
* "/bootapp/resources.json" updated | |||
* "/nro/libHovercraftJITPlugin.nro" updated. Rebuilt, .nrs module path differs. | |||
* "/.nrr/": The NRRs were updated, and added "N-4590_e.nrr"/"N-4590_p.nrr". | |||
* "/Pipeline.cache" updated | |||
* "/titles/lclassics.titlesdb" updated | |||
* "/titles/": Almost all "{id}.png" files were updated. | |||
** Added "N-4590_e"/"N-4590_pd"/"N-4590_pf"/"N-4590_pi"/"N-4590_ps" (Pokemon Stadium). | |||
== v2.10.1 == | |||
ExeFs: | |||
* NPDM only had the usual ACID pubkey/signature update. | |||
* main: updated | |||
RomFs: | |||
* "/bootapp/init.json" updated | |||
* "/bootapp/resources/scripts/states/ui/stateingameentrance.lua" updated | |||
* "/nro/libHovercraftJITPlugin.nro" Updated, just a rebuild. | |||
* "/.nrr/" NRRs updated. | |||
* "/Pipeline.cache" updated | |||
* "/titles/N-4590_{e/pd/pf/pi/ps}/{id}.dtz" updated (Pokemon Stadium) | |||
** .cfg, .pcb, .nro, .lua, .ppl, and .spv updated. In the .cfg two entries were added to the "SpecialInst" array, with type "Lua_AfterInst". Various renderer config was also adjusted. | |||
== v2.11.0 == | |||
The NintendoSDK version was updated from 13.3.0 to 13.3.11. | |||
ExeFs: | |||
* NPDM only had the usual ACID pubkey/signature update. | |||
* main: updated | |||
* rtld/sdk/subsdk0/subsdk1: updated | |||
RomFs: | |||
* "/bootapp/init.json" updated | |||
* "/bootapp/resources/fonts/" Various fonts updated. | |||
* "/bootapp/resources/scenes/sys/sysworld.scn" updated | |||
* "/bootapp/resources/scripts/" Various scripts updated. | |||
* "/bootapp/resources/shaders/": | |||
** "blur.spirv" updated | |||
** "downscale2.spirv" and "downscale5.spirv" added. | |||
* "/bootapp/resources/strings/": Various localization data updated. | |||
* "/bootapp/resources.json" updated | |||
* "/nro/libHovercraftJITPlugin.nro" updated. Only 1 func was updated, changes seem to be minor. | |||
* "/.nrr/": The NRRs were updated, and added "N-1848_pd.nrr"/"N-1848_pf.nrr". Added "N-3240_pd.nrr"/"N-3240_pf.nrr"/"N-3240_pi.nrr"/"N-3240_ps.nrr"/"N-3309_e.nrr"/"N-3309_pd.nrr"/"N-3309_pf.nrr"/"N-3309_pi.nrr"/"N-3309_ps.nrr". Added "N-4590_pd.nrr"/"N-4590_pf.nrr"/"N-4590_pi.nrr"/"N-4590_ps.nrr". Removed "N-1848_p.nrr"/"N-3240_p.nrr"/"N-4590_p.nrr". | |||
* "/Pipeline.cache" updated | |||
* "/titles": | |||
** "lclassics.titlesdb" updated | |||
** Added "N-3309_e"/"N-3309_pd"/"N-3309_pf"/"N-3309_pi"/"N-3309_ps" (Pokemon Stadium 2) | |||
** "N-4590_{e/pd/pf/pi/ps}/{id}.dtz" updated (Pokemon Stadium) | |||
*** .cfg, .pcb, .nro, .lua, .ppl, and .spv updated. In the .cfg various renderer settings were adjusted, which includes adding fields "SoftResetNeedUpdate" and "SoftResetNeedForce". | |||
== v2.17.0 == | |||
The NintendoSDK version was updated from 13.3.11 to 13.3.14. | |||
In the [[CNMT]], RequiredSystemVersion was updated: [[18.1.0]] is now required, previously [[17.0.1]] was required. {other CNMT changes} | |||
ExeFs: | |||
* NPDM only had the usual ACID pubkey/signature update. | |||
* main: updated | |||
* sdk/subsdk0/subsdk1: updated | |||
RomFs: | |||
* Various changes, including updating "/nro/libHovercraftJITPlugin.nro" and adding "/titles/N-1226_{e|p}/" (Banjo-Tooie). | |||
== v3.0.0 == | |||
The NintendoSDK version was updated from 13.3.14 to 18.3.2. | |||
In the [[CNMT]], RequiredSystemVersion was updated: [[19.0.1]] is now required, previously [[18.1.0]] was required. {other CNMT changes} | |||
Pia* was updated from v5.38.0 to v6.34.0. NEX was removed, and NPLN was added (v1.27.0). NintendoSDK_Mnpp was added. PiaLocal/PiaNplnd/PiaSync/Pia_ZStandard were added. | |||
ExeFs: | |||
* Service access for [[SPL_services|csrng]] was added to the NPDM. | |||
* main: updated | |||
* rtld/sdk/subsdk0/subsdk1: updated | |||
RomFs: | |||
* Various changes, including updating "/nro/libHovercraftJITPlugin.nro" and adding "/titles/N-1730_e/" (Ridge Racer 64). |