PS3 PS3/Multiman file reading compared to RPCS3

Darkcranio

Member
Hi,
I need help please. I am making a translation mod for a game and the problem is.....

A zip named "LANG.ZIP", in the path "PS3_GAME/USRDIR/ASSETS/LANG/LANG.ZIP" I extract the contents which are languages files, I modify the language files, but I can't repackage it so....
But on the emulator this is not a problem because the game when the LANG.ZIP is not in its place, it looks for the ZIP file's contents in /dev_bdvd/PS3_GAME/USRDIR/DATA_PS3/ENGLISH_NTSC_PS3.DCT
So the languages file is ENGLISH_NTSC_PS3.DCT , I copy this ENGLISH_NTSC_PS3.DCT to the DATA_PS3 folder in root\games\BLUS30480\PS3_GAME\USRDIR\DATA_PS3 and the game loads the contents of the .ZIP files without the actual ZIP from
root\games\BLUS30480\PS3_GAME\USRDIR\ASSETS\lang\LANG.ZIP
So basically loads the english.dct and the game starts.

The problem is, on the real PS3, when I deleted the LANG.ZIP and I place the contents to DATA_PS3, just like on the emulator, the game doesn't load ENGLISH_NTSC_PS3.DCT from there, it looks for the ZIP and it crashes. On the real PS3 through Multiman where to copy the language files so they load without the ZIP?
 
I don't know if this will be of much help, but it working in rpcs3 doesn't guarantee it will work on hardware. usually hardware is more restrictive, so you shouldn't solely rely on an emulator. the ps3 is case-sensitive too, so if it's in all caps, make sure the file is in all caps.
 
I don't know if this will be of much help, but it working in rpcs3 doesn't guarantee it will work on hardware. usually hardware is more restrictive, so you shouldn't solely rely on an emulator. the ps3 is case-sensitive too, so if it's in all caps, make sure the file is in all caps.
Yeah I'm figuring this out, I assumed what works on emu would work on console as well..... anyway the filesnames are exactly the same even in terms of capital letters, so that's not a problem.
Copying to root\games\BLUS30480\PS3_GAME\ works on RPCS3 and the emu reads from there, but this doesn't work on PS3 or through multiman it doesn't at least.
The "dev_bdvd" doesn't exist on Multiman PS3 file explorer and I can't even create folders on the root anyway, multiman doesn't allow it. So I can't try to copy there to try.
Question to solve: How to make PS3 read from PS3_GAME folder like on the emu.
 
yeah, I have one hacked console left outside of the wii u, and I only hacked the wii u to get my saves on to a new system. Nintendo was kind enough to put my licenses on the new system after I filed a mitigation report or something like that. they also went out of their way to replace one of my limited edition joycons. in fact, all three companies are an A+ in my book as far as helping me out when a system failed or whatever. anyway, I'm not sure. multiman can read self files, so you can load a game by double-clicking the eboot afaik. it will read from the PS3_GAME folder then.
 
Hi,
I need help please. I am making a translation mod for a game and the problem is.....

A zip named "LANG.ZIP", in the path "PS3_GAME/USRDIR/ASSETS/LANG/LANG.ZIP" I extract the contents which are languages files, I modify the language files, but I can't repackage it so....
But on the emulator this is not a problem because the game when the LANG.ZIP is not in its place, it looks for the ZIP file's contents in /dev_bdvd/PS3_GAME/USRDIR/DATA_PS3/ENGLISH_NTSC_PS3.DCT
So the languages file is ENGLISH_NTSC_PS3.DCT , I copy this ENGLISH_NTSC_PS3.DCT to the DATA_PS3 folder in root\games\BLUS30480\PS3_GAME\USRDIR\DATA_PS3 and the game loads the contents of the .ZIP files without the actual ZIP from
root\games\BLUS30480\PS3_GAME\USRDIR\ASSETS\lang\LANG.ZIP
So basically loads the english.dct and the game starts.

The problem is, on the real PS3, when I deleted the LANG.ZIP and I place the contents to DATA_PS3, just like on the emulator, the game doesn't load ENGLISH_NTSC_PS3.DCT from there, it looks for the ZIP and it crashes. On the real PS3 through Multiman where to copy the language files so they load without the ZIP?
Why can't you repackage the modified files into new zip? Have you tried with no compression, and other compression levels?

It might be worth looking at the eboot in a disassembler and seeing what relation it has with the zip and extracted files.
 
off topic, but I thought I'd get this off my chest, a friend wanted me to recompile citra with a lower opengl version. I wasn't really sure how to do that, but I was almost willing to corrupt my build environment in order to install what seems to be qmake, which I've never heard of. after it had dependency errors, I decided against it. I feel bad about not helping though. does anyone else feel the same way in such circumstances?
 
Why can't you repackage the modified files into new zip? Have you tried with no compression, and other compression levels?

It might be worth looking at the eboot in a disassembler and seeing what relation it has with the zip and extracted files.
Cause it's a "special zip" there is MD5 hash after every file and yes I tried different compression levels, all crashing. I even tried generating a new hash since the new .dct is bigger, caue it's a translation. I copied back the new MD5 with HXD to the file, still crash. The only thing that semi-worked is a simple drag and drop the .dct to the .zip but although the game started it made the translation missing on some parts and frames. I have a .dct conversion code so the ,.dct being bigger is not a problem in itself because the emulator reads it and it works flawlessly on its own with the emulator, I just can't repackage it to make it work on PS3.
I did decrypt the eboot to an .elf but it doesn't has any readable relation to the "lang.zip" there are zip endings which are not lang, and there are "language" words which are not related to the lang.zip. I can't further decipher what's not readable in ascii.
That is why it would be so much more simple just to make the PS3 read the .dct than to repackage it, but if you want to help to figure out how to repackage it I can provide much more detail but for that I have to send some files as well like the eboot, lang.zip etc.
 
maybe make the elf an fself if the elf didn't work. it stands for fake self or fake secure elf, and it's what homebrew uses or even games use on the ps4 and 5. you can do so with true ancestor at least. it may not work, but what else is there to try? I'm not sure what else to suggest.
 
Copying to root\games\BLUS30480\PS3_GAME\ works on RPCS3
Just double checking to make sure this was a typo. I assume you meant that you copied it to /dev_hdd0/game/BLUS30480/PS3_GAME/USRDIR/, as in the "root" of the game folder, where eboot.bin is at?

If you want to pm me the files, I can take a stab at it when I get some time.
 
Just double checking to make sure this was a typo. I assume you meant that you copied it to /dev_hdd0/game/BLUS30480/PS3_GAME/USRDIR/, as in the "root" of the game folder, where eboot.bin is at?

If you want to pm me the files, I can take a stab at it when I get some time.
Both
It also works in "/dev_hdd0/game/" that's where I usually put my games on RPCS3, but since folder games on Multiman goes to root/dev_hdd0/games I tried it on the emu as well, and it worked. In both cases the games looks for the contents of the ZIP in DATA_PS3. Versa I tried "game" folder on PS3 as well, since sometimes some games download there stuff. Nope doesn't work.
Root in the case of the Emulator is the "RPCS3" folder like
RPCS3/dev_hdd0/game, or
RPCS3/games
In case of PS3
root/dev_hdd0/game
root/dev_hdd0/GAMES
On RPCS3 the games folder is outside of dev_hdd0, don't ask me why idk. Ok I'll send it, ty. Hmmm I think I am not yet able to do send PMs, I guess number of comments? If you could please send a hi, so I can send the files.
maybe make the elf an fself if the elf didn't work. it stands for fake self or fake secure elf, and it's what homebrew uses or even games use on the ps4 and 5. you can do so with true ancestor at least. it may not work, but what else is there to try? I'm not sure what else to suggest.
ty though
 
Last edited:
In the while I figured out.
The solution was, double package. PK on both ends. After creating one with winrar I could put another pk with a python code ahead of it.
Now the RPCS3 boot logic is not needed.
 
In the while I figured out.
The solution was, double package. PK on both ends. After creating one with winrar I could put another pk with a python code ahead of it.
Now the RPCS3 boot logic is not needed.

Just as a reminder: PS3 file system is case sensitive. PC file system is case insensitive.

So the folder /games is not scanned on PS3, while /GAMES is used by the backup manager.

/dev_hdd0/game <= is the system folder where PSN games, game updates and DLC packages are installed
/dev_hdd0/GAMES <= used for PS3 games extracted in folder format
/dev_hdd0/PS3ISO <= used for PS3 games in ISO format

Games in /dev_hdd0/game don't have PS3_GAME folder, while games in ISO and /GAMES folder have it.
 
"Games in /dev_hdd0/game don't have PS3_GAME folder, while games in ISO and /GAMES folder have it."
Yeah I paid attention to that, I took everything outside of PS3_GAME in "game" folder, so it went like "BLUS30480/USRDIR", still didn't work.
Although my problem solved with repackaging the ZIP, I don't know how much of a problem is this on with other games. But this fallback logic doesn't seem to exist with PS3/Multiman. If it's possible at all from a developer standpoint it would be good of the game could read from DATA_PS3, as long as the game itself looking in that folder, cause on RPCS3 it does.
 
Back
Top