Saltar al contenido
PORTSNATIVE.
InicioCatálogo
Juegos WebEmuladoresHerramientasNovedades
PORTSNATIVE.

Un catálogo para descubrir ports y proyectos relacionados. Enlazamos a las fuentes oficiales y no alojamos archivos de los juegos originales.

ExplorarCatálogoMi lista
InformaciónNosotrosProponer un portSoporteApoyo y donacionesAviso legal
© 2026 PortsNative
Volver al catálogo
Digimon Rumble Arena
PORTSNATIVE

Digimon Rumble Arena

PORT NATIVOLUCHA / COMBATEWINDOWSLINUXMACOSALPHA

Digimon Rumble Arena

OrigenPlayStation

TecnologíaPort Nativo C/C++ (Reimplementación de Motor)

Disponible paraWindows, Linux, macOS

Ver proyecto oficial

Sobre el proyecto

Digimon Rumble Arena es un videojuego crossover perteneciente al género de lucha desarrollado y publicado por Bandai en asociación con Hudson Soft para la consola de videojuegos PlayStation. Fue lanzado en Japón el 6 de diciembre de 2001 y en América del Norte el 24 de febrero de 2002. Los jugadores pueden elegir entre un máximo de 24 Digimon de entre los personajes de las épocas de las series de Digimon Adventure y Digimon Tamers, como Terriermon, Agumon, Gatomon, y Renamon.

Información oficial del proyecto

README original del autor (en inglés)Abrir en GitHub ↗

Digimon Rumble Arena decomp

🇯🇵 Japan (SLPS_033.57)CodeDataFunctions
the whole gameCodeDataFunctions
the executableCodeDataFunctions
the code overlays (A.VFS's /bin/)CodeDataFunctions
🇺🇸 USA (SLUS_014.04)CodeDataFunctions
the whole gameCodeDataFunctions
the executableCodeDataFunctions
the code overlays (A.VFS's /bin/)CodeDataFunctions

Build Platform Compiler License

A work-in-progress matching decompilation of Digimon Rumble Arena for the PlayStation, from its Japanese release, Digimon Tamers: Battle Evolution (デジモンテイマーズ バトルエボリューション): C source that compiles back into a byte-identical copy of the game's executable and code overlays.

This repository does not contain any game data. You need your own copy of the game to build it.

Status

The build gives back the original executable and its 13 code overlays byte for byte, for both the Japanese release (SLPS_033.57, the default) and the USA one (SLUS_014.04, VERSION=us), from the same source. Most of the executable's functions are C already; about a third of the overlays' are, and the rest is still splat's assembly behind INCLUDE_ASM. Decompiling them one by one, keeping the match in both versions, is the work. The progress counts the whole game of each version, executable and overlays, with each part in its own category. Progress is measured by objdiff and tracked on decomp.dev.

<a name="the-executable"></a>

The executable

SLPS_033.57 loads at 0x80010000 and starts at crt0 (0x8003DD74):

AddressWhat
0x80010000.rodata (psylink places it ahead of .text)
0x8001AE18the game's code, main at 0x8001AF68 (src/engine/, by module)
0x8003DD74crt0: the entry point, __main and its constructor loop
0x8003DEE8SN's runtime wrappers and the PsyQ libraries
0x8005EE40.data, with $gp at 0x8006414C
0x800643E0.bss, stored in the file as zeros up to 0x8011C248

Only the game is decompiled. The PsyQ libraries stay splat's disassembly and out of the progress: their code from 0x8003DF10, their rodata from 0x80019F58, their .data from 0x80060F98 and their .bss from 0x801168E8.

The rest of the game, its code overlays (/bin/<name>.bin) included, is in the disc's A.VFS archive; the movies are in A.STR and the sound in A.XAP.

The overlays

The code overlays are A.VFS's /bin/<name>.bin, zlib-compressed in the archive; the build splits and checks them inflated. Each one starts with its .rodata, and has its own splat config (config/<version>/<name>.yaml) and symbols (config/<version>/symbols_<name>.txt); it links against the executable's symbols, and a stage against game.bin's too.

FileLoads atSizeWhatSource
movie.bin0x800643E0 (OVERLAY_MEMORY; USA 0x800643C0)10 KBthe movie player (MDEC, /a.str)src/movie/
title.bin0x800643E0 (USA 0x800643C0)92 KBthe boot logo, title screen and menus: main menu, character and map select, ranking, credits, optionssrc/title/
game.bin0x800643E0 (USA 0x800643C0)445 KBthe battle ("game main process")src/battle/
st00.bin-st09.bin0x800D3820, after game.bin (USA 0x800D3B00)4-27 KBthe battle's stage, which game.bin loads (/bin/st%02d.bin)src/battle/stages/

Building

On Linux (Ubuntu 24.04 or similar):

sudo apt install binutils-mipsel-linux-gnu gcc-mipsel-linux-gnu python3-venv
git clone --recursive https://github.com/ReGame-Labs/dtbe_decomp.git
cd dtbe_decomp
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
tools/dl_deps.sh

Extract the game's files from your disc image into disks/jp:

python3 tools/extract_disc.py "DigimonTamers - Battle Evolution (Japan).bin" disks/jp

The build unpacks A.VFS into assets/jp itself (tools/unpack_vfs.py): the overlays are split from there, and the game's data is there to look at.

Then split the executable and the overlays, build them and check them against the originals:

make generate
make -j$(nproc)
make compare

The USA release (SLUS_014.04) builds the same way, with VERSION=us on every command: its files go in disks/us, and make VERSION=us compare checks it. jp is the default. Both builds share the source; the few functions whose code differs between the releases keep the Japanese code behind #if VERSION_JP.

make report writes objdiff's progress report (build/<version>/report.json), and make objdiff the objdiff.json that objdiff's GUI opens.

make docs writes the source's documentation, build/docs/html/index.html, with doxygen and the doxygen-awesome theme (sudo apt install doxygen graphviz). It takes the code's comments as they are: the comment above a function, a type or a global is its description.

<a name="toolchain"></a>

Toolchain

  • Compiler: GCC 2.95.2 for the PlayStation (cc1, from decompals/old-gcc) at -O2, -G8 for the executable and -G0 for the overlays. Its instruction scheduling is the one the game's code has; 2.7.2 and 2.8.x schedule the loads differently.
  • Assembler: maspsx turns GCC's output into what Sony's aspsx 2.86 would have made, then GNU as assembles it.
  • Splitting: splat (config/<version>/main.yaml).
  • Decompiling: m2c and decomp-permuter are in external/.

Contributing

Pick a function behind INCLUDE_ASM, most of them in the overlays (src/battle/, src/title/), write it as C, and check that make compare and make VERSION=us compare still pass. Only byte-identical matches go in. CONTRIBUTING describes the tools and the rules.

Ver proyecto oficial
CALIFICACIÓN
—
Cargando votos…
Publicidad

FICHA DEL PROYECTO

Tipo de proyecto
PORT NATIVO
Género
Lucha / Combate
Estado
alpha
Plataforma de origen
PlayStation
Tecnología
Port Nativo C/C++ (Reimplementación de Motor)
Versión
—
Actualización
—

Plataformas de destino 3

Windows
Linux
macOS
Ver en GitHub
Publicidad