Skip to content

game: Kirby and the Forgotten Land Switch 2 Edition plays on the Mac - #2549

Open
FifteenPen wants to merge 1 commit into
seedds:mainfrom
FifteenPen:pr/kirby-switch2-edition
Open

FifteenPen wants to merge 1 commit into
seedds:mainfrom
FifteenPen:pr/kirby-switch2-edition

Conversation

@FifteenPen

Copy link
Copy Markdown
Contributor

What and why

A profile for Kirby and the Forgotten Land – Nintendo Switch 2 Edition + Star-Crossed World: program 1 (04004D300C5AE001) of the application 01004D300C5AE000, update v65536 (1.1.0), SDK 19.3.7 built for the Switch 2 (Ounce), NVN2. The Switch 1 game keeps its own profile: the Edition has another executable and other shaders.

What it adds (dm/games/04004D300C5AE001/):

  • game.tsv:

    • The memory layout: a 5 GB block with a 4.375 GB alias region, and the Switch 2's 9 GB pool. The NPDM declares 16 MB of system resource and main never sets a heap.
    • The modules and the shader groups.
    • depth_mode zero: the game calls nvnDeviceSetDepthMode with near = 0 at boot.

    These are as the NSP script's survey and address-region check found them.

  • The shader split's tables: 93,348 shaders. 93,343 translate on the current chain. 5 do not: they use one form of Ampere instruction 0x80d that the translator only knows as the guard band cull.

  • A prewarm seed list (pso_manifest.tsv) recorded in play: 9,202 shaders, 1,712 render pipelines and 16 compute pipelines. Every shader key is in the shader map.

  • The game note and its row in the games table.

Depends on:

  • #1639, to pack and run a raw dump's program 1. Main cannot pack this program yet.
  • #2548, the nn::pl::GetBuiltInFontDataSet takeover, which the game calls at boot.

The README's Switch 2 list is left alone until the game can be packed from main.

Checked

Open (in the note):

  • Two shaders fail to load at run time.
  • About 30 [RED] texture type mismatch lines, where a 2D array is bound to a 2D slot.
  • The [RED] more than 16 font engines lines.
  • The rest of the game, iOS and the Star-Crossed World content are untested.

Docs

  • The finding is in its game note, and python3 dm/tools/docs_symptoms.py was run (symptoms.md unchanged)
  • A chain tool changed: not applicable
  • No game files, keys or data extracted from a game in the change or the attachments. The tables hold shader keys, offsets and pipeline keys, as other profiles' do.

A profile for the Nintendo Switch 2 Edition's program 1 (04004D300C5AE001) of Kirby and the Forgotten Land, update v65536 (1.1.0), SDK 19.3.7 built for the Switch 2, NVN2: its memory layout (a 5 GB block with a 4.375 GB alias region, the 9 GB pool), its modules, the shader split's tables (93,348 shaders, 5 of them not translated: one form of Ampere instruction 0x80d) and depth_mode zero, as the NSP script's survey and address-region check found them; a prewarm seed list recorded in play (9,202 shaders, 1,712 render and 16 compute pipelines); the game note and its row in the games table.

It needs PR seedds#1639 to pack and run a raw dump's program 1, and PR seedds#2548 for nn::pl::GetBuiltInFontDataSet at boot. On a MacBook Pro M4 Pro (macOS 27.2.1), a build of seedds#1639's branch with those played about 9.5 minutes from boot at 60 fps (frame time p50 16.66, p95 16.85 ms) without a crash. The note lists what is open.
@github-actions github-actions Bot added docs Documentation game: 04004D300C5AE001 A game profile new game Adds a game profile that main does not have yet labels Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation game: 04004D300C5AE001 A game profile new game Adds a game profile that main does not have yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant