haxxxen
Developer
just like with PS2 Codebreaker and iso's, I've found a convenient way of doing the same for PSX images. even without breaking libcrypt protection!
this way you won't have to switch CD's for cheat app and it gets loaded with game.
Rebuild PSX image with standalone cheat ELF
Notes:
Using my registry hacks, you can easily rip and rebuild PSX iso's with right click command,
pointing on content folder.
The Cheat ELF is the German Equalizer PSX.EXE, with patched CD check.
I won't go into detail about ripping itself, but beware of media files. They have to be ripped
differently sometimes.
This will break Cobra's video mode patch, cause of the way region detection is coded
You will need:
- Isobuster (essential tool to rip game files)
- CDMage (beware, does not correctly rip .STR/.XA media files just like Isobuster)
- Hexeditor
- text editor (notepad++)
- ripped iso (cue+bin)
1. IMPORTANT: Extract archive to C:\psximager_2.0
2. Import my registry hacks, to make things easier
3. Rename .cue + .bin to sth simple, e.g. for Vagrant Story vs.cue+vs.bin. Edit .cue with
new name. So for Vagrant Story it should look like this:
4. Put .cue+.bin into "C:\psximager_2.0" and create in there new directory with .cue/.bin name.
So for Vagrant Story create a folder called "vs"
5. Just Right-Click on vs folder and choose "PSX ISO Rip". A window will open and close after some time.
6. Rename ripped SYSTEM.CNF of game, to SYSCON.CNF and add my PSX.EXE
7. Open generated .cat file with text editor. IMPORTANT: Search for any special Character in line 7 under "volume_id" and remove/rename it. Then search for SYSTEM.CNF (probably on of the very first LBA entries) and rename it to "SYSCON.CNF". Now go to very last line before the last "}" and insert here the new PSX.EXE, adding +X to LBA (where X is the LBA size of the last file), so for Vagrant Story it looks like this:
Save the file.
8. Right-Click on vs folder again and choose this time "PSX ISO Rebuild" and wait till popup closes. If it closes too fast, there is sth wrong and you have to do it manually on cmdline, to check where it goes wrong.
example .cat + jpatch for German Vagrant Story included
https://www.dropbox.com/s/d1fnoj6355tapth/psximager_2.0.zip?dl=0
git link to psximager:
https://github.com/cebix/psximager
sth different @devs:
I have noticed, that the way Cobra is loading and passing arguments to ps1_netemu is wrong and only irismanager does it right. you can even make a classic loader with irismanager with small changes to code passing a path as 6th argument to netemu. will look further into this...
you can also run fake signed edat classics (no npdrm encryption) on DEX. still haven't tried on CEX, so maybe decrypted edat is possible as well
examples:
this is how Cobra passes arguments to netemu taken from debug log:
this is how irismanager passes its arguments:
and this is how classics are loaded with correct arguments:
some addition
to get easily LBA file size, you have to calculate it and divide the real filesize with 2048.
so using Vagrant Story German here for example the file "SLES_027.56" has a size of 339968 bytes. now divide this with 2048 and you will get 166. this is the LBA size of the file in a CDROM image. if you look at image with Isobuster, you will notice, this file starts at LBA 24 and the next file "DBGFONT.TIM" starts at LBA 190.
190-24=166
this way you won't have to switch CD's for cheat app and it gets loaded with game.
Rebuild PSX image with standalone cheat ELF
Notes:
Using my registry hacks, you can easily rip and rebuild PSX iso's with right click command,
pointing on content folder.
The Cheat ELF is the German Equalizer PSX.EXE, with patched CD check.
I won't go into detail about ripping itself, but beware of media files. They have to be ripped
differently sometimes.
This will break Cobra's video mode patch, cause of the way region detection is coded
You will need:
- Isobuster (essential tool to rip game files)
- CDMage (beware, does not correctly rip .STR/.XA media files just like Isobuster)
- Hexeditor
- text editor (notepad++)
- ripped iso (cue+bin)
1. IMPORTANT: Extract archive to C:\psximager_2.0
2. Import my registry hacks, to make things easier
3. Rename .cue + .bin to sth simple, e.g. for Vagrant Story vs.cue+vs.bin. Edit .cue with
new name. So for Vagrant Story it should look like this:
Code:
FILE "vs.bin" BINARY
TRACK 01 MODE2/2352
INDEX 01 00:00:00
4. Put .cue+.bin into "C:\psximager_2.0" and create in there new directory with .cue/.bin name.
So for Vagrant Story create a folder called "vs"
5. Just Right-Click on vs folder and choose "PSX ISO Rip". A window will open and close after some time.
6. Rename ripped SYSTEM.CNF of game, to SYSCON.CNF and add my PSX.EXE
7. Open generated .cat file with text editor. IMPORTANT: Search for any special Character in line 7 under "volume_id" and remove/rename it. Then search for SYSTEM.CNF (probably on of the very first LBA entries) and rename it to "SYSCON.CNF". Now go to very last line before the last "}" and insert here the new PSX.EXE, adding +X to LBA (where X is the LBA size of the last file), so for Vagrant Story it looks like this:
Code:
file PSX.EXE @319001
Save the file.
8. Right-Click on vs folder again and choose this time "PSX ISO Rebuild" and wait till popup closes. If it closes too fast, there is sth wrong and you have to do it manually on cmdline, to check where it goes wrong.
example .cat + jpatch for German Vagrant Story included
https://www.dropbox.com/s/d1fnoj6355tapth/psximager_2.0.zip?dl=0
git link to psximager:
https://github.com/cebix/psximager
sth different @devs:
I have noticed, that the way Cobra is loading and passing arguments to ps1_netemu is wrong and only irismanager does it right. you can even make a classic loader with irismanager with small changes to code passing a path as 6th argument to netemu. will look further into this...
you can also run fake signed edat classics (no npdrm encryption) on DEX. still haven't tried on CEX, so maybe decrypted edat is possible as well
examples:
this is how Cobra passes arguments to netemu taken from debug log:
Code:
PS1 emulator Build Date 12/06/30/01:41 -sgpu-sli4 [titledb:r8465]
argc=7
argv[0]=/dev_flash/ps1emu/ps1_netemu.self
argv[1]=Vagrant Story 1.VM1
argv[2]=
argv[3]=0082
argv[4]=1200
argv[5]=2
argv[6]=1
this is how irismanager passes its arguments:
Code:
PS1 emulator Build Date 12/06/30/01:41 -sgpu-sli4 [titledb:r8465]
argc=9
argv[0]=/dev_flash/ps1emu/ps1_netemu.self
argv[1]=PSX2.VM1
argv[2]=PSX1.VM1
argv[3]=0082
argv[4]=1600
argv[5]=
argv[6]=1
argv[7]=2
argv[8]=1
and this is how classics are loaded with correct arguments:
Code:
PS1 emulator Build Date 12/06/30/01:41 -sgpu-sli4 [titledb:r8465]
argc=9
argv[0]=/dev_flash/ps1emu/ps1_netemu.self
argv[1]=PSX2.VM1
argv[2]=PSX1.VM1
argv[3]=0082
argv[4]=1600
argv[5]=/dev_hdd0/game/NPEF00083
argv[6]=1
argv[7]=2
argv[8]=1
some addition
to get easily LBA file size, you have to calculate it and divide the real filesize with 2048.
so using Vagrant Story German here for example the file "SLES_027.56" has a size of 339968 bytes. now divide this with 2048 and you will get 166. this is the LBA size of the file in a CDROM image. if you look at image with Isobuster, you will notice, this file starts at LBA 24 and the next file "DBGFONT.TIM" starts at LBA 190.
190-24=166
Last edited: