Player 2 Controller bug in ASMT...
Player 2 Controller bug in ASMT...
I know I'm a little late for finally bringing this to someone's attention, but I found a bug in the game that doesn't allow player 2 to spin jump with their own controller...however, player 1 can control player 2's spin jump (well...the A button in general).
I did a little research on SMWC, opened the ASMT ROM in my hex editor and found a little string of code in the area of the controller setting data that was different compared to a clean SMW ROM (x8C1-x8C5=5C A9 9C 3F EA instead of BD A8 0D 85 18...if that means anything to anyone). I copied the 5 byte long code from the clean ROM and pasted it over the changed area in the ASMT ROM and player 2 can now control their spin jump with their own controller.
I was wondering how to make an .ips file and who could take the file to upload the fix to SMWC (if they so please to do so)?
I did a little research on SMWC, opened the ASMT ROM in my hex editor and found a little string of code in the area of the controller setting data that was different compared to a clean SMW ROM (x8C1-x8C5=5C A9 9C 3F EA instead of BD A8 0D 85 18...if that means anything to anyone). I copied the 5 byte long code from the clean ROM and pasted it over the changed area in the ASMT ROM and player 2 can now control their spin jump with their own controller.
I was wondering how to make an .ips file and who could take the file to upload the fix to SMWC (if they so please to do so)?
This needed to be changed...but I don't know what to put here that is witty...
- yoshicookiezeus
- Help! pawprint
- Posts: 148
- Joined: 13 years ago
- Pronouns: he/him/his
- Location: Sweden
Re: Player 2 Controller bug in ASMT...
That wouldn't be the best of fixes, actually. What you overwrote is the JMP instruction for a hijack used for one of the patches, so restoring it would render said patch useless. The actual fix would be changing the byte at $308008 from AD to BD, since it would seem like chdata forgot a ,x when restoring the code from the hijack space.nanospark wrote:I did a little research on SMWC, opened the ASMT ROM in my hex editor and found a little string of code in the area of the controller setting data that was different compared to a clean SMW ROM (x8C1-x8C5=5C A9 9C 3F EA instead of BD A8 0D 85 18...if that means anything to anyone). I copied the 5 byte long code from the clean ROM and pasted it over the changed area in the ASMT ROM and player 2 can now control their spin jump with their own controller.
Then again, given how the bug has gone unnoticed for five months after release and how the game is pretty much only meant to be played in single-player mode anyway, I am somewhat questioning the usefulness of uploading a bugfix.
Also moving this from the ASMT forum since that is only meant to be an archive for the original project threads.
Re: Player 2 Controller bug in ASMT...
What is the patch used for?yoshicookiezeus wrote:What you overwrote is the JMP instruction for a hijack used for one of the patches, so restoring it would render said patch useless.
Are you talking about opening the ROM in my hex editor?...or something else? I went to that address in my hex editor and my screen is filled with nothing but zeros...yoshicookiezeus wrote:The actual fix would be changing the byte at $308008 from AD to BD, since it would seem like chdata forgot a ,x when restoring the code from the hijack space.
This needed to be changed...but I don't know what to put here that is witty...
-
Argumentable
the biggest shit
- Posts: 678
- Joined: 13 years ago
- Location: Twitter
- Contact:
- https://argu.talkhaus.com/
Re: Player 2 Controller bug in ASMT...
I think it would make for a nice duo LP though. One character controls the d-pad while the other controls ABXY. Only I guess this one only has A. It would still be amusing.
I'm on Twitter and Discord so say hi to me on there cause I like to vanish from here forever repeatedly also I have sigs off so I can make my sig as ugly as I want and it won't bother me this is my sig btw
Argumentable#6424 if you wanna discord me
Argumentable#6424 if you wanna discord me
Re: Player 2 Controller bug in ASMT...
Wow...I am an idiot! I just realized my modification ruined the checksum of the ROM (according to SNES9x)...(good thing I made a backup before I went messing about...the game still works)
yoshicookiezeus, I'm still lost on your method of fixing, though...
yoshicookiezeus, I'm still lost on your method of fixing, though...
This needed to be changed...but I don't know what to put here that is witty...
- yoshicookiezeus
- Help! pawprint
- Posts: 148
- Joined: 13 years ago
- Pronouns: he/him/his
- Location: Sweden
Re: Player 2 Controller bug in ASMT...
Oh right. The offset I posted was an SNES offset, as opposed to the PC ones used by hex editors.
Re: Player 2 Controller bug in ASMT...
How do I find the offset (I'm not exactly the greatest in this kind of stuff...)?yoshicookiezeus wrote:Oh right. The offset I posted was an SNES offset, as opposed to the PC ones used by hex editors.
This needed to be changed...but I don't know what to put here that is witty...
- yoshicookiezeus
- Help! pawprint
- Posts: 148
- Joined: 13 years ago
- Pronouns: he/him/his
- Location: Sweden
Re: Player 2 Controller bug in ASMT...
Hmm...I went to the address that Lunar Address gave me from the offset that you gave me and my screen is still filled with zeros...what am I doing wrong???yoshicookiezeus wrote:see: Lunar Address
This needed to be changed...but I don't know what to put here that is witty...
- yoshicookiezeus
- Help! pawprint
- Posts: 148
- Joined: 13 years ago
- Pronouns: he/him/his
- Location: Sweden
Re: Player 2 Controller bug in ASMT...
Oh derp. Seems like I was looking at wrong versions of both the patch and the ROM; the proper offset should be $3F9CA9 (PC offset x1F9EA9).
Re: Player 2 Controller bug in ASMT...
That one byte change fixed it (as opposed to my 5 which apparently ruined...something). I have a lot to learn on the structure of SMW...yoshicookiezeus wrote:Oh derp. Seems like I was looking at wrong versions of both the patch and the ROM; the proper offset should be $3F9CA9 (PC offset x1F9EA9).
I have one more question...what did the 5 bytes I modified actually do for the rom? I looked up in the patches section of SMWC for that instruction you were talking about (JMP) and found something called BoostROM. I know that there is a description for the patch, but it doesn't make sense to me...is this what they call ASM? (sorry if I sound really stupid at this point...I really am new to this sort of programming...all I have really done is look at each RAM address and do things in the game to see if the values change and see what each address does.)
(Oh...BTW...after I applied the fix you gave me, SNES9x still gives me a "bad checksum" message on the ROM start up)
This needed to be changed...but I don't know what to put here that is witty...
Re: Player 2 Controller bug in ASMT...
Bad checksum means nothing. Just ignore it or open the game with LM and save.nanospark wrote:(Oh...BTW...after I applied the fix you gave me, SNES9x still gives me a "bad checksum" message on the ROM start up)
Re: Player 2 Controller bug in ASMT...
I'm going to go the ignore route because opening it up in Lunar Magic and saving screws up the music when going between rooms in some levels.HuFlungDu wrote:Bad checksum means nothing. Just ignore it or open the game with LM and save.nanospark wrote:(Oh...BTW...after I applied the fix you gave me, SNES9x still gives me a "bad checksum" message on the ROM start up)
This needed to be changed...but I don't know what to put here that is witty...
