Executables (CORE.GT3/CORE.GT4)¶
Starting from GT3, the game is split between two executables:
SCES_517.19
(or any other game code) - Bootstrap executableCORE.GT3/CORE.GT4/CORE.TT
- Main executable.
Note
Some older GT4-engine builds such as GT4 First Preview or Tourist Trophy Demo does not use a bootstrap executable.
Bootstrap executable¶
The bootstrap executable serves as a way to launch and verify the CORE
/main executable through different sources (in order):
HostSource
-HOST
- Usinghost
,host:/tmp/CORE.GT4
CardSource
-MCARD 0
- Using memory card 1CardSource
-MCARD 1
- Using memory card 2DiskSource
-DISK
- UsingCORE.GT4
at the root of the disk
Here is a flowchart of the boot process after a suitable CORE.GT4 has been located.
Boot process flowchart (click to expand)
graph TD
Start[Start] --> OpenCore[Attempt to open CORE from various sources] --> CRCCheck;
CRCCheck{CRC Matches?} ---->|No| Failed;
CRCCheck --> GT4OCheck
GT4OCheck{Is GT4O?} ----> Decrypt[Decrypt CORE] ----> Decompress
GT4OCheck --> Decompress
Decompress[Decompress CORE] --> ReadHeader[Read header]
ReadHeader --> HeaderHashCheck
HeaderHashCheck{Computed hash matches with header?} ---->|No| Failed;
HeaderHashCheck --> OverlapCheck
OverlapCheck{Defined segments overlap?} ---->|Yes| Failed;
OverlapCheck --> ValidEntrypointCheck
ValidEntrypointCheck{Is valid entrypoint address?} ---->|No| Failed;
ValidEntrypointCheck --> END
END(["✔️ Ready to go, pass arguments and entry to ExecPS2"])
style END fill:#00BB00
Failed["❌ Failed, invalid Image"]
style Failed fill:#CC0000
```
CORE executable¶
This is the main executable after the bootstrap has successfully validated it.
Refer to the CORE format for how it is laid out more in detail.
Tip
PDTools.GT4ElfBuilderTool can process a CORE file to an ELF file for easier use in IDA or Ghidra.