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 5,636
  • Replies Replies 63
  • 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.
 

Site & Scene News

Popular threads in this forum