Mortal Kombat

Go down

Share this post on: redditgoogle

Mortal Kombat :: Comments

alex_tenjo

Post on Wed 4 Mar 2020 - 2:20 by alex_tenjo

Might it be possible to port the Mortal Kombat MSU1 patch to the rev. 1 version of the US ROM? (Unfortunately, the current patch is not compatible with the last revision).

Back to top Go down

Conn

Post on Wed 4 Mar 2020 - 2:59 by Conn

I couldn't find a revision 1 of this game, only for MK2 there is one via google search...

Back to top Go down

alex_tenjo

Post on Wed 4 Mar 2020 - 4:25 by alex_tenjo

If you can, please look intro the no intro rom set (at least on the official website host at http://archive.org however that revision has been discovered recently).
Mortal Kombat (USA) (Rev 1).sfc
CRC: 7CA113C9

Back to top Go down

Conn

Post on Wed 4 Mar 2020 - 4:48 by Conn

Retroplay pm:ed helped me out Wink

Here's the patch with a new mk_Rev1_msu.ips inside:
https://drive.google.com/open?id=1GdG0owUgZe4O4t9-mpVbqs5VJrC5TZRE

I didn't test it, just hex compared for nwe hooks, so if there are problems, get back at me Wink

Back to top Go down

alex_tenjo

Post on Wed 4 Mar 2020 - 5:04 by alex_tenjo

Thanks, I was not expect that so quickly, I will try your patch tomorrow and let you know.
The only potential incompatibilities I have found with your "rev. 0" patch if used on rev. 1 were located at: 0x0C3F2B - 0x0C3F2D and 0x0C4792 - 0x0C4794.

Thanks again ^^

Back to top Go down

Conn

Post on Wed 4 Mar 2020 - 5:32 by Conn

Yes, with a hex comparison program I easily can find out the problems, and with comparing and searchiing the bytes in the vincinity I can get the new hook location.

Back to top Go down

alex_tenjo

Post on Thu 5 Mar 2020 - 2:29 by alex_tenjo

After an hour of testing your rev. 1 patch on the according ROM, I encounter a freeze on the end of a round.
I have look at the hex of your patch and I find that values between 0x0C39FA - 0x0C39FC and 0x0C427A - 0x0C427C contents different data in rev. 0 and in rev. 1 and your patch also re-code those strings (but don't know if it's something relevant for you).

Back to top Go down

Conn

Post on Thu 5 Mar 2020 - 3:10 by Conn

Does it freeze at the end of every round or did it happened after 1 hour testing one time?
In the latter case, I suspect also the version 0 to freeze.

Back to top Go down

alex_tenjo

Post on Thu 5 Mar 2020 - 3:41 by alex_tenjo

The game freeze at the end of a single round after one hour of testing.
Otherwise, I think the same, I guess that my "single time encounter problem" could also occur in rev. 0. I even suspect a SD2SNES Pro call problem (the freeze occur as soon as the last damage has been dealt, so as soon as the theme stops to play).

Back to top Go down

Conn

Post on Thu 5 Mar 2020 - 5:22 by Conn

I think there's not much I can do in that case. I didn't develop this patch, and if it is a rare encounter, I cannot reproduce for bug tracing...
For now I'd say if anybody encounters this... well. Bad luck Sad

Back to top Go down

alex_tenjo

Post on Mon 9 Mar 2020 - 2:18 by alex_tenjo

Three additional test sessions (one hour for each) did not let me saw a new freeze. I thing it is a rare problem (and something present with rev. 0 of the patch) and I also think it is a SD2SNES problem (I have not mention it but when it has freezes, the music have not stopped).

Your patch for rev. 1 is perfectly working.

I please have one last question, I have mentioned earlier that your patch modify hex values between 0x0C39FA - 0x0C39FC and between 0x0C427A - 0x0C427C. These addresses have different data between rev. 0 and rev. 1. Can you please tell me what these values change between both revision?

Back to top Go down

Conn

Post on Mon 9 Mar 2020 - 2:41 by Conn

You see there is a hook to the msu code, a revision usually has the rom re-organized, so I looked where the hook where in MK rev0, checked the bytes in the vincinity and looked for them in rev1.
I found the two places to hook in rev1 at c39fa and c4279: 22 94 a1 98. So I simply rewrote these JSL 8Jump to subroutine to point to the msu code.

If you compare the addresses (bytes in the vincinity) to what was changed in rev 0 you find similar.

Back to top Go down

alex_tenjo

Post on Mon 9 Mar 2020 - 4:21 by alex_tenjo

Thanks for your explanation and advice.

I have try to do what you wrote and (with my very limited knowledge) here is the two values I have found (maybe) different:

- First value
Rev. 0 Orig. (C3F23-C3F32) 98 A9 06 00 A0 01 00 22 09 A1 98 28 7A FA 68 22
Rev. 1 Orig. (C39F2-C3A01) 98 A9 06 00 A0 01 00 22 94 A1 98 28 7A FA 68 22

Rev. 0 MSU1 (C3F23-C3F32) 98 A9 06 00 A0 01 00 22 B1 E6 08 28 7A FA 68 22
Rev. 1 MSU1 (C39F2-C3A01) 98 A9 06 00 A0 01 00 22 B1 E6 08 28 7A FA 68 22

One the first location by looking at similar code strings: C3F23 to C3F32 from rev. 0 and C39F2 to C3A01 from rev. 1 have one different value: C3F2B = 09 in rev. 0 and C39FB = 94 in rev. 1. Both different values are replaced by the MSU1 value B1.

- Second value
Rev. 0 Orig. (C478C-C47A1) 98 7A A9 06 00 22 09 A1 98 28 7A FA 68 6B 48 DA 5A 08 AD C1 02 D0
Rev. 1 Orig. (C4274-C4289) 98 7A A9 06 00 22 94 A1 98 28 7A FA 68 6B 48 DA 5A 08 AD C1 02 D0

Rev. 0 MSU1 (C478C-C47A1) 98 7A A9 06 00 22 E0 E5 08 28 7A FA 68 6B 48 DA 5A 08 AD C1 02 D0
Rev. 1 MSU1 (C4274-C4289) 98 7A A9 06 00 22 E0 E5 08 28 7A FA 68 6B 48 DA 5A 08 AD C1 02 D0

One the second location by looking at similar code strings: C478C to C47A1 from rev. 0 and C4274 to C4289 from rev. 1 have one different value: C4792 = 09 in rev. 0 and C427A = 94 in rev. 1. Both different values are replaced by the MSU1 value E0.

I do not know if I reason right, but I would like to let you know that.

Back to top Go down

Conn

Post on Mon 9 Mar 2020 - 6:03 by Conn

That is all alright,
Rev0: jSL $98a109
Rev1: JSL $98a194

Both have been changed to go to the msu code, located at $08E5E0, respectively $08E6B1,

In that msu code, I changed the original overwritten hook code in rev 1 into 98a194 (while it is 98a109 in rev0).

I know what I am doing, no worries Very Happy

Back to top Go down

alex_tenjo

Post on Mon 9 Mar 2020 - 18:47 by alex_tenjo

Many thanks for your explanations (again ^^). Moreover, sorry for my trivial questions; because of my very limited skill about programming I can partially figure out what happens. It is hard for me to understand things such as the above one (without your explanations).

If someone is interested to get the red blood patch for rev. 1, just let me know, I have already hex hack it to make it compatible (and it is fully compatible with the Conn rev. 1 MSU1 patch).

Back to top Go down

avatar

Post on Sat 2 May 2020 - 15:57 by niuus

alex_tenjo wrote:If someone is interested to get the red blood patch for rev. 1, just let me know, I have already hex hack it to make it compatible (and it is fully compatible with the Conn rev. 1 MSU1 patch).
I am really interested.

Also, if you like, this hack to get the bosses also exists.
https://www.romhacking.net/hacks/4812/

I tried patching the MSU-1 over it, and while it works, it hangs shortly after the fight starts, specially if you do an uppercut.

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum