PS3 Compatibility List - PS2 on PS3

Just like me, freeze in the loading section. ISO.BIN.ENC game format, already installed the latest ps2 config from Aldo's github, load game from webMAN Games.

Quick reminder: Copy the encrypted CONFIG file as <name>.BIN.ENC.CONFIG in the same folder of the game.

/dev_hdd0/PS2ISO/<name>.BIN.ENC <= Encrypted ISO
/dev_hdd0/PS2ISO/<name>.BIN.ENC.CONFIG <= Encrypted CONFIG

If you don't include the .BIN.ENC.CONFIG, the title id must be included in the file name of the .BIN.ENC

You can try encrypting the CONFIG yourself instead of using the encrypted one from the repo.

Example:
ps2classic.exe e cex ps2.key SLUS_209.09.CONFIG SLUS_209.09.ENC CONFIG 2P0001-PS2U10000_00-0000111122223333

ps2.key (binary)
E4 E5 4F D6 7C 16 C3 16 F4 78 29 A3 04 84 D8 43
 
Someone here have game called: Zombie Hunters 2 ?
I heard there are graphical issues, but is not listed anywhere.
I probably can fix it if that's true.
 
@Bruno34 Yes, configs work on HEN for both ps2 classics .pkg files and also ISO.BIN.ENC/ISO.BIN.ENC.CONFIG files. If you're using ps2classics gui to make pkgs, you can download the unencrypted config from here: http://ps3.aldostools.org/ps2config.html

Select the downloaded config when you are making your pkg file. If you are using ISO.BIN.ENC format with webman mod, you can download the encrypted config from the same website. Make sure to select "ENC (PS2 Classics)" in the pull down menu in the top right corner and use it with your game in PS2ISO/*game folder here* folder.
thank you very much, took my doubts.
 
Someone here have game called: Zombie Hunters 2 ?
I heard there are graphical issues, but is not listed anywhere.
I probably can fix it if that's true.
I tested the version SLES-54569 and I didn't notice any graphical issue in the first 5 minutes of the game. Maybe the glitch is in a particular level.

The game has a PAL / NTSC selector. I tested both options without issues. Anyway the game is so bad that I don't think anyone will miss it if it's not fully playable :)

Tested the game as CUE/BIN on Rebug Lite 4.86.1. The game is CD size.
 
I tested the version SLES-54569 and I didn't notice any graphical issue in the first 5 minutes of the game. Maybe the glitch is in a particular level.

The game has a PAL / NTSC selector. I tested both options without issues. Anyway the game is so bad that I don't think anyone will miss it if it's not fully playable :)
Thanks for testing then :)
 
You can't use 0x01 for other games. I know what all of them do, and is really per game predefined stuff. Few of them are per game engine, but still do something game specific.

For example 2C, 2D are hooks for Onimusha IPU program, to add 4QW to packet. You can notice how specific hooks are even by game list. Some of them just target different region.

0x0A - Triace (Force correct value on decryption runtime)
0x0B - Triace, interesting. Star Ocean don't need it
0x12 - Disney's Finding Nemo hook
0x13 - 0x16 - Snowblind hacks (custom name ;) )
0x1B - 0x1E - Street Racing Syndicate hook
0x1F - 0x22 - Ford vs. Chevy
0x0F - 0x11, and 0x3B doing the same but "probing" for conditions, and answering in different addresses. Fix for messy gta CTheScripts::ClearSpaceForMissionEntity. PS4 emulator do this too.
0x2F - 0x32 Singstar's hooks
I think using a function_id specific for each game is a bad development decission because the amount of games that could be added to this list of function_id's is undefined (could be tenths, or hundreds, when they designed this feature they could not know how many games was going to be needed to add to the list)
The lenght of the value function_id is 32bits, so they had room to add a lot though... anyway, i dont think they did it so bad

The first function_id's could be generic, if the "logic" made by the function is something simple we could use them in other games because we can change the offset of the memory address that is going to be "managed" by the function

Actually, all them could be generic, the fact that some function_id's was found used in a single specific game maybe is just a coincidence
 
Quick reminder: Copy the encrypted CONFIG file as <name>.BIN.ENC.CONFIG in the same folder of the game.

/dev_hdd0/PS2ISO/<name>.BIN.ENC <= Encrypted ISO
/dev_hdd0/PS2ISO/<name>.BIN.ENC.CONFIG <= Encrypted CONFIG

If you don't include the .BIN.ENC.CONFIG, the title id must be included in the file name of the .BIN.ENC

You can try encrypting the CONFIG yourself instead of using the encrypted one from the repo.

Example:
ps2classic.exe e cex ps2.key SLUS_209.09.CONFIG SLUS_209.09.ENC CONFIG 2P0001-PS2U10000_00-0000111122223333

ps2.key (binary)
E4 E5 4F D6 7C 16 C3 16 F4 78 29 A3 04 84 D8 43
It worked, thanks Aldo. I use Apollo Save Tools to encrypt ISO, the result is
/PS2ISO/<game name folder>/ISO.BIN.ENC

I moved the config file to
/PS2ISO/<game name folder>/ISO.BIN.ENC.CONFIG
 
Quick reminder: Copy the encrypted CONFIG file as <name>.BIN.ENC.CONFIG in the same folder of the game.

/dev_hdd0/PS2ISO/<name>.BIN.ENC <= Encrypted ISO
/dev_hdd0/PS2ISO/<name>.BIN.ENC.CONFIG <= Encrypted CONFIG

If you don't include the .BIN.ENC.CONFIG, the title id must be included in the file name of the .BIN.ENC

You can try encrypting the CONFIG yourself instead of using the encrypted one from the repo.

Example:
ps2classic.exe e cex ps2.key SLUS_209.09.CONFIG SLUS_209.09.ENC CONFIG 2P0001-PS2U10000_00-0000111122223333

ps2.key (binary)
E4 E5 4F D6 7C 16 C3 16 F4 78 29 A3 04 84 D8 43
@aldostools, does auto config in wMM not apply to encrypted iso?
 
I think using a function_id specific for each game is a bad development decission because the amount of games that could be added to this list of function_id's is undefined (could be tenths, or hundreds, when they designed this feature they could not know how many games was going to be needed to add to the list)
The lenght of the value function_id is 32bits, so they had room to add a lot though... anyway, i dont think they did it so bad

The first function_id's could be generic, if the "logic" made by the function is something simple we could use them in other games because we can change the offset of the memory address that is going to be "managed" by the function

Actually, all them could be generic, the fact that some function_id's was found used in a single specific game maybe is just a coincidence
Lets take a look at example:


CMD 25 - Big Mutha Truckers 2
Code:
li        r0, 2
li        r9, 0
sldi      r0, r0, 32
oris      r0, r0, 0x2048
ori       r0, r0, 0x2B8
stwbrx    r9, 0, r0     # store 0 on 0x2204802B8

2 = EE emulated memory
next 2 = Non cached
04802B8 = EE address, every single game (or at least game engine) have different code at that address.
Now configs from 0x1B to at least 0x27 just store 1 or 0 on selected address. Very game specific because even pal vs ntsc need different config due to different EE address hit in it.

Even more, all of those games use the same game engine made by Eutechnyx. And even then need separate config just because different address used inside config. I'm guessing here that game fix need to be done this way because hook at EE side will probably fail at write to non cached memory, because that will also change cached part due to emulator design. This is game specific ;)

So yeah, i'm 100% sure that isn't coincidence. Only kinda generic hook is 0x00, and 0x01 because hit EE kernel memory that should be the same at least for most games, and hook 0x0D because it is just PPC side sleep.
 
Like this?
/PS2ISO/<game name folder>/SLUS-20909.BIN.ENC

I don't remember if the sub-folders are supported for PS2ISO. There was limitations with the sub-folders, but I have made several changes to improve the support.

The title ID in the file name can be like:

/dev_hdd0/PS2ISO/SLUS-20909.BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity [SLUS-20909].BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity (SLUS-20909).BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity [SLUS_209.09].BIN.ENC
/dev_hdd0/PS2ISO/[SLUS-20909] Crash Twinsanity.BIN.ENC
/dev_hdd0/PS2ISO/[SLUS_209.09] Crash Twinsanity.BIN.ENC
 
I don't remember if the sub-folders are supported for PS2ISO. There was limitations with the sub-folders, but I have made several changes to improve the support.

The title ID in the file name can be like:

/dev_hdd0/PS2ISO/SLUS-20909.BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity [SLUS-20909].BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity (SLUS-20909).BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity [SLUS_209.09].BIN.ENC
/dev_hdd0/PS2ISO/[SLUS-20909] Crash Twinsanity.BIN.ENC
/dev_hdd0/PS2ISO/[SLUS_209.09] Crash Twinsanity.BIN.ENC
@Louis Garry I can confirm subfolders *are* supported for PS2ISO, but I discovered your method is way better/easier. I assumed it *had* to be named ISO.BIN.ENC, so I named each subfolder the game name with the iso inside. But I discovered it's easier/more convenient using your method, so I renamed all my games using your method of *game name*.BIN.ENC and *game name*.BIN.ENC.CONFIG. Much more streamlined than what I had before...still learning the ins and outs of HEN after being accustomed to a CFW console for the past couple years.

As a side note, art can be added as *game name*.BIN.jpg. It's important to omit the ENC as it won't be detected from webMAN.
 
Lets take a look at example:


CMD 25 - Big Mutha Truckers 2
Code:
li        r0, 2
li        r9, 0
sldi      r0, r0, 32
oris      r0, r0, 0x2048
ori       r0, r0, 0x2B8
stwbrx    r9, 0, r0     # store 0 on 0x2204802B8

2 = EE emulated memory
next 2 = Non cached
04802B8 = EE address, every single game (or at least game engine) have different code at that address.
Now configs from 0x1B to at least 0x27 just store 1 or 0 on selected address. Very game specific because even pal vs ntsc need different config due to different EE address hit in it.

Even more, all of those games use the same game engine made by Eutechnyx. And even then need separate config just because different address used inside config. I'm guessing here that game fix need to be done this way because hook at EE side will probably fail at write to non cached memory, because that will also change cached part due to emulator design. This is game specific ;)

So yeah, i'm 100% sure that isn't coincidence. Only kinda generic hook is 0x00, and 0x01 because hit EE kernel memory that should be the same at least for most games, and hook 0x0D because it is just PPC side sleep.
What i mean is... we need to make a list of the "logic" used by every function_id. As far i understand that "logic" shoud be something very simple, is the kind of thing that can be written in a very short line in the source code
I diont understand assembler, but from this example you posted it looks a bit like this to me:
Code:
 if (x=0x32 || x=0x2048 || x=0x2B8) set x=0
The address where is applyed this logic in big mutha truckers doesnt matters, because we can apply to any other address
As eample, there are many examples in wiki that tells "DMAC related", "EMU Memory", or "EE"... but thats because the address, if we change the address then are not going to be related with DMAC, EE, etc... right ?

In other words, in the way i see it the only thing that matters is the "logic". After knowing how works the "logic" of every function we can decide if we can use that same logic in other games
If the "logic" made by big mutha truckers is similar to the code i wrote then it looks like is not going to be handy for other games... but im guessing there should be some function id's that does very simple things


----------
Edit:
To fix the problem mrjaredbeta was having in valkyrye profile 2 we would need something like this:
Code:
if (value != original) set value = original
If something like that exists in one of the function_id's.. then we could apply that "logic" to the address that is driving mrjaredbeta crazy and problem fixed :)
 
Last edited:
To fix the problem mrjaredbeta was having in valkyrye profile 2 we would need something like this:
Code:
if (value != original) set value = original
If something like that exists in one of the function_id's.. then we could apply that "logic" to the address that is driving mrjaredbeta crazy and problem fixed :)
I think that my previous observation was wrong and the value in memory is not reverting back to the original. I *thought* it was that, but after reexamining it via pcsx2 and debugger the value literally cannot change as nothing is changing it after battle. So, my previous thought was wrong, and there is no need to experiment using this. However, a write up of what the logic these functions do would be great for the wiki, I agree!

My new thought is the game protection that triggers after the battle is not even being touched/disabled via this config! This is also confusing me to no end, as pcsx2 has absolutely no issues with this "after battle" game protection, and patching the same things in the netemu config yields no freezes in pcsx2! Yet, netemu is struggling...

Maori's patch has a ridiculous amount of memory patching going on...it's close to 100, and the maximum amount of 0x09 commands are 32. But, as 0x09 patches two consecutive addresses at once, and that Maori's patch is all consecutive, there are actually around 64 memory patches available for use. There are around 21 0x09 patches used already in the config I'm working with (42 total memory patches), so it leaves me with very little more. I doubt all of the patches are necessary though, and I bet I can find a magic patch that will 100% fix this game protection this way...just need to work on it.

Anyways, I am not 100% saying I will figure this out, but I am still working diligently on this! You're right, this is really driving me insane. Something so easy for pcsx2 is causing so much trouble for netemu...
 
I think that my previous observation was wrong and the value in memory is not reverting back to the original. I *thought* it was that, but after reexamining it via pcsx2 and debugger the value literally cannot change as nothing is changing it after battle. So, my previous thought was wrong, and there is no need to experiment using this. However, a write up of what the logic these functions do would be great for the wiki, I agree!

My new thought is the game protection that triggers after the battle is not even being touched/disabled via this config! This is also confusing me to no end, as pcsx2 has absolutely no issues with this "after battle" game protection, and patching the same things in the netemu config yields no freezes in pcsx2! Yet, netemu is struggling...

Maori's patch has a ridiculous amount of memory patching going on...it's close to 100, and the maximum amount of 0x09 commands are 32. But, as 0x09 patches two consecutive addresses at once, and that Maori's patch is all consecutive, there are actually around 64 memory patches available for use. There are around 21 0x09 patches used already in the config I'm working with (42 total memory patches), so it leaves me with very little more. I doubt all of the patches are necessary though, and I bet I can find a magic patch that will 100% fix this game protection this way...just need to work on it.

Anyways, I am not 100% saying I will figure this out, but I am still working diligently on this! You're right, this is really driving me insane. Something so easy for pcsx2 is causing so much trouble for netemu...
When i said that something like this could defeat the protection completly is because im guessing this kind of protections could work in different ways:

There is a line of code that "initiates" the protection, and it generates tenths of security checks... but all the checks ends in some kind of "panic" signal
In this case we could "hook" the code at the point where it "initiates" the protection and disable it at his root, this would be ideal because it would decrease the overall workload

Or it could happen the protection is initiated multiple times at different points of the code (so we cant stop it at his root), then it does tenths of safety checks... and all them ends in a "panic" signal (stored at a memory address)

In both cases we coukld "hook" the address where is stored the panic signal and make it static (so it doesnt changes ever and the game is not able to trigger the "panic" signal)
Maybe is just a flag 0=disabled, 1=enabled
 
Valkyrie Profile 2 - Silmeria (SLES-54644) Experimental Code
Code:
3D 00 00 00 57 44 00 00 09 00 00 00 15 00 00 00
D4 5A 20 00 99 00 83 90 00 00 B0 7F 80 FE 03 08
00 00 B0 7F 00 FA 0F 00 00 00 00 00 00 00 00 00
18 D9 23 A0 99 00 83 90 08 FA 0F 00 00 00 00 00
00 00 00 00 E8 33 43 8C 42 00 02 3C 10 FA 0F 00
00 00 00 00 00 00 00 00 10 00 C6 34 1E 3C 06 3C
18 FA 0F 00 00 00 00 00 00 00 00 00 2D 10 00 00
0B 00 66 14 20 FA 0F 00 00 00 00 00 00 00 00 00
60 AC 07 3C 42 00 02 3C 28 FA 0F 00 00 00 00 00
00 00 00 00 D4 39 47 AC 00 00 E7 34 30 FA 0F 00
00 00 00 00 00 00 00 00 16 24 0B 3C 42 00 0A 3C
38 FA 0F 00 00 00 00 00 00 00 00 00 B4 33 4B AD
00 00 6B 35 40 FA 0F 00 00 00 00 00 00 00 00 00
20 37 4B AD 68 35 4B AD 48 FA 0F 00 00 00 00 00
00 00 00 00 4A 00 02 3C 2D 10 00 00 50 FA 0F 00
00 00 00 00 00 00 00 00 12 3C 06 3C D0 BA 43 8C
58 FA 0F 00 00 00 00 00 00 00 00 00 03 00 66 14
10 00 C6 34 60 FA 0F 00 00 00 00 00 00 00 00 00
4A 00 02 3C 2D 10 00 00 68 FA 0F 00 00 00 00 00
00 00 00 00 2D 10 00 00 5C 9F 40 AC 70 FA 0F 00
00 00 00 00 00 00 00 00 AC D2 43 8C 37 00 02 3C
78 FA 0F 00 00 00 00 00 00 00 00 00 34 C2 C6 34
10 0C 06 3C 80 FA 0F 00 00 00 00 00 00 00 00 00
00 00 00 00 B8 16 08 08 60 67 24 00 02 00 02 24
30 FE BD 27 00 00 00 00 08 00 E0 03 E0 7B 2B 00
80 00 BF FF 30 FE BD 27 00 00 00 00 08 00 E0 03
60 0B 2E 00 2D 28 80 00 F0 FF BD 27 00 00 00 00
08 00 E0 03 07 00 00 00 08 00 00 00 01 00 00 00
08 98 2B 00 0B 00 00 00 01 00 00 00 28 09 10 00
0A 00 00 00 44 00 00 00 00 00 00 00
I really do not want to jinx this, but this is working. This is a direct port of Maori's pcsx2 pnach, but I relocated it from 01FEB000 to a solid place in memory (000FFA00 seems to be a go-to address for Sony's configs). I used Maori's shadow disable code for all characters, as well as Lost Forest speed fix by disabling its overlay effect. Frame rate seems solid so far.

I have started a new game twice, played until Royal Underground Path's first save point (pretty far in) with no freezes at all. @nictse Please test if you can! I want to make sure I am not going insane now!

I will eventually be testing this game from start to finish and checking the other potential freezes this game has later from game protection. Also, like @sandungas said, other specific game protection may trigger from specific points/circumstances in the game, so it is definitely to be noted. That's why this is experimental, as new things might need to be added to it! Also, I will experiment around with some other effects and codes in Maori's patch and test further.

Big shout out to Maori-Jigglypuff for literally every code in this config, and @kozarovv for answering my continuous questions. Hope this can finally be another errorless game now to put on the list. :D
 
I don't remember if the sub-folders are supported for PS2ISO. There was limitations with the sub-folders, but I have made several changes to improve the support.

The title ID in the file name can be like:

/dev_hdd0/PS2ISO/SLUS-20909.BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity [SLUS-20909].BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity (SLUS-20909).BIN.ENC
/dev_hdd0/PS2ISO/Crash Twinsanity [SLUS_209.09].BIN.ENC
/dev_hdd0/PS2ISO/[SLUS-20909] Crash Twinsanity.BIN.ENC
/dev_hdd0/PS2ISO/[SLUS_209.09] Crash Twinsanity.BIN.ENC
Thank you master Aldo, I will try. BTW the output for /PS2ISO/<game name folder>/ISO.BIN.ENC from the Apollo Save Tool, maybe I should ask @bucanero for output options like the example above so I don't have to rename it again.
 
Thank you master Aldo, I will try. BTW the output for /PS2ISO/<game name folder>/ISO.BIN.ENC from the Apollo Save Tool, maybe I should ask @bucanero for output options like the example above so I don't have to rename it again.

I can only speak with my experience, but with my PS3 4.84 HEN + webman mod, using /dev_hdd0/PS2ISO/My Game Name/ISO.BIN.ENC worked just fine. wMM detected the games and I could launch them without issues.

What I didn't test was using images with configs, it's probably the only thing I missed to add in Apollo, because the encryption algorithm is already there.

If it's better for compatibility, for a next version I'll generate /dev_hdd0/PS2ISO/My Game Name.BIN.ENC instead of using folders.
 

Similar threads

Back
Top