ROM Hacking Discussion / [HELP] Restoring the Kirby sprite (Debug menu) in EarthBound (for MaternalBound)« on: October 03, 2018, 12:35:18 pm »
I am seeking help with one issue I stumbled upon, which I've been trying to fix throughout half a month already, but haven’t been able to do so at the moment, and it’s something every EarthBound ROM compiled with CoilSnake suffers from, including clean ROMs without modifications.
You see, there’s this particular Debug menu that uses Kirby as its cursor sprite, more widely known as the Boot-up Debug Menu. For those that are not familiar with this, here's the entry in The Cutting Room Floor for it and how to enable it:
Once you enable said Debug menu, and you start the game, you enter directly into the Menu itself with Kirby making a neat cameo appearance:
However, when you try to do this with a compiled CoilSnake ROM, Kirby’s sprite does one of two things:
- Does not appear at all
- Is a garbled mess.
NOTE: The garbled effect might vary, I sometimes get other portions of the sprite to appear, or with other colours, etc
(Another side-effect to this is that the palette for the Windows inside the “View Map” option show random colours instead of the pinkish one from the Cutting Room Floor site)
You can try it out for yourself, make a clean dump of EB’s files alongside its script, and then compile it back, then try to boot-up this Debug menu with the cheat codes and you will have a similar result.
I stumbled into this when trying to fix the options of the Debug Menu found inside the “View Map” option.
I ended up fixing the options without issues, but for some reason I cannot seem to fix Kirby’s sprite here.
I tried to fix this by repointing stuff from the Debug bank (according to Data crystal) to no success, I even grabbed the Hex data of Kirby’s sprite and put it in a CCS file with its newly repointed pointer, but nothing.
From the test that I have done, I still haven't narrowed down what the culprit of the problem might be.
I think it is related to the Title Screen module in CoilSnake, but I'm unsure yet.
If anyone knows better, please let me know.
I’ve been trying hard to restore it, but so far I haven’t had any luck at all.
So I was wondering if perhaps someone here could lend a helping hand on restoring this Kirby sprite.
There are two ways one can go about restoring the sprite:
- Checking out which CoilSnake build broke it.
It has to be a commit between CoilSnake 2.3.1 and CoilSnake 3.0, or commits between June 14th, 2017 and January 24th, 2017, since the Kirby sprite shows up fine with ROMs compiled with CoilSnake 2.3.1, but they started to fail on 3.0 and onwards.
- Make a fix to the compiled ROM directly.
Perhaps taking the data from an original ROM and implementing it into a compiled one.
I just need to know what changes are required for the fix to hopefully implement them into MaternalBound's CCS files and make the fix work on any compiled ROM afterwards.
I am leaning more towards the later, perhaps finding out why the sprite is disappearing on compiled ROMs and how to fix it in a compiled one could lead to a fix to CoilSnake source, but right now all I want to do is simply fix it in a compiled ROM, no need to touch the CoilSnake source, I simply want to know what is causing the sprite to not appear and how to fix it on my end.
Here's the MaternalBound source:
And here's a link to CoilSnake to compile it:
So far that is the only issue I’ve come across.
Perhaps I am being to nitpicky or OCD-driven, but I’d like to have this feature restored, more so because it seems to be something that CoilSnake is doing during compilation.
Any kind of help would be greatly appreciated!