Skip to content

Easier ways to mod

Ways to avoid PDIPFS exist to allow modding game files more easily.

Raw Reading Patch (GT5 2.11)

GT5 can be patched to read files loose to help testing mods faster. To publish mods continue on with the packing section of Volume System.

Edit RPCS3\patches\patch.yml, add the following under the correct PPU hash entry (indentation matters!). Also change the game code accordingly!

  • πŸ‡ͺπŸ‡Ί EU: PPU-7a5ee7bc2fef9566dd80e35893fe2c5571197726
  • πŸ‡ΊπŸ‡Έ US: PPU-d73f342bf28ee016ef3d0ccb309b1acb03d8ecce
"Raw Reading Patch":
  Games:
    "Gran Turismo 5":
      BCES00569: [ 02.11 ]
  Author: "Nenkai"
  Patch Version: 1.0
  Group: ""
  Notes: ""
  Patch:
    - [ be32, 0x000120a0, 0x386004A0 ] # Adjust sizeof(PDIPS3::FileDevicePFSGameData) to sizeof(PDIPS3::FileDeviceCellFS) for new
    - [ be32, 0x000120d8, 0x3888E308 ] # Adjust parameters PDIPS3::FileDeviceGameData(device, param1, param2, param3)
    - [ be32, 0x000120dc, 0x38A8E330 ] # Change pointer to a vtable name
    - [ be32, 0x000120e0, 0x7D064378 ] # Change pointer to a vtable name
    - [ be32, 0x00a73160, 0x48004ED5 ] # Rectify pointer offset to device list field
    - [ be32, 0x00a7316c, 0x941D0498 ] # Change PDIPS3::FileDevicePFSGameData device to PDIPS3::FileDeviceCellFS
    - [ utf8, 0x013dde10, /dev_hdd0\0 ] # param_1
    - [ be16, 0x013dde19, 0x0000 ] # Null terminate
    - [ utf8, 0x013dde38, /game/BCES00569/USRDIR/direct ] # <-- Change BCES00569 accordingly!
    - [ be16, 0x013dde55, 0x0000 ] # Null terminate

Enable the patch in the game patches menu by right clicking on the game and clicking on Manage Game Patches.

TrueAncestorSELFResigner is required. decrypt EBOOT.BIN with 1. Decrypt EBOOT.BIN Only.

With a hex editor, edit EBOOT.ELF and place bytes at the following offsets:

000020a0 - 38 60 04 a0
000020d8 - 38 88 E3 08
000020dc - 38 A8 E3 30
000020e0 - 7D 06 43 78
00a6316c - 48 00 4E D5
00a63160 - 94 1D 04 98
013dde10 - /dev_hdd0
013dde19 - 00
013dde38 - /game/BCES00569/USRDIR/direct
013dde55 - 00 00

Then resign it using the 2. Resign to NON-DRM EBOOT option.

Original
000120a0 38 60 02 40     li         param_1,0x240
000120d8 7f 44 d3 78     or         param_2=>PTR_s_KALAHARI-37863889_017cc738,r26,r26
000120dc 7f 85 e3 78     or         param_3=>s_BCES-00569_013dee60,r28,r28
000120e0 7f 26 cb 78     or         param_4=>s_PDIPFS_013dfb00,r25,r25
00a7316c 94 1d 02 38     stwu       r0,0x238(r29)
00a73160 4b ff fe ed     bl         FUN_00a7304c 

Edited:
000120a0 38 60 04 a0     li         param_1,0x4a0
000120d8 38 88 e3 08     subi       param_2,param_6,0x1cf8
000120dc 38 a8 e3 30     subi       param_3,param_6,0x1cd0
000120e0 7d 06 43 78     or         param_4,param_6,param_6

00a73160 48 00 4e d5     bl         PDIPS3::FileDeviceCellFS::FileDeviceCellFS
00a7316c 94 1d 04 98     stwu       r0,0x498(r29)

13dde10 - "/dev_hdd0" (null terminated)
13dde38 - "/PS3_GAME/USRDIR/direct" (null terminated)

Extracted game files go under USRDIR as such that /dev_hdd0/game/BCES00569/USRDIR/font/vec/fontset_US.txt is valid. Base game contents must be extracted (GT.VOL), then update contents (PDIPFS) extracted ontop of it.

Warning

You may need to move some files from specdb/GT5_JP3009 to specdb/GT5_JP3010 if you get a crash.

Files that need to be copied:

specdb/GT5_JP3010/GENERIC_CAR_INFO.dbt
specdb/GT5_JP3010/BRAKECONTROLLER.dbt
specdb/GT5_JP3010/ASCC.dbt
specdb/GT5_JP3010/TCSC.dbt
specdb/GT5_JP3010/DISPLACEMENT.dbt
specdb/GT5_JP3010/INTERCOOLER.dbt
specdb/GT5_JP3010/NOS.dbt
specdb/GT5_JP3010/BOOST_CONTROLLER.dbt
specdb/GT5_JP3010/INDEP_THROTTLE.dbt
specdb/GT5_JP3010/TIRESIZE.dbt
specdb/GT5_JP3010/TIREFORCEVOL.dbt
specdb/GT5_JP3010/GENERIC_ITEMS.idi
specdb/GT5_JP3010/ALLOW_ENTRY.dbt


FSRoot (GT6)

FSRoot is a method of running the game that allows editing the game files in real time by streaming files from your PC, And drastically helps modding and testing much more quickly. To publish mods continue on with the packing section of Volume System.

Requirements:

  • GT6 (FSRoot is only supported in GT6)
  • A PS3 with the REBUG 4.84 D-REX CFW is required
  • Kernel converted to DEX
  • EBOOT converted to Debug
  • PS3 SDK available and installed on your PC (if no emulator).

The requirements are a bit tedious to set-up, but all the more worth it.