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

Overview

Silent Hill Decompilation Project

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

Building (Linux)

Install build dependencies

The build process has the following package requirements:

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

Under a Debian based distribution, you can install these with the following commands:

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

Clone the repository

Clone https://github.com/Vatuu/silent-hill-decomp in whatever directory you wish. Make sure to initialize the submodules!

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

Install Python3 requirements

Run pip3 install requirements.txt

Placing the ROM

Obviously, you will need to provide your own rom dump of the game. The required version is the NTSC-U 1.1 Version of Silent Hill. If done correctly, you will end up with a .BIN and .CUE file. Both of these need to be placed inside 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

Just run make to build. If the build succeeds, a folder will be produced with the name build, inside this, you will find the output.

Contributing

Contributions are welcome. If you would like to reserve a function, open a PR with the function or file name(s).

Big TODOs

Currently, capstone has no logic to disassemble GTE instructions (which are COP2 instructions,) and thus, these are interpreted as data. This means that any code that uses these are effectively not possible to decompile back into C (for now).

You might also like...
Ezfrags - Decompilation of the CS:GO cheat ezfrags

Ezfrags Ezfrags was the first cheat of a lot of people, and probably their last. This cheat is so popular that it became a meme in the CS:GO community

A Super Mario 64 decompilation, brought to you by a bunch of clever folks.

Super Mario 64 This repo contains a full decompilation of Super Mario 64 (J), (U), (E), and (SH). Naming and documentation of the source code and data

Decompilation of the Berry Fix Program included in Pokémon Emerald and FireRed/LeafGreen

Berry Fix This is a decompilation of the "Berry Program" multiboot image which comes compressed within Pokémon FireRed, LeafGreen, and Emerald. It is

A decompilation of the Nintendo Switch version of Captain Toad: Treasure Tracker [v1.3.0].

cttt-decomp A decompilation of the Nintendo Switch version of Captain Toad: Treasure Tracker [v1.3.0]. Build Instructions Obtain a clean copy of a mai

Open source release of challenges and other code used in the Hack-A-Sat 2 Qualifier in 2021.

Hack-a-Sat 2 Qualifier This repository contains the open source release for the Hack-a-Sat 2 qualifier from 2021. Released artifacts include: Source c

Ashita v4 Beta release repository. Contains the current, most up-to-date, publicly released version of the Ashita v4 beta.

Ashita v4 Beta Release This repository contains the current, most up to date and publicly released version of the Ashita v4 beta. Lead Developers Ashi

lib release of paper [TopoTag: A Robust and Scalable Topological Fiducial Marker System]
lib release of paper [TopoTag: A Robust and Scalable Topological Fiducial Marker System]

Library release of paper TopoTag: A Robust and Scalable Topological Fiducial Marker System. Project page: https://herohuyongtao.github.io/research/pub

a work in progress try to make an IDE with the CSFML

EatSleepCode A work in progress for educational purpose. To help better understanding the CSFML lib. Installation clone this repo and do make Use case

X11 file manager (work in progress)

xfiles This is a still incomplete file manager for X11. It can only navigate through directories, select files (and do nothing with them), call a sc

Owner
Nicolas
Add a bio.
Nicolas
Friday Night Funkin' on the original PlayStation

Friday Night Funkin' on the original PlayStation

CuckyDev 169 Dec 18, 2022
Dink Smallwood HD port for Playstation Vita.

Dink Smallwood HD -- To just download working versions to play Dink Smallwood

Nabsi 5 Dec 16, 2021
Use an Arduino board as a Playstation 1 / 2 Controller.

Arduino PSX Controller This project is a short of example on how to use an Arduino board as a controller for the Playstation 1 or 2. Caveats This libr

null 11 Dec 8, 2022
A port of uMario (a widescreen remake of SMB NES) to the Playstation vita.

uMario PSVita Port A port of uMario (a widescreen remake of SMB NES) to the Playstation vita. Gameplay video: https://youtu.be/QZDfrHlEhj4 uMario: htt

WeegeeDEV 18 Jul 5, 2022
Playstation Vita first_loader hack for prototype units on firmware 1.03

broombroom Playstation Vita first_loader hack for prototype units on firmware 1.03 This hack grants "bootrom"-level code execution on the PSP2 by expl

null 14 Feb 27, 2022
CppStation, a Playstation emulator

CppStation Playstation emulator in C++ language. The aim of the project is an attempt to learn the process of emulation the Playstation by rewriting a

Victor Shilin 2 Jan 10, 2022
A complete Javascript environment for creating homebrew applications and games on PlayStation 2.

AthenaEnv is a project that seeks to facilitate and at the same time brings a complete kit for users to create homebrew software for PlayStation 2 using the JavaScript language.

Daniel Santos 29 Nov 15, 2022
A decompilation of Banjo Kazooie. (MIRROR of https://gitlab.com/banjo.decomp/banjo-kazooie)

banjo Building Grab tools git submodule update --init --recursive Drop in US v1.0 as baserom.us.v10.z64 (sha1sum: 1fe1632098865f639e22c11b9a81ee8f29c7

Nintendo 64 Decompilation Projects 186 Jan 3, 2023
PaRappa the Rapper Decompilation

PaRappaSource PaRappa the Rapper Decompilation Compiling The instructions for this should largely be the same as PSXFunkin without the iso makes. You

null 15 Dec 2, 2022
Hex-Rays microcode plugin for automated simplification of Windows Kernel decompilation.

NtRays NtRays is a Hex-Rays microcode plugin for automated simplification of Windows Kernel decompilation. Features Cleanup of instrumentation and sch

Can Bölük 359 Jan 3, 2023