Nintendo 64 - Nintendo Switch Online

From Nintendo Switch Brew
Revision as of 16:28, 28 October 2021 by Yellows8 (talk | contribs)
Jump to navigation Jump to search

This page documents the N64 application available via Nintendo Switch Online.

The internal name is "Hovercraft".

This uses an updated version of the N64 emulator used by SM3DAS. Like SM3DAS, Vulkan is used for rendering.

This saves various PlayReports. This also uses bcat.

NPDM

Same as SM3DAS Mario64 (besides programId etc), except the following services are additionally accessible: audout:u, bcat:u, bsd:u, bsdcfg, friend:u, nifm:u, nsd:u, sfdnsres, ssl. Flags is 0x27.

Details

RomFs contains the following:

  • "/kc.dat", "/Pipeline.cache", "/shader_font_frag.spv", "/shader_p1_frag.spv", "/shader_p1_vert.spv", "/shader_p2_srgb_frag.spv", "/shader_vulkan_frag.spv", "/shader_vulkan_vert.spv".
  • "/.nrr/" contains:
    • "l-classics-app.nrr"
    • "libHovercraftJITPlugin.nrr"
    • And NRRs for each game's AOT NRO.
  • "/bootapp/" contains "init.json", "resources.json", and "resources/" which contains:
    • Various UI/graphics data is stored here under various sub-dirs. This also includes "scripts/", which contains Lua scripts in bytecode form.
      • One of these scripts at "/scripts/constants_nuse.lua" in the raw data, contains among various other data: "FirstDeliveryDate" "2019-09-01".
  • "/nro/" contains "libHovercraftJITPlugin.nro", the NRO for the JitPlugin.
  • "/sysdata/shaders/mesh.spirv", "/sysdata/shaders/sprite.spirv"
  • "/titles/" contains the data for the emulated games:
    • "lclassics.titlesdb"
    • There's a sub-dir for each game containing:
      • "{dirname}-details.png"
      • "{dirname}.bnz": ROM-image compressed directly with zlib.
      • "{dirname}.dtz": cpio archive compressed directly with zlib, containing the following (these are under "metapack_temp\"):
        • The data here has mostly the same structure/format as SM3DAS rom/{subdir}, without the unused NRR. Filenames have the same "{fileid}_{TitleCode}.ext" format. When any texture data is present, it's included directly in this directory.
          • The .meta no longer contains "DataSection", which in SM3DAS specified what files to load from here.
      • "{dirname}.png"