PS3 [SOLVED][Ps2 Emulation] Kingdom Hearts II - Common PS3 Glitch - Hostile Program Boss

That ;) means you have been looking at this configs before and this is how you found how works the commands that increases accuracy in a range ? ;) ;)
I found how those commands work because of messing with PS4. Since then I made many custom configs like that, Tales of the Abyss, Tales of Destiny, Klonoa 2 (still working on it).

The SLES releases (all them because there are several by country) are using the same values for the range
They all use the same eboot. They have different game ID because all language files didn't fit to one DVD (maybe even DVD9), and sony released them as different games. Is common practice, they also did it to disallow importing games from west EU to east EU. Language barrier. ;)
And SLUS release (only one) is using a different range
So i guess for asia is going to be needed to change the range, right ?
99% yes.
But just for curiosity sake of people reading this... this is the typical case where you could "play a bit the lottery" and create a config with any custom range... for an initial test trying with the range used in SLUS and SLES releases
Is better to create config with 0x100008 , 0x500000 range. It will slow down game, but also test for sure that issue is resolved. But trying SLES, SLUS values can also be the key.
 
Attached config should work on all versions if changes to elf are not too big. It should not slow down game, but it can.

For HAN you need to add game ID at end of config!
 

Attachments

I found how those commands work because of messing with PS4. Since then I made many custom configs like that, Tales of the Abyss, Tales of Destiny, Klonoa 2 (still working on it).
Have you tryed to use the same command (from that group of 4 commands related with "improved acccuracy range") several times repeatedlly ?
We have them marked in wiki as "Max Usage" = 1 (except one of them with max usage 4)

Im wondering if that 1's are right (and the 4 too), because lets say... i want to increase accuracy at a offset using a very small range... and a different offset with another very small range... but the 2 positions are very separated one from the other

If we can use the command only one time... the only solution is to create a huge range that includes both of the offsets i need to "fix"... but this is going to hit the performance of the whole game

So... it makes sense that commands can be repeated (to select small ranges in every one of them)... and it makes sense to allow repeating the commands multiple times (more than 4)
There must be a limit of course, becaue if you patch 18 small ranges at different offsets by repeating the same command 18 times is going to hit performance too

Just brainstorming
 
All those commands can be used 31 times in one config.

0x0F = 31 times
Code:
0x171D88                 cmplwi    cr7, r11, 31
0x171D8C                 bgt-      cr7, call_panic

0x10 = 31 times
Code:
0x1711EC                 cmplwi    cr7, r11, 31
0x1711F0                 bgt-      cr7, call_panic

0x26 = 31 times
Code:
0x148B58                 cmplwi    cr7, r11, 31
0x148B5C                 bgt-      cr7, call_panic

0x27 =31 times
Code:
0x148B00                 cmplwi    cr7, r11, 31
0x148B04                 bgt-      cr7, call_panic
 
All those commands can be used 31 times in one config.
Cool, this is one of the times we have to say "good work sony" :)

I been editing the table at: http://www.psdevwiki.com/ps3/Talk:PS2_Emulation#PS2_Emulators_Config_Commands
Take a review, we had some typos and old/weird notes in that commands, i just updated it a bit

Btw, that names for the commands you used... "Improved Accuracy Range" are based in some official codename ?... dunno, maybe from PS4, some reversing made for PCSX, or whatever ?

Im thinking maybe we could rename them to "High Precission Range"
It means the same, but the word "precission" usually is refered for the number of decimals used in the math operations... i guess this is what the commands are doing
And every command is for a group of math operations, by now i added a (unknonw type) at the end of some of this command names

And the definitions hidden in the <abbr> could be something like "Increases the precission of math operations in the range"

In short...
"High Precission Range" ---> "Increases the precission of math operations in the range"

What do you think ?
 
Cool, this is one of the times we have to say "good work sony" :)

I been editing the table at: http://www.psdevwiki.com/ps3/Talk:PS2_Emulation#PS2_Emulators_Config_Commands
Take a review, we had some typos and old/weird notes in that commands, i just updated it a bit

Btw, that names for the commands you used... "Improved Accuracy Range" are based in some official codename ?... dunno, maybe from PS4, some reversing made for PCSX, or whatever ?

Im thinking maybe we could rename them to "High Precission Range"
It means the same, but the word "precission" usually is refered for the number of decimals used in the math operations... i guess this is what the commands are doing
And every command is for a group of math operations, by now i added a (unknonw type) at the end of some of this command names

And the definitions hidden in the <abbr> could be something like "Increases the precission of math operations in the range"

In short...
"High Precission Range" ---> "Increases the precission of math operations in the range"

What do you think ?
Names are officially used in PS4:

--fpu-accurate-range = 0x0F
--cop2-accurate-range = 0x27 (probably, but can bee add/sub only)
--fpu-accurate-addsub-range= 0x26
0x10 is still not clear for me. Looks like combined cop2 and float accu range

One of developers commented those commands as "accurate math".
 
Names are officially used in PS4:

--fpu-accurate-range = 0x0F
--cop2-accurate-range = 0x27 (probably, but can bee add/sub only)
--fpu-accurate-addsub-range= 0x26
0x10 is still not clear for me. Looks like combined cop2 and float accu range

One of developers commented those commands as "accurate math".
Ok, then is better to use that same style for PS3

Candidate names:
"ee accurate addsub range"
"ee accurate muldiv range"

Is better to create config with 0x100008 , 0x500000 range. It will slow down game, but also test for sure that issue is resolved
This ones are the max and min theoretically ofsets for EE memory ?

If yes... we can add this info in the table in wiki, inside the <abbr> for "start offset" and "end offset" like this:
"start offset" ---> Always smaller than end_offset. Minimal start offset = 0x100008

Useful info for people that wants to make some lottery tests (and eventually for managunz and other apps too)
 
Candidate names:
"ee accurate addsub range"
"ee accurate muldiv range"
Both COP2, and FPU are inside EE. So this can be confusing.

This ones are the max and min theoretically ofsets for EE memory ?
No, is more like most used range for elf base.

If yes... we can add this info in the table in wiki, inside the <abbr> for "start offset" and "end offset" like this:
"start offset" ---> Always smaller than end_offset. Minimal start offset = 0x100008

Useful info for people that wants to make some lottery tests (and eventually for managunz and other apps too)
EE memory range is 0x0 to 0x1FFFFFF (dark cloud ;) ). But 99% games use range above 0x100000. Only some anti OPL games use lower memory offsets. OPL load itself at address under 0x100000, so game producers started to use this range to break it.
Fun fact is that sony used this range to create custom hooks (like 0x01 commands, but in mips). I described this here: http://www.psdevwiki.com/ps3/PS2_Emulation#Official in La Pucelle: Tactics. Also pad remappers do the same. ;)
 
Btw, some of you know if that "hostile bugged boss program" (new name for the bug \o/) exist also in the normal KH2 version ? (not the final mix)

The "Hostile Program" is the name of a sub-boss on the Space Paranoids world. (A.K.A Tron's World as some people may call it,Reachable from inside of Hollow Bastion.) It is a required boss. You can put it off until later once it is accessable, but eventually you have to complete it to continue in the main storyline. You cannot continue without beating it sadly. :[ This boss is on all versions of Kingdom Hearts 2 I would imagine.
Also, I am playing on the original version of Kingdom Hearts 2 (USA), not the final mix version.

I also need to make a correction xD. The ID I mentioned is in fact from Shadow Hearts. I was referencing from this cover that I used for the background image of the .PKG
coverKingdomHearts2.jpg

Oddly enough, this cannot be an original scan of the cover... I dug my disc out of storage just the be sure, and it is labeled SLUS-21005 on both the case and the disc.
Guess I'll start having to double-check these things from now on. What does someone gain by switching the ID on a game's cover image..?
This doesn't really change much on my end however since I didn't use a CONFIG file to begin with, with this game. :[
 
The "Hostile Program" is the name of a sub-boss on the Space Paranoids world. (A.K.A Tron's World as some people may call it,Reachable from inside of Hollow Bastion.) It is a required boss. You can put it off until later once it is accessable, but eventually you have to complete it to continue in the main storyline. You cannot continue without beating it sadly. :[ This boss is on all versions of Kingdom Hearts 2 I would imagine.
Also, I am playing on the original version of Kingdom Hearts 2 (USA), not the final mix version.
Ok, so the config is mandatory because the bug is more than an annoyance, if someone starts playing without config and without knowing there is a point in the game when "ohhh damn, i stucked here after XX hours played"

I also need to make a correction xD. The ID I mentioned is in fact from Shadow Hearts. I was referencing from this cover that I used for the background image of the .PKG
View attachment 13223
Oddly enough, this cannot be an original scan of the cover... I dug my disc out of storage just the be sure, and it is labeled SLUS-21005 on both the case and the disc.
Guess I'll start having to double-check these things from now on. What does someone gain by switching the ID on a game's cover image..?
This doesn't really change much on my end however since I didn't use a CONFIG file to begin with, with this game. :[
That explains the misunderstanding, i guess the scan was bad and someone "fixed" it (but without caring about the ID) XD

Dont delete your save, is still valid, you need to build the PKG again with a valid config and continue playing from your save

By now you can try with the config posted by kozarovv (that uses a wide range) to pass that boss... and after that... im not sure if is better to delete the config (i think you can delete it with HAN from the game PKG installation directory)... or keep it

The problem now is the wide range used by kozarovv maybe causes some performance drop on other parts of the game (we dont know)
But removing the config made by kozarovv could cause the same bug to appear in other bosses (we dont know either)... i guess everybody was reporting that bug on that "hostile program" boss because is the first time it happens in the game, but maybe it happens again
 
I'm finishing up the make PKG part of the conversion now. I selected the CONFIG file @kozarovv shared.
I'm praying this will work lol, I've already wasted about 60+ hours on this playthrough lol.
& It's fine if I have to end up reconverting it later due to some sort of performance issue. If it works, I'll keep this conversion backed up within the folder that I keep the original image in with a note as to why it's there. I normally don't keep backups that are already converted though. I already have an archive for each console, with archives for each backup inside it. It saves alot of space, but it also takes up a good portion of my 1tb external hdd. It would be faster to keep backups of the already converted packages, but it's simple enough to convert them should I feel like switching some games on/off my playstation. I can also use the original images on other platforms should something happen to my PS3 down the road.

I was wondering something else, if this doesn't happen to work. Let's say I decided to go full CFW, is there any sort of "debug menu" that I could use during gameplay that I might be able to use to try and pinpoint exactly where this bug occurs? Since it is repeatable at the exact same amount of health that freezes up on the boss fight, I was thinking maybe something like that could help figure out exactly what's causing it.

It just finished converting, I'm transferring/installing it now.
Hopefully this works so I won't have a need to try something like a debug menu, that is more of a hypothetical question at this point.
I learned how to make my own cheat codes with older games when I was younger using a hex editor with a search function, which is why I was asking. I'm guessing these CONFIG files work in some form similar to that.
 
Last edited:
@Zazenora, wait im reading again what we was talking... so you said your game is SLUS-21005
Then you have a config "made by sony" inside the gxemu, look at here:
https://github.com/Zarh/Get_CONFIG/blob/master/log.txt
Code:
Title : Kingdom Hearts II
Game ID : SLUS_210.05
Hash : 0x14E915B9ED
Hash Offset : 33E660
Commands offset : 51D950
Commands count : 0x1
	[GX] Command ID : 0x22
	[Net] Command ID : 0x26
		Param 1 : 001D7CB0
		Param 2 : 001D85FC

from all that info... the important is:
Commands count : 0x1 <----- is only using one command
[Net] Command ID : 0x26 <----- this is the command (to increase accuracy in a range)
Param 1 : 0x001D7CB0 <----- and this is the range (start)
Param 2 : 0x001D85FC <----- and this is the range (end)

As you can see the range used by sony is small (both values are close to each other) because they knew exactly where to locate the range, so use that config

-----------------
The other config made by kozarovv is for the ASIA versions of Kingdom Hearts 2, and uses a wider range
0x100008 (start) 0x500000 (end)

Is just a first test... if it works (and it should), the next test should be to divide the range in 2 and test "first half" or "second half" of it. And so on
This method is the classic "test and error", but is noob friendly (no need to know any code, to do any dissasembling, reversing debugging or anything)... just enter some numbers and try luck :)

To know the accurate range is needed to debug or dissasemble the game in PC, or use PCSX2 emulator to try to replicate the bug
But is not posible to debug it on PS3, the PS2 emulator on PS3 doesnt gives that info :/

Edit:
If i remember right... some weeks ago was published a patch for the ps2 netemu that allows to dump the memory, this is like a "snapshot" of the memory at a specific point of the runtime, it can helps a bit to find problems, but is hard
 
Last edited:
My config is 0x1d7000 to 0x1d8FFF ;)
So you was dissasembling it... this is why i asked if you was looking at the configs of kingdom hearts 2 before XD
If you knew the functions "fixed" by the range of the official configs for SLES ansd SLUS... then the "port" to ASIA consist in locating that same functions :)
Ok, then i guess your config is "the definitive edition" :)

-----------
Edit:
My mistake again... now i see what you did... you have made a range a bit bigger than the SLES and SLUS together (in includes the range of SLES and SLUS, and with luck ASIA releases are going to be inside the range too)
Got it
 
So you was dissasembling it... this is why i asked if you was looking at the configs of kingdom hearts 2 before XD
If you knew the functions "fixed" by the range of the official configs for SLES ansd SLUS... then the "port" to ASIA consist in locating that same functions :)

Ok, then i guess your config is "the definitive edition" :)
I just looked at SLES/SLUS configs that are already available. Usually eboots for all regions are similar. So i made that "wide" config basing on original config offsets. I don't disassembled elf. But i think this config will cause slowdown anyway. Also looks like @Zazenora use US version of game, so i recommend to use GX config.

Edit: eboots... :D Too much PS3/4 :D
 
Last edited:
Back
Top