Homebrew game Project [Release] The Minish Cap – Alek's Ultimate NX Edition | Dual Screen, FLIP GRIP SUPPORT, Touch, RetroAchievements

  • Thread starter Thread starter alexgg1014
  • Start date Start date
  • Views Views 6,031
  • Replies Replies 68
  • Likes Likes 15
Found it, and your logs nailed it — thank you.

It's not an asset problem: your assetfix.log shows the Cave of Flames-era
repairs all working, so re-extracting wouldn't have helped.

The Lake Hylia crash is an out-of-bounds read in the NPC sprite-loading code.
An NPC type index runs 43 slots past the end of a 21-entry table and lands in
the font colour buffer next to it, so the game ends up dereferencing pixel data
as a pointer. On the original GBA that read is harmless garbage; on the Switch
it's a hard fault, which is why it happens every single time in the same spot.

Fix is straightforward (bounds-check the index) and will be in the next build.
The other log you sent is a separate one in Julietta's house from an older
build, and the hang_report is a third thing — a freeze inside the renderer in
the Minish Woods. I'll look at both.
Thank you! Has been fun re-playing this, its been a looong time! Appreciate your effort!
Post automatically merged:

Ran into a crash when trying to talk to this guy as well, game crashes and back to atmosphere

2026090820303000-BAA196B407E24F826958809FC86B3A30.jpg
 

Attachments

Last edited by digdat0,
  • Love
Reactions: impeeza
Thank you! Has been fun re-playing this, its been a looong time! Appreciate your effort!
Post automatically merged:

Ran into a crash when trying to talk to this guy as well, game crashes and back to atmosphere

View attachment 589919
Ok thx sorry for dont updated yet i hadn't enough time I will release a hotfix, thx
Post automatically merged:

v1.3.3 is up.

https://github.com/Alexgg1014/The-L...lek-s-Ultimate-NX-Edition/releases/tag/v1.3.3

Update even if none of the achievement bugs affect you. This one fixes a way
your save file could be destroyed.

SAVES
The game commits a save eight bytes at a time — about 160 writes for one file —
and until now it rewrote the entire save file after every single one of them,
starting each rewrite by emptying it. For a fraction of a second, ~160 times per
save, tmc.sav was either empty or half-written. Close the game in one of those
moments (exiting homebrew from the HOME menu is enough) and the file was left
too short. Next boot the game read it, found a broken header, and did what a
game does with a broken save: it formatted it. All three files, gone.

Saves are now written to a temp file and swapped into place, so the real file is
only ever replaced by a complete one, and a save that isn't a whole image is
refused instead of formatted over. A backup of what you started the session with
is kept beside it as tmc.sav.bak.

If this already happened to you, check SETTINGS -> LOAD AUTOSAVE before starting
over. The autosave ring is written safely and was never affected.

LAKE HYLIA CRASH
Fixed. An NPC asked a 21-entry sprite table for entry 64, read 43 slots past the
end into the font colour buffer behind it, and handed the sprite loader eight
bytes of that as a memory address. On real GBA hardware that lands on a ROM word
— wrong sprite, no crash. Thanks to digdat0 for the logs that pinned it.

ACHIEVEMENTS
Three fixes:

- Offline achievements never actually worked. v1.3.0 cached the login and the
session start but not the achievement set itself, because the list of
cacheable steps was written for the old RetroAchievements flow where the set
arrived in a request called "patch". rcheevos 12 fetches it through
"achievementsets" and never sends "patch" at all.
- Unlocks earned offline were saved to your SD card correctly and then never
sent. The only thing that drained that queue was a reconnect within the same
session, so an unlock earned offline in a run that then closed was never
looked at again. It now drains on every boot.
- Unlocked achievements kept their grey badge. RA publishes each badge twice,
colour and greyed, under the same id, and the game filed both under the same
name. Whichever arrived first won for good.

IMPORTANT: connect to the internet once after updating. The achievement set has
never been written to your SD card, so the first boot with a network is what
saves it. Offline boots after that will show your achievements.

STILL OPEN
The crash digdat0 hit with the Tingle sibling in Hyrule Field is not fixed. It's
a different bug from the Lake Hylia one and the report couldn't be resolved to a
function: every address in a crash log is where the code happened to be mapped
that run, and the load base only existed in Atmosphere's own crash report.

So this build makes the crash log resolve itself — it now prints an anchor
address that gives the load base — and drops a breadcrumb when a Kinstone fusion
starts, naming the fuser and the candidate slot.

digdat0: if you update and reproduce it, that new log alone will tell me the
exact function. That's the one I need.

Verification:
SHA-256 2cd63de916b1e9a76645a9f6369df09b1cd911bc5b8e392a9ceaff7059162150
tmc_aleks_ultimate_nx_v1.3.3.nro
Size 14210739 bytes

No need to touch your assets folder for any of this.
 
Last edited by alexgg1014,
@alexgg1014 Really appreciate your effort! No rush on any of this!

I tested both, the transition from Lon Lon Ranch to the right screen crashed the first time, second attempt gave a white screen, the third attempt loaded the next section and I could see the page, but it froze and then crashed.

Tingle sibling in Hyrule Field still crashes.

I'm also seeing the in-game updater give error "Update manifest rejected" which stopped working in 1.3.2.

Crash logs attached, let me know if I missed anything. Also adding atmosphere logs if thaat helps.
 

Attachments

  • Like
Reactions: alexgg1014
On the latest build 1.3.3 I just get the "loading" text and nothing else. I tried rebuilding the assets, which worked and I got to the menu.

When I attempted to start a new game, it froze on the initial save file creation. There was only a save.tmp file created.

On a restart, it just shows the screen with the "loading" text.
 
v1.3.5 — fixes the v1.3.3 save freeze

If you're on 1.3.3, update. That build freezes when it creates a save file, and that one is on me.

https://github.com/Alexgg1014/The-L...lek-s-Ultimate-NX-Edition/releases/tag/v1.3.5




What I broke

1.3.3 fixed a way your save could be destroyed. The fix was right, and it was also unusably slow — which I didn't catch because I never measured it.

The game writes a save eight bytes at a time: about 160 of those for one file, several hundred when it sets up a new game. 1.3.3 made every single one of them rewrite the whole file and swap it into place — create a temp file, write 8 KB, close, delete the real one, rename. Four SD card operations per eight bytes.

For a new game that's this:

Code:
1024 blocks (new game)
  operations during the writes : 0
  operations after one commit  : 3      <- v1.3.5
  what v1.3.3 did              : ~4096  <- minutes of freeze

And if you gave up and closed the game, you were left with just a tmc.sav.tmp — because the delete had already happened and the rename never did.

Writes are now gathered up and committed once per frame. Same protection: the real file is still only ever replaced by a complete one. Three operations instead of four thousand.

If it happened to you, your save is not gone. A complete tmc.sav.tmp is now recognised and restored on the next launch.

I also added a test that compiles the save code on a PC and asserts the number of filesystem operations, not just that the result is correct. That's the check that would have caught this before it shipped.




Also in this build

These were in 1.3.4, which the updater never actually offered anyone.

  • The Lon Lon Ranch transition crash. A Darknut's sword slash could be updated for one moment after its owner was gone during a room change, and it looked up the owner's data before the check that handles exactly that. On a GBA that read lands harmlessly in the BIOS; the Switch faults.
  • "Update manifest rejected". @digdat0 was right that it broke in 1.3.2. The file the game downloads to check for updates keeps three changelog lines, and on a fourth it threw the whole file away instead of ignoring the extra. 1.3.2 was the first release to ship four. Already fixed for everyone without updating — 1.3.5 just makes it impossible to repeat.
  • Crash reports resolve themselves. They now carry the address needed to turn a crash into a function name, and record which script command was running.




Still open

The Tingle sibling crash in Hyrule Field. It happens inside a script command handler, and those leave no trace on the call stack — so a report could only say "somewhere in the script engine", out of a hundred-plus commands. 1.3.5 names it.

@digdat0 — if you reproduce it on this build, that log is the one I need.




Verification

Code:
SHA-256  b672b0a840f0bd790619e74e9cc0a828318ddb719d3911fdc72753d7901b172c
         tmc_aleks_ultimate_nx_v1.3.5.nro
Size     14218931 bytes

Nothing to do with your assets folder — no deleting, no regenerating.
 
  • Like
Reactions: digdat0
The Lon Lon Ranch transition crash. A Darknut's sword slash could be updated for one moment after its owner was gone during a room change, and it looked up the owner's data before the check that handles exactly that. On a GBA that read lands harmlessly in the BIOS; the Switch faults.


Still open

The Tingle sibling crash in Hyrule Field. It happens inside a script command handler, and those leave no trace on the call stack — so a report could only say "somewhere in the script engine", out of a hundred-plus commands. 1.3.5 names it.

@digdat0 — if you reproduce it on this build, that log is the one I need.

I feel bad coming back to say it still is not working on Long Lon Ranch, but it still crashes. I appreciate your help! What happens is (on a new app version ) the first time I transition from Lon Lon to Lake Hylia, its goes to a completely white screen and freezes the game, no app crash. I have to navigate to home, force close the app and re-launch. I then re-open the game and go again, it loads the transition, hangs for ~5 seconds and then app crashes. Screenshot attached of what I see in game right before the app crash.

Tingle still crashes as well, but hopefullt the logs will help. First one should be Tingle crash, the following two are Lon Lon Ranch crash.

White screen on first attempt, game hangs and does not crash

2026091006271000-B7A81BDCF15E6EFD04506AE0366D0F32.jpg


Lake Hylia page opens after, but freezes here and crashes

01789084383_05f763a9c967c000.jpg
 

Attachments

  • Sad
Reactions: alexgg1014
I feel bad coming back to say it still is not working on Long Lon Ranch, but it still crashes. I appreciate your help! What happens is (on a new app version ) the first time I transition from Lon Lon to Lake Hylia, its goes to a completely white screen and freezes the game, no app crash. I have to navigate to home, force close the app and re-launch. I then re-open the game and go again, it loads the transition, hangs for ~5 seconds and then app crashes. Screenshot attached of what I see in game right before the app crash.

Tingle still crashes as well, but hopefullt the logs will help. First one should be Tingle crash, the following two are Lon Lon Ranch crash.

White screen on first attempt, game hangs and does not crash

View attachment 590170

Lake Hylia page opens after, but freezes here and crashes

View attachment 590165
Hotfix v1.3.6 is now available

Thank you for sending all the crash reports, screenshots, Atmosphère information and your save file. The new logs finally exposed the exact causes of both remaining crashes.

Tingle sibling crash — fixed

The port was accidentally combining the NPC's fusion ID and dialogue ID into one 64-bit value, then using that entire value as an index into the save data.

In your report, it used 0x2850000003B instead of the correct fusion ID, 0x3B, which caused the crash.

The fix was applied to Tingle and every other NPC using the same function, including Din, Farore and Nayru.

Lon Lon Ranch → Lake Hylia freeze/crash — fixed

Both crash reports stopped at the exact same instruction. Festari was trying to execute a room script with a null context while Lake Hylia was loading.

Festari now reads the correct 64-bit script-context table and safely waits if the context is not ready. I also added protection to the script engine and cleared old contexts whenever an entity slot is recycled.

Your tmc.sav is a complete 8 KB save image. The save itself was not corrupted and was not causing these crashes.

Download

Alek's Ultimate NX Edition v1.3.6

The update should also appear through the in-game updater.

Please test these two places

  • Talk to the same Tingle sibling in Hyrule Field.
  • Cross from Lon Lon Ranch into Lake Hylia using the same save.

The release build passed all automated checks, and I verified the corrected AArch64 instructions directly in the compiled binary. Hardware testing is the final confirmation, so please let me know whether both scenes work now.
 
Hi there, I've run into a new problem in the Cave of Flames.

In the same room where the missing platforms issue occurred, items like the jar and the cane now stop working at the spot shown in the image; additionally, the character can walk on the magma and pass through certain objects.

P.S. I've attached my log files.
 

Attachments

  • IMG_20260911_122026_825_1.jpg
    IMG_20260911_122026_825_1.jpg
    2.2 MB · Views: 1
  • IMG_20260911_122038_150.jpg
    IMG_20260911_122038_150.jpg
    2.5 MB · Views: 1
  • logs pack.zip
    logs pack.zip
    2.9 KB · Views: 0
  • Wow
Reactions: digdat0

Site & Scene News

Popular threads in this forum