I have never seen a PS1 executable bigger than 2mb, normally if they require more code they split it into multiple executables. With memory being so precious it would be unlikely a developer would forget to strip the debug symbols from an executable. However it is possible to find symbols included on the disk in various formats, one of those formats is SYM:
.SYM Files are generated by the Official Sony PS1 PSYQ SDK for use in debugging, they contain all the symbols (function names etc) and can also contain other chunks such as source filenames and line numbers.
You can get the information from a .SYM file using DUMPSYM.EXE from the PSQ SDK or you can use this open source tool: https://github.com/stohrendorf/symdump/. Also the integration of .sym files into the No$PSX emulator is documented in the following forum thread: http://www.psxdev.net/forum/viewtopic.php?f=76&t=1318
Game Name | Symbol File | Genre | Youtube |
---|---|---|---|
AirAssault - The Red Mercury Missions (Japan) | PSX.SYM | ||
Brunswick Circuit Pro Bowling | THQB2.SYM | Sport | https://www.youtube.com/watch?v=2XRmszyyf8Q |
Buggy (Europe) (En,Fr,De,Es,It,Pt) | SYMS/NEW.SYM | Racing | https://www.youtube.com/watch?v=PfBSXU0Sc7s |
Cardinal Syn (Europe) | SYN.SYM | Fighting | https://www.youtube.com/watch?v=xxHyg5JEgSw |
Castrol Honda Superbike Racing | BIKE.SYM | Racing | https://www.youtube.com/watch?v=1-v3kMlJx50 |
Crow, The - City of Angels (Europe) | CROW.SYM | Action | https://www.youtube.com/watch?v=0vDrqQAK5Yk |
CyberTiger | GOLF.SYM | Sport | https://www.youtube.com/watch?v=XxyXU8he-Iw |
Deka Yonku - Tough the Truck (Japan) | MAIN.SYM | ||
Destruction Derby (Japan) | TEMP/DEMOLISH.SYM | Racing | https://www.youtube.com/watch?v=FFMzFthGHkc |
Diablo (Japan) | DIABPSX.SYM | Action | |
Disney’s 101 Dalmatians 2 | /DATA/MAIN.SYM | Platformer | https://www.youtube.com/watch?v=SHr2BYzShtE |
Divide The Enemies Within | /SYMBOL/GAME.SYM | Action | https://www.youtube.com/watch?v=H3JE8iuwIog |
Dora the Explorer - Barnyard Buddies | /DATA/MAIN.SYM | Childrens | https://www.youtube.com/watch?v=UJ6vgxBdoMs |
Dragon Quest Characters - Torneko no Daibouken 2 - Fushigi no Dungeon (Japan) | FPS.SYM | ||
Driver 2 (Spanish Version Disc 1) | /SPANISH.SYM | Driving | https://www.youtube.com/watch?v=hfEF_z0JfcQ |
Fear Effect (Germany) (Disc 1) | FEARPAL.SYM | Action | https://www.youtube.com/watch?v=rQBnYPnJqYw |
Flintstones, The - Bedrock Bowling (Europe) | FLINTR.SYM | Platformer | https://www.youtube.com/watch?v=EG3a8C4kQfs |
Grid Run (Europe) | SYM/SLES0381.SYM | Platformer | https://www.youtube.com/watch?v=ccPzDlWz-mE |
Grid Runner (Japan) | SYM_SLPS0659.SYM | Platformer | |
Hardcore 4x4 (Europe) (En,Fr,De) | MAIN.SYM | Racing | https://www.youtube.com/watch?v=vv99PiwQEWQ |
Hi-Octane (Europe) (En,Fr,De,Es) | MAIN.SYM | Racing | https://www.youtube.com/watch?v=xOEozcuLm-U |
Idol Promotion - Suzuki Yumie (Japan) (Yumie Island) | TEST/JANKEN/MAIN.SYM | ||
Indy 500 (Japan) | INDY500.SYM | ||
International Moto X (Europe) (En,Fr,De,Es,It,Nl) | PSX.SYM | Racing | https://www.youtube.com/watch?v=oCvHbkQLLWU |
Kidou Senshi Gundam - Gihren no Yabou - Zeon no Keifu - Kimitsu Eizou Disc Tokubetsu Hen (Japan) | TAIKEN3/TAIKEN3.SYM | ||
Kyuu Bakukku (Japan) | CUBE.SYM | ||
Jackie Chan Stuntmaster | /GAME_REL.SYM | Action | https://www.youtube.com/watch?v=OxQ0Pr-NlGQ |
Legacy of Kain - Soul Reaver (Germany) | DEBUG/NTSC/KAIN2.SYM | Action | https://www.youtube.com/watch?v=lz9HtrZc9Gk |
MDK (Japan) | MAIN.SYM | ||
Next Wave Herbst ‘98 (Germany) | DTK/dtk_menu.sym dtk_stub.sym | Unknown (Demo?) | Unknown |
NHL Powerplay (Europe) | SYM/front.sym game.sym psx.sym runfront.sym rungame.sym | Sport | https://www.youtube.com/watch?v=Zx2o5OoSCx0 |
Nuclear Strike (Europe) | DATA/DELTA.SYM dmz.sym e3demo.sym | Shooter | https://www.youtube.com/watch?v=P33C7GjY3nU |
Ore no Shikabane wo Koete Yuke (Japan) | ORECD_MAIN.SYM | ||
PrePre Vol. 6 (Japan) | STRIKE_DATA_CRIMEA.SYM | ||
RC Revenge (Europe) (En,Fr,De,Es) | release.sym | Racing | |
Re-Loaded (Europe) (En,Fr,De) | relpal.sym | ||
Soccer ‘97 (Europe) | olysocc.sym | ||
Syndicate Wars (Germany) | main.sym | ||
Team Losi RC Racer (US version of Buggy) | /SYMS/NEW.SYM | Racing | https://www.youtube.com/watch?v=tH2CYEj3uZI |
Tiger Woods PGA Tour 2000 (Europe) (En,Fr,De,Es,Sv) | golfcd_a.sym | Sport | |
Tomb Raider Chronicles (Unknown build) | MAIN.SYM | Action | https://www.youtube.com/watch?v=KbV7dZ8xJfI |
True Pinball (Europe) | pinball.sym | Sport | |
Twisted Metal (Japan) | PSX.SYM | Action | https://www.youtube.com/watch?v=NmcTF4JXnYs |
Twisted Metal Small Brawl (USA) | tmsb.sym (in zip file MOV/ZDUMMY.bin) | Racing | https://www.youtube.com/watch?v=rJNHwyjKu6o |
Who Wants to Be a Millionaire 3rd Edition | /MIL3.SYM | Quiz | https://www.youtube.com/watch?v=IwuwbxV4pGw |
Game Name | Demo CD | Symbol File |
---|---|---|
Croc | Demo SLED-00038 | /CROC.SYM |
Biohazard 2 | Biohazard 2 (Japan) (Beta 2) | /MAIN.SYM |
Cardinal Syn | Euro Demo 18 (Germany) | SYN/SYN.SYM |
Colin McCrae Rally 2 | Euro Demo 08-00 (Germany) | CMR2/GAMEFLOW.SYM |
Felony 11-79 | Essential PlayStation 7 (Europe) | /FELONY/MAIN.SYM |
Granstream Denki | Granstream Denki (Japan) (Demo) | GS/P/MAIN.SYM |
O.D.T. | Euro Demo 28 (France) | /ODT/MOVIES.SYM ODT.SYM |
SCARS | PlayStation Zone CD Vol. 8 (Germany) | SCARSPAL.SYM |
TH Pro Skater | Euro Demo 07-00 (Germany) | PROSKATE/MAIN.SYM |
UEFA EURO 2000 | Euro Demo 07-00 (Germany) | EURODEMO/BECODE_Z.SYM E2000_Z.SYM FECODE_Z.SYM |
Sled Storm | USA Demo Disc 24 | DEBUG/MAIN.MAP |
Soul reaver | Soul reaver (SLES-02024) | /DEBUG/NTSC/KAIN2.SYM |
Wipeout XL | Wipeout XL (USA) (Beta) | NTSC.SYM |
DemoDemo Vol. 12 (Japan) | DemoDemo Vol. 12 (Japan) | MAIN.SYM |
The .MAP file created by a c/c++ linker such as LD follows the format:
Start Stop Length Obj Group Section name
80010000 800179C3 000079C4 80010000 text .rdata
...
Program entry point : 00000000
Address Names alphabetically
8008CEF4 CD_ready
These files contain all the information you need to get the full debug symbols back for a game! You just need to parse them and add them to your disassembler of choice (e.g Radare2 or IDA Pro)
Game Name | Map File |
---|---|
Brunswick Circuit Pro Bowling 2 | THQB2R.MAP |
Castrol Honda Superbike Racing | BIKE.MAP |
Diablo (Japan) | /DIABPSX.MAP |
Disney’s 101 Dalmatians 2 | /DATA/MAIN.MAP |
Dora the Explorer - Barnyard Buddies | /DATA/MAIN.MAP |
Knockout Kings | /DATA/MAIN.MAP |
Legacy of Kain - Soul Reaver (Germany) | DEBUG/NTSC/KAIN2.MAP |
NCAA March Madness | Located inside IGBIN.BIN |
SnoCross Championship Racing | Located inside SNOW.IMG |
Tomb Raider Chronicles (Unknown build) | MAIN.MAP |
True Pinball | Contains PINBALL.MAP but doesn’t seem to contain function names |
Game Name | Demo CD | Symbol File |
---|---|---|
Colin McCrae Rally 2 | Euro Demo 08-00 (Germany) | /CMR2/GAMEFLOW.MAP |
Soul reaver | SLES-02024 | /DEBUG/NTSC/KAIN2.MAP |
Syphon Filter (USA) (Demo) | SCUS-94362 | /SIPHON.MAP |
The Github user Wuteva
has been investigating the Linker Map file contained in the USA version of the Syphon Filter Demo and has found some very interesting information 1.
They have found that the MAP file doesn’t quite match the binary executable contained on the disc (the MainLoop function is at 0x800144a4
in Ghdira but is at 0x800144C0
in the map file). This is likely due to the version of the binary having an earlier date compared to the Linker Map file 1.
Other Interesting:
PSX game with debug symbol: Syphon Filter (USA) (Demo) contains a .map file ↩ ↩2
https://assemblergames.com/threads/retail-playstation-1-games-with-debug-symbols.68587/#post-965072 ↩