mrjaredbeta
Developer
@aldostools Oops, I mean page 143. 
Which version of SH you have US? EU? Probably i will be able to help with debug symbols, so you will get function names. That should help little bit, but i need to know your game version.It's possible...but haven't looked into it yet. I will add it to my list of games to check.
@pokegts90 Great news for Shadow Hearts 2/3: I managed to find exactly where the analog freeze is happening in the code. It seems the problem lies in some multiplication function when analog stick is executed. This operation is not touched when using d-pad, so it explains why it affects analog only. It was pretty tricky to locate because accuracy commands (0x0F and 0x10) have no effect on fixing it at all... I *hope* I can figure out a workaround for this, otherwise we're out of luck...but I am optimistic.![]()
Does webman mod will auto load the config that I downloaded?I don't remember how the Iso Name.
I am working with From the New World SLUS-21326 right now. Quick question, can 0x0A commands patch opcodes loaded in after boot? Pcsx2 shows these functions non-color coded and in plain white with no differentiation between functions. Is this syscall stuff? Generally confused by this, and I think game might require a 0x0B command instead. Anyways, it *seems* problematic function starts at 0041A460 (called at 004262DC). I tried noping 004262DC, and I could swear this would fix it, but no change happens...so I assume my 0x0A command is doing nothing. These functions are loaded in upon loading a save game, and main menu doesn't have them loaded yet.Which version of SH you have US? EU? Probably i will be able to help with debug symbols, so you will get function names. That should help little bit, but i need to know your game version.
For now i have only functions for SH Covenant SLUS_210.41, hope that will help little bit maybe. White in pcsx2 mean it was loaded after main elf (actually that pcsx2 don't found function there in initial scan).I am working with From the New World SLUS-21326 right now. Quick question, can 0x0A commands patch opcodes loaded in after boot? Pcsx2 shows these functions non-color coded and in plain white with no differentiation between functions. Is this syscall stuff? Generally confused by this, and I think game might require a 0x0B command instead. Anyways, it *seems* problematic function starts at 0041A460 (called at 004262DC). I tried noping 004262DC, and I could swear this would fix it, but no change happens...so I assume my 0x0A command is doing nothing. These functions are loaded in upon loading a save game, and main menu doesn't have them loaded yet.
Ohh, there are different ELFs on disc. This data is probably loaded in from "FIELD.CPX" on disc.
CPad::Initialize((int,int)) 0x22C9A0
CPad::ResetSystem((void)) 0x22CA90
CPad::Polling((void)) 0x22CB10
CPad::QueryInterface((int,int)) 0x22CBB0
CPad::SetAssign((int,ushort const *)) 0x22CC30
CPad::GetAssign((int,ushort *)) 0x22CD00
CPad::ResetAssign((int)) 0x22CDD0
CPad::GetActive((int)) 0x22CEA0
CPad::SetActDirect((int,uchar const *)) 0x22CED0
CPad::Clear((int)) 0x22CF30
CPad::ClearRepeatCounter((int)) 0x22CFD0
CPad::CPad((int)) 0x22D060
CPad::~CPad((void)) 0x22D090
CPad::Update((void)) 0x22D0F0
CPad::MakeReal((ushort)) 0x22D380
CPad::MakeRepeat((void)) 0x22D410
CPad::Enable((void)) 0x22D550
CPad::Disable((void)) 0x22D6B0
CPadMan::CPadMan((void)) 0x22D810
CLibpad::~CLibpad((void)) 0x22D8F0
CPadMan::~CPadMan((void)) 0x22D940
CPadMan::Invalidate((void)) 0x22D9C0
CPadMan::Open((int,int)) 0x22D9E0
CPadMan::Close((void)) 0x22DA50
CPadMan::Polling((void)) 0x22DAB0
CPadMan::Disconnected((CLibpad::StateType)) 0x22DC20
CPadMan::CheckVibration((void)) 0x22DD10
CPadMan::InitVibration((void)) 0x22DD50
CPadMan::WaitVibration((void)) 0x22DD90
CPadMan::CheckActuator((void)) 0x22DDF0
CPadMan::InitActuator((void)) 0x22DE70
CPadMan::WaitActuator((void)) 0x22DEB0
CPadMan::CheckPressMode((void)) 0x22DF10
CPadMan::InitPressMode((void)) 0x22DF50
CPadMan::WaitPressMode((void)) 0x22DF90
CPadMan::Stable((CLibpad::StateType)) 0x22DFF0
CPadMan::Read((void)) 0x22E0C0
CPadMan::ClearActDirect((void)) 0x22E170
CPadMan::SetActDirect((uchar const *)) 0x22E1B0
CAnalogStick::CAnalogStick((void)) 0x22E220
CAnalogStick::~CAnalogStick((void)) 0x22E230
CAnalogStick::Clear((void)) 0x22E280
CAnalogStick::Make((uchar,uchar)) 0x22E2A0
CAnalogStick::Make((ushort)) 0x22E380
CAnalogStick::Calculate((void)) 0x22E430
Freeze only happens outside of battles in "field" mode due to some weird analog calculation or something. I managed to locate where it got locked up (after many attempts at memory dumps), but this can help for sure. Probably one of those analog stick ones at the end. I will check this out on Covenant as issue is very similar and caused by the same thing. Thanks!For now i have only functions for SH Covenant SLUS_210.41, hope that will help little bit maybe. White in pcsx2 mean it was loaded after main elf (actually that pcsx2 don't found function there in initial scan).
Not sure that issue will be FIELD only. Does freeze happen only outside of fights, and movies, etc?
0x0A should hit them fine, i think i did that for some games that use overlay, even WRC games patch that way.
So here are pad related functions for SLUS_210.41
Code:CPad::Initialize((int,int)) 0x22C9A0 CPad::ResetSystem((void)) 0x22CA90 CPad::Polling((void)) 0x22CB10 CPad::QueryInterface((int,int)) 0x22CBB0 CPad::SetAssign((int,ushort const *)) 0x22CC30 CPad::GetAssign((int,ushort *)) 0x22CD00 CPad::ResetAssign((int)) 0x22CDD0 CPad::GetActive((int)) 0x22CEA0 CPad::SetActDirect((int,uchar const *)) 0x22CED0 CPad::Clear((int)) 0x22CF30 CPad::ClearRepeatCounter((int)) 0x22CFD0 CPad::CPad((int)) 0x22D060 CPad::~CPad((void)) 0x22D090 CPad::Update((void)) 0x22D0F0 CPad::MakeReal((ushort)) 0x22D380 CPad::MakeRepeat((void)) 0x22D410 CPad::Enable((void)) 0x22D550 CPad::Disable((void)) 0x22D6B0 CPadMan::CPadMan((void)) 0x22D810 CLibpad::~CLibpad((void)) 0x22D8F0 CPadMan::~CPadMan((void)) 0x22D940 CPadMan::Invalidate((void)) 0x22D9C0 CPadMan::Open((int,int)) 0x22D9E0 CPadMan::Close((void)) 0x22DA50 CPadMan::Polling((void)) 0x22DAB0 CPadMan::Disconnected((CLibpad::StateType)) 0x22DC20 CPadMan::CheckVibration((void)) 0x22DD10 CPadMan::InitVibration((void)) 0x22DD50 CPadMan::WaitVibration((void)) 0x22DD90 CPadMan::CheckActuator((void)) 0x22DDF0 CPadMan::InitActuator((void)) 0x22DE70 CPadMan::WaitActuator((void)) 0x22DEB0 CPadMan::CheckPressMode((void)) 0x22DF10 CPadMan::InitPressMode((void)) 0x22DF50 CPadMan::WaitPressMode((void)) 0x22DF90 CPadMan::Stable((CLibpad::StateType)) 0x22DFF0 CPadMan::Read((void)) 0x22E0C0 CPadMan::ClearActDirect((void)) 0x22E170 CPadMan::SetActDirect((uchar const *)) 0x22E1B0 CAnalogStick::CAnalogStick((void)) 0x22E220 CAnalogStick::~CAnalogStick((void)) 0x22E230 CAnalogStick::Clear((void)) 0x22E280 CAnalogStick::Make((uchar,uchar)) 0x22E2A0 CAnalogStick::Make((ushort)) 0x22E380 CAnalogStick::Calculate((void)) 0x22E430
And no freeze in first SH.Hmm. Comparing to First SH give interesting result. Functions for analog are slightly different.
| Zatch Bell: Mamodo Fury |
| Magic Pengel - The Quest For Color |
| After the tutorial the game will fail to display any graphics correctly. |
3D 00 00 00 34 12 00 00 0A 00 00 00 01 00 00 00
7C 06 4F 00 FA FF 00 45 00 00 00 00 00 00 00 00
Can you test that? Looks like i made typo:
SCES_524.24 Ace Combat 5 - Fix Texture issues
Code:3D 00 00 00 57 44 00 00 0B 00 00 00 02 00 00 00 76 02 00 00 5C 01 00 00 20 00 00 00 4B 00 60 2C 48 49 88 00 4B 00 68 2C 48 4A 88 00 4B 0C 68 2C 48 4B 88 00 4A 00 02 FF 4A 00 02 FF 4B 00 60 2C 4B 00 68 2C 4B 0C 68 2C 4A 00 02 FF 4A 00 02 FF 48 49 88 00 48 4A 88 00 48 4B 88 00 6E 01 00 00 20 04 00 00 20 00 00 00 00 00 00 00 46 01 15 01 8F A2 00 20 24 03 00 01 00 00 00 00 C6 40 00 E4 46 00 A0 34 00 00 00 00 10 40 00 96 46 01 15 01 8F A2 00 20 24 03 00 01 14 43 00 3A C6 40 00 E4 46 00 A0 34 45 02 00 0C 00 00 00 00
SLUS_208.51 Ace Combat 5 - Fix Texture issues
Code:3D 00 00 00 57 44 00 00 0B 00 00 00 02 00 00 00 76 02 00 00 5C 01 00 00 20 00 00 00 4B 00 60 2C 48 49 88 00 4B 00 68 2C 48 4A 88 00 4B 0C 68 2C 48 4B 88 00 4A 00 02 FF 4A 00 02 FF 4B 00 60 2C 4B 00 68 2C 4B 0C 68 2C 4A 00 02 FF 4A 00 02 FF 48 49 88 00 48 4A 88 00 48 4B 88 00 80 0E 21 00 D8 20 00 00 20 00 00 00 00 00 00 00 46 01 15 01 8F A2 00 20 24 03 00 01 00 00 00 00 C6 40 00 E4 46 00 A0 34 00 00 00 00 10 40 00 96 46 01 15 01 8F A2 00 20 24 03 00 01 14 43 00 3A C6 40 00 E4 46 00 A0 34 45 02 00 0C 00 00 00 00
SLPS_254.18 Ace Combat 5 - Fix Texture issues
Code:3D 00 00 00 57 44 00 00 0B 00 00 00 02 00 00 00 76 02 00 00 5C 01 00 00 20 00 00 00 4B 00 60 2C 48 49 88 00 4B 00 68 2C 48 4A 88 00 4B 0C 68 2C 48 4B 88 00 4A 00 02 FF 4A 00 02 FF 4B 00 60 2C 4B 00 68 2C 4B 0C 68 2C 4A 00 02 FF 4A 00 02 FF 48 49 88 00 48 4A 88 00 48 4B 88 00 6E 01 00 00 E0 02 00 00 20 00 00 00 00 00 00 00 46 01 15 01 8F A2 00 20 24 03 00 01 00 00 00 00 C6 40 00 E4 46 00 A0 34 00 00 00 00 10 40 00 96 46 01 15 01 8F A2 00 20 24 03 00 01 14 43 00 3A C6 40 00 E4 46 00 A0 34 45 02 00 0C 00 00 00 00
RAR include ready files for CFW. All configs include also GX collision fix.
Make sure your iso and configs are named the same.@mrjaredbeta klonoa still freezing on the elevator switch using ur config?There is any way to see If I loaded the config correctly?My game freezes and cut off the tv signal.
Make sure your iso and configs are named the same.
Klonoa 2.iso
Klonoa 2.iso.CONFIG
Is there a 50Hz/60Hz selector after PS2 logo? If so, it is PAL version. That's the only other thing I can think of.
| SLUS-20151 |
Indeed, it works as you say. Yuri does flicker, but it's better than the alternative (always seems to be walking down for some reason). Thank you.Shadow Hearts: Covenant (SLUS-21041)
Fixes analog stick freeze. This is still new and barely tested, so treat this as an experiment. This is just for disc 1 but I'll do the other disc, other regions, and From the New World when I can.Code:3D 00 00 00 34 12 00 00 0A 00 00 00 01 00 00 00 7C 06 4F 00 FA FF 00 45 00 00 00 00 00 00 00 00
Minor issue is character will flicker the moment the stick hits the analog "sweet spot". As a reference, the "sweet spot" seems to be very slightly to the left and right of halfway up and down y-axis. Kind of hard to explain where it is...but if your left analog stick is in this spot in "field" mode, character will flicker slightly. It is not bothersome, and *only* happens when game would normally freeze, so it doesn't happen often if you're not actively trying to find that sweet spot.
But yes...so happy I got to the bottom of this. Thanks @kozarovv for the debug symbols on those functions. It sped up a lot of debugging on my part...days at least.
EDIT: As a note, there may be a better way around this to avoid the character flicker. Just wanted to post at least something for now.![]()
Im late at this , you know it lolThe latest webMAN MOD installer or updater and the PS2 CONFIG database now includes the CONFIG.
If you update to the latest binaries you will get the CONFIG placed on the correct location.
If the file name of your ISO includes the title id (SLUS_201.51), webMAN will apply the CONFIG automatically.
If the ISO does not include the title id, you will have to copy the CONFIG to the same folder of your ISO, with the same file name + .CONFIG
Example 1:
/dev_hdd0/PS2ISO/Klonoa 2 (SLUS_201.51).iso
/dev_hdd0/PS2ISO/Klonoa 2 (SLUS_201.51).iso.CONFIG <= it's created automatically
Example 2:
/dev_hdd0/PS2ISO/Platform/Klonoa 2.iso
/dev_hdd0/PS2ISO/Platform/Klonoa 2.iso.CONFIG <= must be copied manually
Example 3:
/dev_hdd0/PS2ISO/Klonoa 2/SLUS_201.51.BIN.ENC
/dev_hdd0/PS2ISO/Klonoa 2/SLUS_201.51.CONFIG
/dev_hdd0/PS2ISO/Klonoa 2/SLUS_201.51.PNG
The latest webMAN MOD installer or updater and the PS2 CONFIG database now includes the CONFIG.
If you update to the latest binaries you will get the CONFIG placed on the correct location.
If the file name of your ISO includes the title id (SLUS_201.51), webMAN will apply the CONFIG automatically.
If the ISO does not include the title id, you will have to copy the CONFIG to the same folder of your ISO, with the same file name + .CONFIG
Example 1:
/dev_hdd0/PS2ISO/Klonoa 2 (SLUS_201.51).iso
/dev_hdd0/PS2ISO/Klonoa 2 (SLUS_201.51).iso.CONFIG <= it's created automatically
Example 2:
/dev_hdd0/PS2ISO/Platform/Klonoa 2.iso
/dev_hdd0/PS2ISO/Platform/Klonoa 2.iso.CONFIG <= must be copied manually
Example 3:
/dev_hdd0/PS2ISO/Klonoa 2/SLUS_201.51.BIN.ENC
/dev_hdd0/PS2ISO/Klonoa 2/SLUS_201.51.CONFIG
/dev_hdd0/PS2ISO/Klonoa 2/SLUS_201.51.PNG