How to fix error game data corrupt when launching game from xmb
When you start a game that requires to write game data, it will probably fail at starting saying "game data is corrupt, delete and reinstall the game". This is because in the /dev_hdd0/game/[game-id] there is a params.sfo saying, this folder is owned by a hard disk game. But to be able to write cache, the params.sfo must say "GD" for game data. But when you just edit the type to game data, it wont show up anymore in xmb (because its no more a harddisk game). So this tutorial will help you fix this error and it will still show up in xmb.
XXXXXX = game-id
YYYYYY = fake game-id (just any game-id that you dont have installed, recommend just XXXXXX + 1)
1. Modify eboot.bin the usual way
2. Create a folder called YYYYYY and a YYYYYY.conf with the following inside
3. Paste all files from folder PS3_GAME (not folders) and TROPDIR folder into YYYYYY
Content-ID = UP0001-YYYYYY_00-0000111122223333
k_licensee = 0x00000000000000000000000000000000
DRM_Type = Free
Content_Type = Game_Exec
PackageVersion = 01.00
4. Create a folder called USRDIR and paste modified eboot.bin in it.
5. Modify the game-id from XXXXXX to YYYYYY in the params.sfo you just pasted into the folder YYYYYY
6. Create a psn package the usual way from YYYYYY.conf and YYYYYY folder.
7. Install it
8. Go to /dev_hdd0/game/YYYYYY and modify the params.sfo game-id back to XXXXXX
9. Create a folder in /dev_hdd0/game/ called XXXXX
10. Copy all files from PS3_GAME (not folders) in there
11. Get a params.sfo from any game data (in any folder from /dev_hdd0/game/ that is not a psn game).
12. Modify the title id and title name and be sure the type is "GD" game data
13. Put modified params.sfo into /dev_hdd0/game/XXXXXX
14. Start game, let it install game data and have fun playing.
Method found by me, tested with NBA Elite 11 and Black Ops and works, all games which require game data install should work with this.