Hey fellas, my bad for the late reply been busy all weekend.
When Dragonsbrethren gave me the hack way back in 2007 I had no idea about the bugs I've been bumping into working on this on & off over the years. You fellas can snag the hack in case you fellas wanna beta test it. 🙂
https://www.mediafire.com/file/irboip488gx1ixe/Mega+Man+In+St.+Canard+-+Recent++(MM+hack)++.7z/file
There's a savestate you can add in FCEUX 2.3.0 so you don't have to play through the whole hack.
I don't mean to sound like a noob but I went to Chat GPT about the issue, this is what it told me last night...
To make the game restart itself after displaying the text "Fight Mega Man for everlasting peace," you'll want to locate the part of the code that handles this text and modify it so that instead of proceeding to the credits, the game resets.
Here's a general approach to how you might do that:
Locate the Ending Text:
Search the disassembly file for the text "Fight Mega Man for everlasting peace." This will help you find the section of the code where the text is displayed.
Find the Code that Follows:
After the text is displayed, there will likely be code that progresses to the next part of the game (probably the credits). You'll need to identify this part of the code.
Insert a Reset Instruction:
Replace the code that would normally proceed to the credits with an instruction that resets the game. In 6502 assembly, the reset instruction is JMP $FFFC.
$FFFC is the memory address where the NES expects to find the reset vector, which is the code that runs when the console is first powered on or reset.
Example Code Modification:
If the original code after displaying the text looks something like this:
assembly
; Example pseudocode after displaying text
LDA #$01
STA $2000 ; Start the credits (this is an example, actual code may differ)
You would replace it with:
assembly
JMP $FFFC ; Jump to the reset vector to restart the game
Steps to Implement:
Open the disassembly file and search for the text "Fight Mega Man for everlasting peace."
Identify the code that comes immediately after the text display routine.
Replace the code that transitions to the credits with JMP $FFFC.
Testing:
After making these changes, you should test the game to ensure it restarts properly after the ending text is displayed, and that it does not proceed to the buggy credits.
Is Chat GPT correct on this, or nah?