PS3 Tutorial: PS1 2gb+ /4 or 5 disc corrupt EBOOT Fix by mndx

mndx

Member
It took a while to actually sit down and document this but anyways here's a step by step tutorial to fix your corrupt 2GB+ PS1 EBOOTS:

Requirements:

Downloads:
-ePSXe https://bit.ly/2Ul1ci8 (for viewing disc index)
-HxD https://bit.ly/2QcOgJN (for editing EBOOT.PBP)

Links to open in browser:
-Hex Calculator https://bit.ly/2MzLxc1 (for hexadecimal calculations)
-Online Hex Converter https://bit.ly/2Tfst5t (for converting values to Little Endian)

Steps:

1.In ePSXe open your EBOOT to see which discs are corrupted

Each disc in the EBOOT has three important values that are needed for the fix:
Disc Position/PSISOIMG0000 Position/Iso Position
Here's how to edit/correct/verify the three values for each disc:


PSISOIMG0000 Position:

2.Open EBOOT in HxD
3.Press Ctrl+F and enter PSISOIMG0000 in the Text-string searchfield
4.Choose All as your search direction and press Search all
5.All the correct PSISOIMG0000 offsets start with a 50 value (letter P as decoded text), if an offset starts with a 00 value delete the zeroes
6.Once all the PSISOIMG0000 positions are correct write down their offsets

Once all the PSISOIMG0000 positions are correct we're going to find and fill in the correct Disc positions

Disc Position:

7.Go to the Hex Calculator website
8.Enter the offset disc 1 and subtract 10000 from that value
9.The result of that calculation as an hex value is the Disc Position for disc 1, write this value down
10.Repeat steps 8 and 9 for the remaining discs
11.Go to the Online Hex Converter website and enter the hex value of the Disc Position for disc 1
12.This will convert the hex value to Little Endian, write this value down
13.Repeat steps 11 and 12 for the remaining discs
14.Go back to HxD and press Ctrl+G, enter 10200 (make sure the hex and begin option are selected) and click OK

Offsets 10200-10217 are reserved for the Disc Positions, four entries per disc
For example offsets 10200-10203 have been reserved for disc 1,10204-10207 for disc 2 and so on


15.Enter the Little Endian values of step 13 for each disc in the correct order
16.When done, fill the remaining entries up to and including offset 10217 with zero values

Iso Position:

17.Press Ctrl+F in HxD, select the Hex-values tab and enter the following value: 00 FF FF FF FF FF FF FF FF FF FF 00 00 02 00 02
18.Choose All as your search direction and press Search all, write down the offsets of the search hits per disc
19.To verify if the Iso Positions are correct go to the Hex Calculator website
20.Enter the PSISOIMG0000 values of the discs and add 100000 for the correct Iso Position per disc
21.Compare the results of step 18 and step 20, the 4th or 5th disc might have an incorrect Iso Position
22.In HxD press Ctrl+E, for Start-offset use the value of step 20, for End-offset deduct -1 of the result of step 18 (for example 8001-1=8000)
23.Make sure hex is selected and press OK, then press Del and OK again
24.Repeat this step for other incorrect Iso Positions

Last but not least the STARTDAT needs to be corrected

STARTDAT Correction:

25.In Hxd press Ctrl+F and search for Text-string STARTDAT
26.Remove all the zeroes before STARTDAT and write down new the new offset value of STARTDAT
27.Go to the Online Hex Converter website and convert this offset to Little Endian
28.In Hxd press Ctrl+G and go to offset 10010, Paste write the value of step 27 in offsets 10010-10013
29.Press Ctrl+S to save the EBOOT
30.In ePSXe open your EBOOT to verify if all the discs are correct

Done!

BTW it would be awesome if somebody can convert these steps in an hex editing script (maybe you @ayassinsayed since you made that awesome cdda script?)
 
Last edited:
Also strange:

It turns out that S@ny is using some kind of compression on the official EBOOTS. If i decrypt the official psn pkg of FF8 and extract the EBOOT with psxtract, the ISO's that are generated are matching 1:1 with the images that i've made with the retail discs. However if i try to turn the extracted iso's back to EBOOT, even with compression on 9 i can't get them as small in size as the official ones. So people with knowledge about the structure of an EBOOT, holler please! I think we can reverse engineer this.
 
Last edited:
Also strange:

It turns out that S@ny is using some kind of compression on the official EBOOTS. If i decrypt the official psn pkg of FF8 and extract the EBOOT with psxtract, the ISO's that are generated are matching 1:1 with the images that i've made with the retail discs. However if i try to turn the extracted iso's back to EBOOT, even with compression on 9 i can't get them as small in size as the official ones. So people with knowledge about the structure of an EBOOT, holler please! I think we can reverse engineer this.

Bro did u see popstation source code in c++ in the past i read the code u can found useful information in it for eboot.pbp and i have link for russien web site that have info about fix multi cd and info about the header i will search for it and give u link for that page that have fix cd > 2gb and multi cd.


Sent from my iPhone using Tapatalk
 
@The Darkprogramer Do you have any ideas on this?

Okay lets see
..... if im not mistaken i would geuss sony did something similair to the way we do cso's compresion the entire disc is still there just super compressed and the psp reads it correctly

So id start by zlib compressing them the sameway we did cso files

@mndx mind using boosters cso converter ?
Then see if popstation or any other can convert them for you
 
Okay lets see
..... if im not mistaken i would geuss sony did something similair to the way we do cso's compresion the entire disc is still there just super compressed and the psp reads it correctly

So id start by zlib compressing them the sameway we did cso files

@mndx mind using boosters cso converter ?
Then see if popstation or any other can convert them for you
I had a feeling you'd have some ideas about this ;)
 
@mndx mind using boosters cso converter ?
Then see if popstation or any other can convert them for you

Thanks for your reply, sure i'll give the converter a try after work. I'll have to see wheter bin/cue converted to iso works correctly, since the 1st track is always in mode2/form1 for ps1 games. By converting to iso it will switch to mode1. For PSP games it shouldn't be a problem, but i'm using it for ps1 eboots on a ps3. Also i'll have to see if the ps1_emu on the ps3 accepts compressed eboots in this form, since the regular psx2psp compression makes the games unbootable on the ps3. But like i said, after work i'll try everything you've said.

UPDATE:
As expected cue/bin ps1 images to iso will break the game. And if i'm not mistaken iso's are single track archive containers, so games with CDDA or subchannel data are also a no-go.
I've send @Omage a message, it seems he had found a fix:

http://www.psx-place.com/threads/psx-to-pkg-conversion.9719/page-2#post-45004

Or maybe @MOST Hated could help us?

LOL it might work we never know xD
Also @mndx have you tried popstation ?

Yes the commandline popstation an popstation_md, RS-GUI PopStationMD v3.00, pops_md_free_gui_v7.1b, icetea 1.3, ImpalerPopStation, Copstation and psx2psp 0.7.1, 1.3 and 1.4.2. All of them (that support multidisc) will break the eboot if the size is bigger than 2 gb.

once again thanks for the reply
 
Last edited:
Thanks for your reply, sure i'll give the converter a try after work. I'll have to see wheter bin/cue converted to iso works correctly, since the 1st track is always in mode2/form1 for ps1 games. By converting to iso it will switch to mode1. For PSP games it shouldn't be a problem, but i'm using it for ps1 eboots on a ps3. Also i'll have to see if the ps1_emu on the ps3 accepts compressed eboots in this form, since the regular psx2psp compression makes the games unbootable on the ps3. But like i said, after work i'll try everything you've said.

UPDATE:
As expected cue/bin ps1 images to iso will break the game. And if i'm not mistaken iso's are single track archive containers, so games with CDDA or subchannel data are also a no-go.
I've send @Omage a message, it seems he had found a fix:

http://www.psx-place.com/threads/psx-to-pkg-conversion.9719/page-2#post-45004

Or maybe @MOST Hated could help us?



Yes the commandline popstation an popstation_md, RS-GUI PopStationMD v3.00, pops_md_free_gui_v7.1b, icetea 1.3, ImpalerPopStation, Copstation and psx2psp 0.7.1, 1.3 and 1.4.2. All of them (that support multidisc) will break the eboot if the size is bigger than 2 gb.

once again thanks for the reply
Goodluck with it bud
 
Can also confirm that a 5 disc game works, fixed the Riven EBOOT (3,48 gb) and got it running. FF8 (4 discs) loaded up fine with saves for the last disc, Riven disc 5 boots up but since i've no save for disc 5 i can't confirm that the conversion is 100% correct. Will do that this weekend if i've the time.
 
Tutorial can be found in the first post, it took a while but that's life. @The Darkprogramer after further digging i found out that the compression of PS1 EBOOTS is done with PGD files inside the DATA.PSAR file. I found a tool made by Hykem that can decrypt and decompress these files, but is there a way to convert a file to PGD? It seems that PGD compression is the only compression the ps1 emulator on the PS3 accepts. I did my research and found a couple of things here and there...but i think your PSP knowledge goes way deeper than mine.
 
@mndx im not sure there is some special reason why this tutorial was located under "ps3 general discussion" subforum, but i just realized about it and i moved to the tutorials subforum, thx for writing it
 
@mndx im not sure there is some special reason why this tutorial was located under "ps3 general discussion" subforum, but i just realized about it and i moved to the tutorials subforum, thx for writing it

@sandungas ah thnx for doing that! totally forgot to ask a mod when i was done writing the tutorial. This thread actually started with a question/suggestion about the problem and how to maybe be able to fix it. After a while i was able to find some posts on other (some foreign) forums and piece them together which led to a fix and eventually this tutorial. So that was the very very ''special'' reason for it to be under the now incorrect subforum, once again thnx for relocating it.
 

Similar threads

Back
Top