Skip to content

An in-progress decompilation of the 1.1 US release of Silent Hill on the Playstation 1.

Notifications You must be signed in to change notification settings

Vatuu/silent-hill-decomp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Silent Hill Decompilation Project

An in-progress decompilation of the 1.1 US release of Silent Hill on the Playstation 1.

Progress

Due to the limited memory on the PlayStation 1, games often distribute their logic and functionality across different binary overlays. Silent Hill follows this approach by separating core engine code, screen-related code, and map stage event code into many distinct binaries. The main executable (SLUS_007.07 on the 1.1 NTSC release) serves primarily as a memory handler.

Progress bars powered by decomp.dev.

โš™ SLUS-00707 โš™
Progress Purpose
Main executable.
Progress Purpose
Psy-Q libraries.
โš™ Game System Overlays โš™
Click here to expand
๐ŸงŸโ€โ™‚๏ธโš”โš™๐ŸŽฎ BODYPROG.BIN ๐ŸŽฎโš™โš”๐ŸงŸโ€โ™‚๏ธ
Progress Purpose
Main game logic.
๐Ÿ‘จโ€๐Ÿ’ผ B_KONAMI.BIN ๐Ÿ‘จโ€๐Ÿ’ผ
Progress Purpose
Boot screen logic.
๐ŸŽž STREAM.BIN ๐ŸŽž
Progress Purpose
Video stream logic.
๐Ÿ’พ SAVELOAD.BIN ๐Ÿ’พ
Progress Purpose
Save and load screen logic.
๐Ÿ“œ STF_ROLL.BIN ๐Ÿ“œ
Progress Purpose
Credits roll logic.
๐Ÿ›  OPTION.BIN ๐Ÿ› 
Progress Purpose
Options screen logic.
๐Ÿ—บ Game Map Overlays ๐Ÿ—บ
Click here to expand
๐Ÿ™ MAP0_S00.BIN ๐Ÿ™
Progress Location
Old Silent Hill.
โ˜• MAP0_S01.BIN โ˜•
Progress Location
Cafe in Old Silent Hill.
๐Ÿ™โž• MAP0_S02.BIN โž•๐Ÿ™
Progress Location
Bonus unlockable areas in Old Silent Hill.
๐Ÿซ MAP1_S00.BIN ๐Ÿซ
Progress Location
School first floor, courtyard, and basement.
๐Ÿซ MAP1_S01.BIN ๐Ÿซ
Progress Location
School second floor.
๐Ÿซ MAP1_S02.BIN ๐Ÿซ
Progress Location
School first floor and courtyard in Otherworld.
๐Ÿซ MAP1_S03.BIN ๐Ÿซ
Progress Location
School second floor and school roof in Otherworld.
๐Ÿซ MAP1_S04.BIN ๐Ÿซ
Progress Location Note
Unknown School location, likely in Otherworld.
๐Ÿซ MAP1_S05.BIN ๐Ÿซ
Progress Location Note
Unknown School location, likely in Otherworld.
๐Ÿซ MAP1_S06.BIN ๐Ÿซ
Progress Location
School first floor and basement after the boss fight.
๐Ÿ™ MAP2_S00.BIN ๐Ÿ™
Progress Location
Old Silent Hill after finishing the school.
โ›ช MAP2_S01.BIN โ›ช
Progress Location
Church
๐Ÿ™ MAP2_S02.BIN ๐Ÿ™
Progress Location
Central Silent Hill
โ” MAP2_S03.BIN โ”
Progress Location Note
Unknown Location related to Central Silent Hill.
๐Ÿ‘ฎโ€โ™‚๏ธ MAP2_S04.BIN ๐Ÿ‘ฎโ€โ™‚๏ธ
Progress Location
Police station in Central Silent Hill.
๐Ÿฅ MAP3_S00.BIN ๐Ÿฅ
Progress Location Note
Unknown Hospital, possibly only the reception
and examination rooms but none of
the rooms around them.
๐Ÿฅ MAP3_S01.BIN ๐Ÿฅ
Progress Location Note
Unknown Hospital, possibly the rest of the first floor
not covered by MAP3_S00.BIN
and the basement.
๐Ÿฅ MAP3_S02.BIN ๐Ÿฅ
Progress Location Note
Unknown Hospital, the part when Harry goes
in the elevator and it goes dark.
๐Ÿฅ MAP3_S03.BIN ๐Ÿฅ
Progress Location
Hospital third and second floor in Otherworld.
๐Ÿฅ MAP3_S04.BIN ๐Ÿฅ
Progress Location
Hospital first floor in Otherworld.
๐Ÿฅ MAP3_S05.BIN ๐Ÿฅ
Progress Location
Hospital basement in Otherworld.
๐Ÿฅ MAP3_S06.BIN ๐Ÿฅ
Progress Location
Hospital first floor after the Otherworld section.
โ” MAP4_S00.BIN โ”
Progress Location
Unknown
๐Ÿ’ MAP4_S01.BIN ๐Ÿ’
Progress Location
Green Lion Antique Shop in Old Silent Hill and Otherworld.
โ” MAP4_S02.BIN โ”
Progress Location Note
Unknown Possibly one of the two parts where
Harry goes through Central Silent Hill
in Otherworld.
๐Ÿ› MAP4_S03.BIN ๐Ÿ›
Progress Location
Mall and boss fight.
๐Ÿฅ MAP4_S04.BIN ๐Ÿฅ
Progress Location Note
Hospital First Floor Cutscene with Lisa after finding the
altar in the Green Lion Antique Shop and
meeting Lisa again after the mall boss fight.
โ” MAP4_S05.BIN โ”
Progress Location Note
Unknown Possibly one of the two parts when
Harry goes through Central Silent Hill
in Otherworld.
โ” MAP4_S06.BIN โ”
Progress Location
Unknown
๐Ÿ’ง MAP5_S00.BIN ๐Ÿ’ง
Progress Location
Sewers lower and upper levels.
๐Ÿ™๐Ÿน MAP5_S01.BIN ๐Ÿน๐Ÿ™
Progress Location
Silent Hill Resort Area.
๐Ÿป๐Ÿช MAP5_S02.BIN ๐Ÿช๐Ÿป
Progress Locations
Annie's Bar and Indian Runner in Resort Area.
๐Ÿจ MAP5_S03.BIN ๐Ÿจ
Progress Location
Norman's Motel in Resort Area.
๐Ÿ™๐Ÿน MAP6_S00.BIN ๐Ÿน๐Ÿ™
Progress Location
Silent Hill Resort Area in Otherworld.
๐Ÿ›ฅ MAP6_S01.BIN ๐Ÿ›ฅ
Progress Location
Boat at Lakeside Pier.
๐ŸŒŠ MAP6_S02.BIN ๐ŸŒŠ
Progress Location
Lakeside Pier
๐Ÿ’ง MAP6_S03.BIN ๐Ÿ’ง
Progress Location
Sewer connecting to Lakeside Amusement Park.
๐Ÿ‘ฎโ€โ™€๏ธ๐Ÿง™โ€โ™€๏ธ MAP6_S04.BIN ๐Ÿง™โ€โ™€๏ธ๐Ÿ‘ฎโ€โ™€๏ธ
Progress Location
Cybil boss fight and cutscene of Dahlia kidnapping Alessa.
โ” MAP6_S05.BIN โ”
Progress Location
Unknown
๐Ÿฅ MAP7_S00.BIN ๐Ÿฅ
Progress Location Note
Hospital first floor in Nowhere.
โ” MAP7_S01.BIN โ”
Progress Location Note
Unknown Nowever related.
โ” MAP7_S02.BIN โ”
Progress Location Note
Unknown Unknown parts of Nowhere and parts of the
cutscene when Alessa struggles against
Dahlia.
๐Ÿ‘ฟ MAP7_S03.BIN ๐Ÿ‘ฟ
Progress Location
Final boss fight.

Building (Linux/Windows)

Install build dependencies

The build process has the following package requirements:

  • git
  • build-essential
  • binutils-mips-linux-gnu
  • cpp-mips-linux-gnu
  • python3
  • bchunk
  • 7z

Under a Debian-based distribution (or Windows with a Debian-based WSL2 setup), you can install these with the following commands:

sudo apt update
sudo apt install git build-essential binutils-mips-linux-gnu cpp-mips-linux-gnu python3 bchunk p7zip-full

Clone the repository

Clone https://github.com/Vatuu/silent-hill-decomp to your desired directory. Make sure to clone recursively!

git clone --recursive https://github.com/Vatuu/silent-hill-decomp.git && cd silent-hill-decomp

Install Python3 requirements

Run pip3 install -r requirements.txt

Place the ROM

You will need to provide your own ROM dump of the game. The required version is Silent Hill NTSC-U 1.1. If done correctly, you will end up with a .BIN and a .CUE file. These must be placed in the rom/image folder and renamed to SLUS-00707.bin/.cue, respectively. SHA1 Hashes:

  • .cue: 299D08DCB44E7516F394C3DD5BA40690AE33FD22 84 Bytes
  • .bin: 34278D31D9B9B12B3B5DB5E45BCBE548991ECBC7 616,494,480 Bytes / 587 MiB

Build the code

Run make setup to extract needed assets and code from the binary. If the setup was successful, run make to build. Once the build has finished, a folder named build will be produced. The output will be inside this.

Additional Make commands:

  • check: Builds the executable and overlays. After compilation, it compares checksums with the original files.
  • build-c: Clears the project configuration without deleting files.
  • build-C: Clears the project configuration without deleting files. After compilation, it compares checksums with the original files.

NOTE: build-c/build-C are obligatory if the configuration in the Makefile has been modified when intending to work on different overlays.

Contributing

Contributions are welcome. Following our code conventions, feel free to contribute via a pull request or issue and join us in the PS1/PS2 Decompilation Discord server's #silent-hill channel.

About

An in-progress decompilation of the 1.1 US release of Silent Hill on the Playstation 1.

Topics

Resources

Stars

Watchers

Forks