Mortal Kombat
Zeldix :: MSU-1 Hacking :: MSU-1 Hacks Database :: Fighting :: Other
Page 1 of 1
20180402
Mortal Kombat
- Patch -
Patch (by Kurrono):
- Code:
https://drive.google.com/open?id=1GdG0owUgZe4O4t9-mpVbqs5VJrC5TZRE
- PCM Pack -
Arcade (by Relikk):
- Code:
https://mega.nz/file/5zJCBAzL#IcdL9I7zUHjzUR0-kCWbhXygJL3OeWoBwxjcGMnxVpo
kurrono- Since : 2015-03-22
Mortal Kombat :: Comments
I couldn't find a revision 1 of this game, only for MK2 there is one via google search...
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
Mortal Kombat (USA) (Rev 1).sfc
CRC: 7CA113C9
Retroplay pm:ed helped me out
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
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
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 ^^
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 ^^
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.
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).
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).
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.
In the latter case, I suspect also the version 0 to freeze.
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).
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).
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
For now I'd say if anybody encounters this... well. Bad luck
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?
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?
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.
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.
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.
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.
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
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
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).
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.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).
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.
Similar topics
» Mortal Kombat 3 & Ultimate Mortal Kombat 3
» Mortal Kombat II
» Mortal Kombat II (MD+, 32X+ & MSU-MD)
» Mortal Kombat II
» Mortal Kombat II Unlimited
» Mortal Kombat II
» Mortal Kombat II (MD+, 32X+ & MSU-MD)
» Mortal Kombat II
» Mortal Kombat II Unlimited
Permissions in this forum:
You cannot reply to topics in this forum