RED-Project icon indicating copy to clipboard operation
RED-Project copied to clipboard

Mortal Kombat Legacy Kollection (Steam)

Open Rot-gut opened this issue 1 month ago • 17 comments

This Kollection kontains:

  • Mortal Kombat – 1992 (Arcade, SNES, Genesis, Game Boy, Game Gear)
  • Mortal Kombat II – 1993 (Arcade, SNES, Genesis, Game Boy, 32X)
  • Mortal Kombat 3 – 1995 (Arcade, SNES, Genesis)
  • Ultimate Mortal Kombat 3 – 1995 (Arcade, WaveNet Arcade, SNES)
  • Mortal Kombat Trilogy – 1996 (PlayStation)
  • Mortal Kombat 4 – 1997 (Arcade)
  • Mortal Kombat Mythologies: Sub-Zero – 1997 (PlayStation)
  • Mortal Kombat Special Forces – 2000 (PlayStation)
  • Mortal Kombat Advance – 2001 (Game Boy Advance)
  • Mortal Kombat: Deadly Alliance – 2002 (Game Boy Advance)
  • Mortal Kombat: Tournament Edition – 2003 (Game Boy Advance)

Installing on Steam, I see that the PS1 games (Mortal Kombat Mythologies: Sub-Zero, Mortal Kombat Trilogy, Mortal Kombat: Special Forces) are .bin and .cues in the installation folder:

\Program Files (x86)\Steam\steamapps\common\Mortal Kombat Legacy Kollection\pancake

MortalKombatMythologies_SLUS00476_SCEA.bin MD5: 8A75EDBA7855618F8F61338DAEF1BE1D (matches Redump) MortalKombatSpecialForces_SLUS00824_SCEA.bin MD5: 143DD30CD0412F1D25E06204F6A1D2B5 (matches Redump) MortalKombatTrilogy_SLUS00330_SCEA.bin MD5: 19F1C07F6A3DACE9B074DEB71B5D36B0 (does not match Redump; original rip has 30 tracks, so I can't immediately determine if this single .bin was modified or if all the tracks that were packed into a single .bin are from the original disc or the Rev 1)

Everything else seems to be packed into the assets.pie file in the root of the folder. Unsure how it could be unpacked.

Rot-gut avatar Nov 01 '25 19:11 Rot-gut

I think it has been decrypted and unpacked already: https://github.com/Masquerade64/Cowabunga/issues/20#issuecomment-3474785139

RealRelativeEase avatar Nov 01 '25 23:11 RealRelativeEase

I think it has been decrypted and unpacked already: Masquerade64/Cowabunga#20 (comment)

@Rot-gut correct, view my post https://github.com/Masquerade64/Cowabunga/issues/20#issuecomment-3476957957

and

https://github.com/Masquerade64/Cowabunga/issues/20#issuecomment-3476924804

SuperNeotendo avatar Nov 01 '25 23:11 SuperNeotendo

\Program Files (x86)\Steam\steamapps\common\Mortal Kombat Legacy Kollection\pancake

MortalKombatMythologies_SLUS00476_SCEA.bin MD5: 8A75EDBA7855618F8F61338DAEF1BE1D (matches Redump) MortalKombatSpecialForces_SLUS00824_SCEA.bin MD5: 143DD30CD0412F1D25E06204F6A1D2B5 (matches Redump) MortalKombatTrilogy_SLUS00330_SCEA.bin MD5: 19F1C07F6A3DACE9B074DEB71B5D36B0 (does not match Redump; original rip has 30 tracks, so I can't immediately determine if this single .bin was modified or if all the tracks that were packed into a single .bin are from the original disc or the Rev 1)

As far as I can tell pancake_libretro_windows.dll is a modified psx emulator (can't get it to run in retroarch) if you hex edit that file you can see a potential codename directory "./breakfast/pancake...." so that's probably the origin of that.

I suspect pancake_libretro_windows.dll on the fly patches the psx .bin files with e.g: TRILOGY.EXE.hle to hack the disc loading code for faster access, unsure what libmipsaot-SLUS00330_TRILOGY.EXE.dll does, perhaps part of the patching process ? It would be cool to be able to reverse engineer this to patch MortalKombatTrilogy_SLUS00330_SCEA.bin for other emulators etc.

horsiezoo avatar Nov 02 '25 02:11 horsiezoo

Maybe the patches are for some of the cheats/features they provided in the collection?

reubenajohnston avatar Nov 02 '25 12:11 reubenajohnston

I can confirm Mortal Kombat Trilogy on PSX is functionally identical to the Rev 1 of the original disc. Track 1 is byte-for-byte identical, but the redbook tracks have different checksums due to the concatenation. The redbook tracks are functionally identical, so no need to worry.

In case you guys are wondering what I did, I compressed the disc with CHDMAN and decompressed it with the "--splitbin" argument.

DrAzathoth avatar Nov 04 '25 02:11 DrAzathoth

Any info on how to convert the arcade games into romsets yet?

DrAzathoth avatar Nov 04 '25 02:11 DrAzathoth

Was just poking round in mk_legacy_kollection.exe, mention of Megadrive UMK3, either removed at last minute or added in future update ?

--EDIT : Gameboy emulator is SameBoy : 14019404e 48 8d 15 LEA RDX ,[s_SameBoy_vVERSION_140c12bb0 ] = "SameBoy vVERSION"

And the overall emulator is likely to be FBNeo, thats compatible with gamegear, megadrive, snes and arcade, which somewhat explains the separate PSX emu.

140b7f59c   FUN_140b7f570 MOV qword ptr [RBX],RAX=>Moo::Game_Genesis_Ultimate_Mortal_Kombat_3_USA::vftable
140cb8af8 RTTI_Base_Class_Array Moo::Game_Genesis_Mortal_Kombat Moo::Game_Genesis_Mortal_Kombat::RTTI Base Class Array
140cb8b20 RTTI_Base_Class_Descriptor_at_(0,-1,0,64) Moo::Game_Genesis_Mortal_Kombat Moo::Game_Genesis_Mortal_Kombat::RTTI Base Class Descriptor at (0,-1,0,64)
140cb8ae0 RTTI_Class_Hierarchy_Descriptor Moo::Game_Genesis_Mortal_Kombat Moo::Game_Genesis_Mortal_Kombat::RTTI Class Hierarchy Descriptor
140cb8c80 RTTI_Base_Class_Array Moo::Game_Genesis_Mortal_Kombat_3 Moo::Game_Genesis_Mortal_Kombat_3::RTTI Base Class Array
140cb8ca8 RTTI_Base_Class_Descriptor_at_(0,-1,0,64) Moo::Game_Genesis_Mortal_Kombat_3 Moo::Game_Genesis_Mortal_Kombat_3::RTTI Base Class Descriptor at (0,-1,0,64)
140cb8c68 RTTI_Class_Hierarchy_Descriptor Moo::Game_Genesis_Mortal_Kombat_3 Moo::Game_Genesis_Mortal_Kombat_3::RTTI Class Hierarchy Descriptor
140cb8d10 RTTI_Base_Class_Array Moo::Game_Genesis_Mortal_Kombat_II Moo::Game_Genesis_Mortal_Kombat_II::RTTI Base Class Array
140cb8d38 RTTI_Base_Class_Descriptor_at_(0,-1,0,64) Moo::Game_Genesis_Mortal_Kombat_II Moo::Game_Genesis_Mortal_Kombat_II::RTTI Base Class Descriptor at (0,-1,0,64)
140cb8cf8 RTTI_Class_Hierarchy_Descriptor Moo::Game_Genesis_Mortal_Kombat_II Moo::Game_Genesis_Mortal_Kombat_II::RTTI Class Hierarchy Descriptor
140cb8be8 RTTI_Base_Class_Array Moo::Game_Genesis_Mortal_Kombat_V11 Moo::Game_Genesis_Mortal_Kombat_V11::RTTI Base Class Array
140cb8c18 RTTI_Base_Class_Descriptor_at_(0,-1,0,64) Moo::Game_Genesis_Mortal_Kombat_V11 Moo::Game_Genesis_Mortal_Kombat_V11::RTTI Base Class Descriptor at (0,-1,0,64)
140cb8bd0 RTTI_Class_Hierarchy_Descriptor Moo::Game_Genesis_Mortal_Kombat_V11 Moo::Game_Genesis_Mortal_Kombat_V11::RTTI Class Hierarchy Descriptor
140cb8da0 RTTI_Base_Class_Array Moo::Game_Genesis_Ultimate_Mortal_Kombat_3_USA Moo::Game_Genesis_Ultimate_Mortal_Kombat_3_USA::RTTI Base Class Array
140cb8dc8 RTTI_Base_Class_Descriptor_at_(0,-1,0,64) Moo::Game_Genesis_Ultimate_Mortal_Kombat_3_USA Moo::Game_Genesis_Ultimate_Mortal_Kombat_3_USA::RTTI Base Class Descriptor at (0,-1,0,64)
140cb8d88 RTTI_Class_Hierarchy_Descriptor Moo::Game_Genesis_Ultimate_Mortal_Kombat_3_USA Moo::Game_Genesis_Ultimate_Mortal_Kombat_3_USA::RTTI Class Hierarchy Descriptor

horsiezoo avatar Nov 04 '25 05:11 horsiezoo

And the overall emulator is likely to be FBNeo, thats compatible with gamegear, megadrive, snes and arcade, which somewhat explains the separate PSX emu.

I doubt it. FBNeo has a strictly noncommercial license. Hell, the reason FBNeo exists at all is because a member of the FBAlpha team decided to sell out and profit off of the project, so the other team members forked it as FBNeo.

From what I understand, their primary in-house emulator is called Moo and it was updated to also support PSX games in this release.

DrAzathoth avatar Nov 04 '25 06:11 DrAzathoth

Any info on how to convert the arcade games into romsets yet?

it is a bit of work, arcade roms are plain memory dumps, in umk3 wavenet edition i splitet the umk3w.user1 into odd/even but mk4 has a massive 8MB user1 file and needs to split also (into 8 x 1MB files).

user1 is maincode memory dump and you need sound and graphics too.

btw they added more revisions in mk4 there are 3 of them (mk4, mk4a, mk4b).

SuperNeotendo avatar Nov 04 '25 09:11 SuperNeotendo

From what I understand, their primary in-house emulator is called Moo and it was updated to also support PSX games in this release.

Aha right thanks for that! I found an interesting article https://www.shacknews.com/article/146257/no-more-secrets-the-making-of-mortal-kombat-legacy-kollection?page=9

I was wondering why the licensing didn’t contain any libretro mentions

horsiezoo avatar Nov 04 '25 18:11 horsiezoo

i have puzzled out mk1 arcade. maincpu uj12 and ug12 each have 8 and 9 bytes that differ. all the other files match the other mkr4 files perfectly.

reubenajohnston avatar Nov 08 '25 03:11 reubenajohnston

I have puzzled out all the arcade versions except mk4b and they are compatible with either a custom hbmame or mame 2010.

reubenajohnston avatar Nov 10 '25 03:11 reubenajohnston

I have puzzled out all the arcade versions except mk4b and they are compatible with either a custom hbmame or mame 2010.

and how you run mk4 mk4a? just load maincode into mame via debugger?

SuperNeotendo avatar Nov 10 '25 06:11 SuperNeotendo

It is a little complex and they use the Zeus cpu so the sections are different . Send me an email.

reubenajohnston avatar Nov 10 '25 12:11 reubenajohnston

How do you convert the arcade memory dumps into ROMs? Someone clearly figured it out when extracting the romset for UMK3 Wavenet.

DrAzathoth avatar Nov 11 '25 10:11 DrAzathoth

Send me an email and I'll provide details there.

reubenajohnston avatar Nov 11 '25 13:11 reubenajohnston

How do you convert the arcade memory dumps into ROMs? Someone clearly figured it out when extracting the romset for UMK3 Wavenet.

yeah, i was that, for umk3 it is relative easy but zeus hw is another thing

SuperNeotendo avatar Nov 11 '25 14:11 SuperNeotendo

This blogpost has instructions on how to extract the arcade ROMs and the 32X BIOS: https://milkchoco.info/archives/12294

Based on findings by Jack from a user comment.

RealRelativeEase avatar Dec 06 '25 20:12 RealRelativeEase

This blogpost has instructions on how to extract the arcade ROMs and the 32X BIOS: https://milkchoco.info/archives/12294

Based on findings by Jack from a user comment.

what is this bcut.exe and swap.exe?

SlashEraser avatar Dec 07 '25 21:12 SlashEraser

They are very useful tools created by scrap_a which can be downloaded from here:

http://blog.livedoor.jp/scrap_a/archives/37910430.html

They are used when one of the required rom files is contained within another file and needs to be extracted, either by directly cutting a section of the code out (e.g. with bcut), or re-ordering sections of the file then cutting them out (e.g. with bswap). They are to be placed in the same directory as the file you are trying to process.

With bswap, you sometimes need another file to specify what order is required to extract them. e.g. with Ultimate Mortal Kombat 3, you need to create a .txt file called "4cut.txt" in the same directory, and populate it with the values as specified in the MilkChoco article. Thank you to the contributers at MilkChoco for providing the scripts - much appreciated!

MrVexar avatar Dec 08 '25 19:12 MrVexar

They are very useful tools created by scrap_a which can be downloaded from here:

http://blog.livedoor.jp/scrap_a/archives/37910430.html

They are used when one of the required rom files is contained within another file and needs to be extracted, either by directly cutting a section of the code out (e.g. with bcut), or re-ordering sections of the file then cutting them out (e.g. with bswap). They are to be placed in the same directory as the file you are trying to process.

With bswap, you sometimes need another file to specify what order is required to extract them. e.g. with Ultimate Mortal Kombat 3, you need to create a .txt file called "4cut.txt" in the same directory, and populate it with the values as specified in the MilkChoco article. Thank you to the contributers at MilkChoco for providing the scripts - much appreciated!

Thanks

Just one more question: what i need to put on oddeven.txt?

SlashEraser avatar Dec 09 '25 12:12 SlashEraser

Thanks

Just one more question: what i need to put on oddeven.txt?

That's contained in the BSwap.zip file from the download link above, and shouldn't need changed hopefully.

MrVexar avatar Dec 09 '25 18:12 MrVexar

Thanks Just one more question: what i need to put on oddeven.txt?

That's contained in the BSwap.zip file from the download link above, and shouldn't need changed hopefully.

Once again, thank you, good friend.

SlashEraser avatar Dec 09 '25 19:12 SlashEraser