Register - Login
Views: 99869699
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-04-22 06:45:38 PM
Jul - The Cutting Room Floor - Link's Awakening DX, fixing SRAM corrupted by the heart glitch New poll - New thread - New reply
Next newer thread | Next older thread
KingMike
Member
Level: 16


Posts: 16/50
EXP: 20255
For next: 1

Since: 05-09-13


Since last post: 47 days
Last activity: 6 days

Posted on 02-04-15 05:43:42 AM (last edited by KingMike at 02-04-15 05:45:05 AM) Link | Quote
In the non-DX version, you can fix the SRAM within the game as the menu still functions but is just unreadable.

On the DX versions, though, I think you can only repair the SRAM (such as on a cart) with Game Genie codes.
(overwrite current HP reading code with ld a,(4B00) to read default. That is replace offset+1 with 0 and offset+2 with 0x4B,
and overwrite heart count ASM instructions with ld a,(4B08) in the same way)
The easiest way seems to be to overwrite the lines of code that load the individual files HP and heart counts with the default.
I wonder if repair instructions is necessarily the sort of thing we should add (since it's caused by a glitch).
My guess is maybe post that on DataCrystal and then link to that, instead of cluttering the TCRF page?

Even then, this is only enough to stop the freezing on the file secret, to make accessing the game's Delete option possible. It'll still freeze if you try to load the bad game.

I did find the offsets at least, for the above.
I did a SRAM compare and it seems the only information it saves at minimum is the name and current health (actual value at 8 HP per heart) and number of heart containers. If number of heart containers is too high OR current HP is not a sane value, then it crashes, it seems.

Load current HP:
Slot 1 HP: ld,($A45F) hex FA 5F A4
German: $4579
French, English 1.0: $4585
Japanese 1.0: $458F
Japanese 1.1: $4592
English 1.1, 1.2: $4588

Slot 1 hearts: ld,($A460) hex FA 60 A4
German: $4582
French, English 1.0: $458E
Japanese 1.0: $4598
Japanese 1.1: $459B
English 1.1, 1.2: $4591

Slot 2 HP: ld,($A80C) hex FA 0C A8
German: $45CA
French, English 1.0: $45D6
Japanese 1.0: $45E0
Japanese 1.1: $45E3
English 1.1, 1.2: $45D9

Slot 2 hearts: ld,($A80D) hex FA 0D A8
German: $45D3
French, English 1.0: $45DF
Japanese 1.0: $45E9
Japanese 1.1: $45EC
English 1.1, 1.2: $45E2

Slot 3 HP: ld,($ABB9) hex FA B9 AB
German: $461B
French, English 1.0: $4627
Japanese 1.0: $4631
Japanese 1.1: $4634
English 1.1, 1.2: $462A

Slot 3 hearts: ld,($ABBA) hex FA BA AB
German: $4624
French, English 1.0: $4630
Japanese 1.0: $463A
Japanese 1.1: $463D
English 1.1, 1.2: $4633
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Link's Awakening DX, fixing SRAM corrupted by the heart glitch New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

28 database queries.
Query execution time: 0.076758 seconds
Script execution time: 0.003973 seconds
Total render time: 0.080731 seconds