Skip to content

Hello Kitty Party Land: profile, note and 60 fps - #862

Open
capibawa wants to merge 1 commit into
seedds:mainfrom
capibawa:game-hello-kitty-party-land
Open

capibawa wants to merge 1 commit into
seedds:mainfrom
capibawa:game-hello-kitty-party-land

Conversation

@capibawa

@capibawa capibawa commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

What and why

Adds Hello Kitty Party Land (01001340271EC000), update 1.0.2 (v131072): Unity 6000.3.11f1 IL2CPP, SDK 21.4.4, NVN. It plays on the Mac and on the iPhone at 60 fps. Its profile, its note (dm/games/01001340271EC000/README.md) and its row in the games table.
Its README gallery entry too.

  • Profile: the NSP script's provisional profile, checked by hand: build row, modules main subsdk0 sdk, the 5 GB block of the other Unity 6 games with virtual address memory, and the shader tables (12,739 shaders, 92 compute).
  • 60 fps (patches.py): on the Switch the game runs its menus at 60 fps and gameplay at 30. Each gameplay section calls the game's own SetMode(0) (vSyncCount 2) and returns to SetMode(1). Four cuts on main build ca82f3ab… make the 30 fps paths the 60 fps ones (vSyncCount 1 and the game's mode field 1). Details in the note's Frame rate section.

Depends on two tool PRs, without which main cannot be rewritten or its characters drawn; merge them first:

The note's "Found on this game" links the parent reference entries that exist on main today; once #856 and #857 are in, the links can point at their new entries, and the entries' "Found on" can link this note.

Checked

  • Tests: test_docs, test_game_profile, test_patches, test_launcher_settings, test_nso_match and test_profile_guess pass. docs_patches.py and docs_symptoms.py were run.
  • Games run: Hello Kitty Party Land 1.0.2 (v131072), built with both tool changes, for about an hour on the Mac: the menus, the tutorial and minigames at 60 fps (frame time p50 16.66 ms, p95 17.2 ms, GPU under 2 ms), with sound (six-channel AudioOut, no underruns). The minigames keep their intended speed at 60 fps. About 2 GB resident. The alias region's high-water mark is +2.75 GB of 4.375 GB.
  • iPhone: built with both tool changes, the IPA is 2.7 GB (2,936,235,769 bytes; 20,475 Metal libraries). About 30 minutes on the iPhone, a few minigames at 60 fps, on par with the Mac.
  • Devices and OS: M3 Pro, macOS 27.0; iPhone 15 Pro Max, iOS 27.0.1.
  • The SDK-wide node-area cut and the 2 MB alignment rule match no function in this SDK 21.4.4 sdk build; neither the Mac nor the iPhone needs them (recorded in the note).
  • Open, in the note: nvnTextureViewCompare is unimplemented (no wrong picture traced to it).
  • README gallery: a Mac screenshot of the Game Park square (960x540, docs/images/hello-kitty-party-land.jpg) with the note "60 fps with 1.0.2"; docs_gallery.py was run.

Docs

  • The finding is in its game note or its docs/reference/<subsystem>.md entry, and python3 dm/tools/docs_symptoms.py was run (the symptom index)
  • A chain tool changed: not applicable
  • No game files, keys or data extracted from a game in the change or the attachments (the profile's shader tables hold keys and RomFS paths, as every profile's do)

Adds the profile of Hello Kitty Party Land (01001340271EC000), update 1.0.2
(v131072): Unity 6000.3.11f1 IL2CPP, SDK 21.4.4, NVN. It plays on the Mac and
on the iPhone at 60 fps; the IPA is 2.7 GB.

The profile is the NSP script's provisional one, checked by hand: the build row,
modules main / subsdk0 / sdk, the 5 GB block of the other Unity 6 games with
virtual address memory (the alias region's high-water mark measured at +2.75 GB
of 4.375 GB), and the shader tables of 12,739 shaders, 92 of them compute.

On the Switch the game runs its menus at 60 fps and gameplay at 30: each
gameplay section calls the game's own SetMode(0) (vSyncCount 2) and returns to
SetMode(1). patches.py makes the 30 fps paths the 60 fps ones, vSyncCount 1 and
the game's mode field 1, on main build ca82f3ab.

It needs two tool changes in PRs of their own: the rewriter's split of two patch
areas within the back area's reach (main has 151.8 MB of text) and Unity
6000.3's ComputeShader layout in unityfs.py (the GPU skinning kernels; without
it the characters draw as stretched triangles).

Checked, with both changes: about an hour on the Mac (M3 Pro, macOS 27.0), the
menus, the tutorial and minigames at 60 fps (frame time p50 16.66 ms, p95
17.2 ms) with sound; about 30 minutes on an iPhone 15 Pro Max (iOS 27.0.1), a
few minigames at 60 fps, on par with the Mac. The minigames keep their intended
speed at 60 fps. The SDK-wide node-area cut matches nothing in this SDK 21 sdk
build, and neither platform needs it. Open, in the note: nvnTextureViewCompare
is unimplemented. test_docs, test_game_profile, test_patches and the other
profile tests pass; the patch index and the README gallery are regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R7xrTscy83tumn2qjtrv6a
@capibawa
capibawa force-pushed the game-hello-kitty-party-land branch from eba80c7 to 496d3f0 Compare November 1, 2026 20:42
@github-actions github-actions Bot added rewriter The NSO rewriter and per-build patches docs Documentation game: 01001340271EC000 A game profile new game Adds a game profile that main does not have yet labels Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation game: 01001340271EC000 A game profile new game Adds a game profile that main does not have yet rewriter The NSO rewriter and per-build patches

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant