[HELP] Fixing a Pointer/ASM in MaternalBound hack (Earthbound Title Screen Hack)

Started by ShadowOne333, January 20, 2015, 12:03:02 PM

Previous topic - Next topic


Good day, RomHacking programmers.

The main purpose of this thread is to request help to fix a certain pointer relating an already existing hack.

The hack is "Earthbound with Mother 2's Title Screen hack", which involves the use of a tool named "PK Hack" or "JHack", a Java executable. You can see the hack in action here:

More information here:
The link also includes a download link for the IPS patch and also "EB Easy Patcher", which is a .exe that helps with the proper patching process of the ROM. Original Earthbound ROM should be 3,073 kB in size for it to work properly.

PK Hack provides a Title Screen editor as one of its features, although, all of the Title Screen hacks done so far by PK Hack tend to have a crash whenever the user presses a button before the whole intro/title screen sequence finishes.

According to several users over at Starmen.net, this issue is related with a ASM/Pointer issue, in which the PK Hack tool re-allocates the Title Screen in the expanded 4MB ROM, making pressing the button an instant crash of the ROM, leaving only the option to reset the game and wait for all the intro sequence to finish to continue to the Save Selection screen.
Additional information regarding the crash can be readhere:

The reason why i ask for help to fix this is because I am working on an Earthbound hack that covers a lot of text fixes, uncensoring, and even changes the introduction gas station to that of Mother 2 instead of Earthbound's, and i wanted to include a proper Mother 2 title screen into the hack. Here is a link to the progress on my hack so far:

I know that there are some gifted programmers that do ASM/gameplay mechanics hacks in this community, and the community here is quite helpful and has helped me before in some hacks.
This is why I am requesting help to do so, I am very determined to finish this hack and add as much content as I can to make it a proper uncensored and bug free version of the original Earthbound, but with the proper Mother 2 title screen and such.

If anyone has any suggestions or ideas about how to fix that crash, please let me know!
Thanks in advance to anyone that reads this.

To anyone that contributes, you will be credited in the creation of the hack along with a HUGE special thanks!

January 23, 2015, 04:30:54 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

As of January 22nd, 2015, I already finished my "MaternalBound" hack.
You can check the link provided in the OP for it.

All that's left now if just to try to fix the Title Screen glitch which makes the game freeze if you press any button during the introduction sequence.

To anyone that could contribute to fixing this, please let me know!
It's the only part remaining to make the hack finished 100%!


A little update to this topic just to see if this new information can help out on fixing the Title Screen.
With the help of HS, I managed to retrieve the new pointers that JHack made for the new Title Screen.

The pointer location is in PC address.
The first location refers to SNES address, and the one in () refers to PC address.
You can convert them by substracting BFFE00 to the Snes address.

Title Screen Text (Static) Palette
Pointer location: 0×3F692
Data in clean rom: [A9 7C AE 85 0E A9 E1 00 85 10]
Refers to location: 0xE1AE7C (0×21B07C)

Data in Mother 2 TS: [A9 9A FE 85 0E A9 FF 00 85 10]
Refers to location: 0xFFFE9A (0×40009A)

Title Screen Text (Animated) Palette
Pointer location: 0xEE83
Data in clean rom: [A9 83 AE 85 0E A9 E1 00 85 10]
Refers to location: 0xE1AE83 (0×21B083)

Data in Mother 2 TS: [A9 FD FC 85 0E A9 FF 00 85 10]
Refers to location: 0xFFFCFD (0×3FFEFD)

Title Screen Highlight (Animated) Palette
Pointer location: 0xEE9D
Data in clean rom: [A9 FD AE 85 0E A9 E1 00 85 10]
Refers to location: 0xE1AEFD (0×21B0FD)

Data in Mother 2 TS: [A9 EA F8 85 0E A9 FF 00 85 10]
Refers to location: 0xFFF8EA (0×3FFAEA)

Title Screen Static Layer Arrangement
Pointer location: 0xEE1D
Data in clean rom: [A9 7D AF 85 0E A9 E1 00 85 10]
Refers to location: 0xE1AF7D (0×21B17D)

Data in Mother 2 TS: [A9 27 BD 85 0E A9 FF 00 85 10]
Refers to location: 0xFFBD27 (0×3FBF27)

Title Screen Static Layer Graphics
Pointer location: 0xEDF2
Data in clean rom: [A9 11 B2 85 0E A9 E1 00 85 10]
Refers to location: 0xE1B211 (0×21B411)

Data in Mother 2 TS: [A9 3C C1 85 0E A9 FF 00 85 10]
Refers to location: 0xFFC13C (0×3FC33C)

Title Screen Text Layer Graphics
Pointer location: 0xEE49
Data in clean rom: [A9 E5 C6 85 0E A9 E1 00 85 10]
Refers to location: 0xE1C6E5 (0×21C8E5)

Data in Mother 2 TS: [A9 15 E6 85 0E A9 FF 00 85 10]
Refers to location: 0xFFE615 (0×3FE815)

Title Screen Copyright Text Palette
Pointer location: 0xEEC6
Data in clean rom: [A9 E1 CD 85 0E A9 E1 00 85 10]
Refers to location: 0xE1CDE1 (0×21CFE1)

Data in Mother 2 TS: [A9 29 FC 85 0E A9 FF 00 85 10]
Refers to location: 0xFFFC29 (0×3FFE29)

I also wanted to test exactly at which point you are able to press any button in the Title Screen hack without messing the ROM up, turns out that at the very end of the Screen Song, you are allowed to do so and go into the Loading screen with no issues. This means that when you press ANY button before that, it will crash.
The crash occurs whenever the game tries to load up the loaded up static screen at the press of a button.

With the pointers for the Mother 2 hack in the above spoiler tab...
Is there a pointer in charge of that? That when you press a button it loads into the static screen data.
Can we redirect that pointer to the correct data by knowing what are the button inputs during the game and knowing what part of the ROM does that pointer sends to?