• Stars
    star
    392
  • Rank 107,580 (Top 3 %)
  • Language
    C
  • Created over 2 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Decompilation of Castlevania: Symphony of the Night (PSX+Saturn)

Castlevania: Symphony of the Night Decompilation

A work-in-progress decompilation of Castlevania Symphony of the Night for PlayStation 1. It aims to recreate the source code from the existing binaries using static and/or dynamic analysis. The code compiles byte-for-byte to the same binaries of the game, effectively being a matching decompilation. Currently it only supports the US version of the game SLUS-00067.

This repo does not include any assets or assembly code necessary for compiling the binaries. A prior copy of the game is required to extract the required assets.

Bins decomp progress

File name Code coverage Decomp functions Description
SLUS_000.67 N/A N/A Shared libraries
DRA.BIN code coverage DRA.BIN decompiled functions Game engine
BIN/RIC.BIN code coverage RIC.BIN decompiled functions Playable Richter
ST/CEN/CEN.BIN code coverage CEN.BIN decompiled functions Center
ST/DRE/DRE.BIN code coverage DRE.BIN decompiled functions Nightmare
ST/MAD/MAD.BIN code coverage MAD.BIN decompiled functions Debug Room
ST/NO3/NO3.BIN code coverage NO3.BIN decompiled functions Entrance (first visit)
ST/NP3/NP3.BIN code coverage NP3.BIN decompiled functions Entrance
ST/NZ0/NZ0.BIN code coverage NZ0.BIN decompiled functions Alchemy Laboratory
ST/SEL/SEL.BIN code coverage SEL.BIN decompiled functions Title screen
ST/ST0/ST0.BIN code coverage ST0.BIN decompiled functions Final Stage: Bloodlines
ST/WRP/WRP.BIN code coverage WRP.BIN decompiled functions Warp Room
ST/RWRP/RWRP.BIN code coverage RWRP.BIN decompiled functions Warp Room (reverse)
SERVANT/TT_000.BIN code coverage TT_000.BIN decompiled functions Bat Familiar

Code coverage means how many bytes of code have been successfully converted from assembly into C code, while decomp function is how many functions have been succesfully decompiled.

Useful links

Decompiling a game is a mastodontic task. If you have computer science knowledge, please join us in this journey. Any contribution will be very appreciated!

Special thanks

This project is possible thanks to the hard work of tools provided by the Decompilation community:

  • mips2c from @matt-kempster to decompile MIPS assembly into C. This proven to be more accurate than Hexrays IDA and Ghidra.
  • splat from @ethteck to disassemble code and extract data with a symbol map. This tool provides the fundamental of the SOTN decomp.
  • asm-differ from @simonlindholm to know how the decompiled code compares to the original binary.
  • decomp-permuter from @simonlindholm to pick different versions of the same code that better matches the original binary.
  • decomp.me by @ethteck, @nanaian and @mkst to provide a collaborative decompilation site to share and contribute to work-in-progress decompiled functions.
  • frogress by @ethteck to store and retrieve progression data.
  • esa-new by @mkst as an inspiration on how to set-up a PS1 decompilation project.
  • oot as an inspiration of what it is possible to achieve with a complete decompiled video game.

More Repositories

1

KingdomSaveEditor

General purpose videogame save editor
C#
200
star
2

RSDK

RSDK reverse stuff + Sonic Mania Animation Editor
C#
26
star
3

ffxv

Final Fantasy XV Reverse Engineerng and libraries
C#
26
star
4

MegaEdX

Megaman X SNES level editor
C++
19
star
5

setup

Set-up your Windows environment from a fresh installation, with just a line of code!
PowerShell
19
star
6

croc

Decompilation of Croc: Legend of the Gobbos
C
13
star
7

DarkCloud

Dark Cloud game packer and unpacker
C
10
star
8

sonic-hybrid-rsdk

Mixes different Sonic the Hedgehog games into a single giant game (similar to Sonic Delta)
C#
10
star
9

psndb

Dump of PSN metadata and update of games
9
star
10

mipsdump

An experimental MIPS disassembler written in F#
F#
8
star
11

Xe.BinaryMapper

Map binary streams into C# objects for read and write
C#
7
star
12

VitaReg

PS Vita registry editor
C#
7
star
13

RESonic

Very old stuff (2012) about RE: Sonic project and libXeEngine
C++
5
star
14

smallHex

Remake of an old PSP homebrew and PC app for PC and PS Vita
C
5
star
15

khlua

Kingdom Hearts decompiled LUA scripts
Lua
4
star
16

einhander

Tools and reverse engineering of the PS1 game Einhander
Go
4
star
17

FastBlit

Fast image drawing library, written in C#
C#
4
star
18

KingdomHeartsPatch

Very old stuff I developed back in 2011 for the Italian and English KH2FM translation
C++
4
star
19

S3KSE

Stylish Sonic 3 & Knuckles Collection Save Editor
C++
3
star
20

Croc-old

Croc: Legend of the Gobbos tools
C
3
star
21

SonicManiaAPI-Samples

Sample projects to bootstrap Sonic Mania modding using ManiaAPI
C++
2
star
22

Twist-of-Fate

Castlevania-like game
C#
2
star
23

vscode-rsdk

Visual Studio Code extension for Sonic the Hedgehog's decompiled RSDK scripts
1
star
24

piupsp-tools

Tools to modify Pump It Up Exceed/Zero Portable
Go
1
star
25

wine-psyq

Builds and push Docker images that allows to build PlayStation 1 games using PSY-Q on x86-64 platforms
1
star
26

Xe.ReleaseUpdater

Library to check and update your .Net app automatically
C#
1
star
27

rsdk_flutter

Dart
1
star