Mortal Kombat Legacy Kollection (Steam)
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.
I think it has been decrypted and unpacked already: https://github.com/Masquerade64/Cowabunga/issues/20#issuecomment-3474785139
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
\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.
Maybe the patches are for some of the cheats/features they provided in the collection?
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.
Any info on how to convert the arcade games into romsets yet?
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 |
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.
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).
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
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.
I have puzzled out all the arcade versions except mk4b and they are compatible with either a custom hbmame or mame 2010.
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?
It is a little complex and they use the Zeus cpu so the sections are different . Send me an email.
How do you convert the arcade memory dumps into ROMs? Someone clearly figured it out when extracting the romset for UMK3 Wavenet.
Send me an email and I'll provide details there.
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
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.
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?
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!
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?
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.
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.