Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Shin Megami Tensei: Digital Devil Saga
PORTSNATIVE

Shin Megami Tensei: Digital Devil Saga

NATIVE PORTROLE-PLAYING / RPGWINDOWSLINUXMACOSALPHA

Shin Megami Tensei: Digital Devil Saga

OriginPlayStation 2

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux, macOS

View official project

About the project

Shin Megami Tensei: Digital Devil Saga (DDS), conocido en Japón como Digital Devil Saga: Avatar Tuner, es un videojuego de rol para PlayStation 2 desarrollado por Atlus que se lanzó en Japón el 15 de julio de 2004. En España, su fecha de lanzamiento fue el 21 de julio de 2006 para PlayStation 2 y el 4 de junio de 2014 para el sistema de descarga PlayStation Network. Consiste en un spin-off o sub-saga de la serie de videojuegos Megami Tensei.

Official project information

Author's original READMEOpen on GitHub ↗

Shin Megami Tensei: Digital Devil Saga 1 & 2

Build Status dds1-code dds1-functions dds2-code dds2-functions

A work-in-progress matching decompilation of Shin Megami Tensei: Digital Devil Saga and Digital Devil Saga 2 for PlayStation 2. The goal is to understand and document how the games work by reconstructing readable source code from their retail binaries. Matching builds verify the reconstruction against the original executables.

[!IMPORTANT] This is a binary reconstruction and analysis project for understanding and documenting how the games work. You cannot use this repository to play the games; it is not a port.

Building requires your own lawfully obtained copy of the corresponding game. Required files are extracted locally from your copy. Disc images and retail executables are not included.

Status and versions

Unfinished functions use assembly extracted from the original executable, so a matching build does not mean the decompilation is complete. Names, types, and source organization are still being recovered.

VersionGameSerialELF SHA-1
dds1Digital Devil Saga (USA)SLUS_209.746d18898e2724bf1d145392766e8ba1e678487419
dds2Digital Devil Saga 2 (USA)SLUS_211.529be91ee1b4a535a4cb6ec89237b5a6ba41be2add

The badges track production-exact, source-owned game/engine code bytes and function counts for each game. Assembly fallbacks receive zero source credit. SDK/runtime code, handwritten assembly segments and VU1 microcode are outside those totals. Reading progress explains the measurements and comparison limits.

Quickstart

Requirements:

  • Linux x86-64 or WSL2, with support for running 32-bit i386 programs.
  • Python 3.10+, ninja, cpp, and git.
  • Your own disc image of either supported game.
git clone https://github.com/Megami-Decomps/dds-decomp.git
cd dds-decomp
python -m pip install -r requirements.txt
python tools/download_tools.py

# Copy your disc image(s) into the repository root or orig/, then:
python tools/extract.py
python configure.py
ninja

ninja builds every extracted version and checks each executable against its retail SHA-1. Use ninja dds1 or ninja dds2 to build one game. A checksum mismatch fails the build.

Script and data sources are retail content and are not in the repository; see Building for importing them from your own disc image, plus the optional script, data, and development targets, generated files, and checksum troubleshooting. The toolchain notes explain the original compiler, assembler, and pinned 32-bit runtime.

Documentation and contributing

Start with the contribution guide and confirmed source idioms to reconstruct a function. Pick an INCLUDE_ASM function, replace it with readable C, check the whole unit with tools/check_unit.py, and verify that ninja still produces a matching executable.

DDS2 reuses much of DDS1's engine. The contribution guide also covers sharing reconstructed functions between games and recovering names and types.

The documentation index groups the available references:

  • Code reconstruction: matching workflow, compiler behavior, and unit names.
  • Scripts: compiled VM scripts and editable source.
  • Field resources: interaction and transition tables, field formats, automaps, lighting, archives, and textures.
  • Battle data: encounter and battle content tables.
  • Development builds: experimental relocatable executables.

Acknowledgements

  • splat, spimdisasm, m2c and objdiff
  • decomp.me for the ee-gcc 2.96 toolchain packaging
  • the Persona 3/4 decompilation projects, for SDK layout and naming conventions
  • romwright, for analysis and cross-game pairing
Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Role-Playing / RPG
Status
alpha
Original platform
PlayStation 2
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 3

Windows
Linux
macOS
View on GitHub
Advertisement