Player 2 Controller bug in ASMT...

do you like them video games? what about those there romhacks? well pop on in here and talk about them then! what are you waiting for?!
Post Reply
User avatar
nanospark
Posts: 0
Joined: 12 years ago

Player 2 Controller bug in ASMT...

Post by nanospark »

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)?
This needed to be changed...but I don't know what to put here that is witty...
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 13 years ago
Pronouns: he/him/his
Location: Sweden

Re: Player 2 Controller bug in ASMT...

Post by yoshicookiezeus »

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.
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.

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.
User avatar
nanospark
Posts: 0
Joined: 12 years ago

Re: Player 2 Controller bug in ASMT...

Post by nanospark »

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.
What is the patch used for?
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.
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...
This needed to be changed...but I don't know what to put here that is witty...
User avatar
Argumentable
the biggest shit
Posts: 678
Joined: 13 years ago
Location: Twitter
Contact:
https://argu.talkhaus.com/

Re: Player 2 Controller bug in ASMT...

Post by Argumentable »

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
User avatar
nanospark
Posts: 0
Joined: 12 years ago

Re: Player 2 Controller bug in ASMT...

Post by nanospark »

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...
This needed to be changed...but I don't know what to put here that is witty...
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 13 years ago
Pronouns: he/him/his
Location: Sweden

Re: Player 2 Controller bug in ASMT...

Post by yoshicookiezeus »

Oh right. The offset I posted was an SNES offset, as opposed to the PC ones used by hex editors.
User avatar
nanospark
Posts: 0
Joined: 12 years ago

Re: Player 2 Controller bug in ASMT...

Post by nanospark »

yoshicookiezeus wrote:Oh right. The offset I posted was an SNES offset, as opposed to the PC ones used by hex editors.
How do I find the offset (I'm not exactly the greatest in this kind of stuff...)?
This needed to be changed...but I don't know what to put here that is witty...
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 13 years ago
Pronouns: he/him/his
Location: Sweden

Re: Player 2 Controller bug in ASMT...

Post by yoshicookiezeus »

User avatar
nanospark
Posts: 0
Joined: 12 years ago

Re: Player 2 Controller bug in ASMT...

Post by nanospark »

yoshicookiezeus wrote:see: Lunar Address
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???
This needed to be changed...but I don't know what to put here that is witty...
User avatar
yoshicookiezeus
Help! pawprint
Posts: 148
Joined: 13 years ago
Pronouns: he/him/his
Location: Sweden

Re: Player 2 Controller bug in ASMT...

Post by yoshicookiezeus »

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).
User avatar
nanospark
Posts: 0
Joined: 12 years ago

Re: Player 2 Controller bug in ASMT...

Post by nanospark »

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).
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...
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...
HuFlungDu
Posts: 0
Joined: 13 years ago

Re: Player 2 Controller bug in ASMT...

Post by HuFlungDu »

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)
Bad checksum means nothing. Just ignore it or open the game with LM and save.
User avatar
nanospark
Posts: 0
Joined: 12 years ago

Re: Player 2 Controller bug in ASMT...

Post by nanospark »

HuFlungDu wrote:
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)
Bad checksum means nothing. Just ignore it or open the game with LM and save.
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.
This needed to be changed...but I don't know what to put here that is witty...
Post Reply