Tekken 4 (PS2) teardown

Taking apart Tekken 4 for the PlayStation 2 with no mod loader and no prior documentation: the disc archive, movesets, stages, character models and sound, each decoded far enough to change it and proven in the PCSX2 emulator.

Type
Project
Status
Active
Period
2026-08-29 to now
Entries
10
Field
Reverse engineering
Built with
Python 3 (every tool written for the project), PCSX2 2.9 (emulator, driven by script), MIPS R5900 (the PS2's Emotion Engine)

Tekken 4 (2002, US release SLUS-20328) has no modding scene to speak of and no tools: no mod loader, no documented formats, no unpacker for the 2.57 GB archive that holds almost the whole game. Everything here started from the disc image and the game’s own machine code.

The project’s goal is a game that can be customised end to end: new fighters, new moves, new stages and new sound. It works through three habits:

  • Prove it in the game. A format counts as understood when something built from it runs in PCSX2 and does what was predicted. A desk reading isn’t enough, so “not confirmed in game” is treated as “not working”.
  • Rebuild before you edit. Every parser has to reproduce the stock files byte for byte before it’s allowed to write a changed one.
  • Check every claim adversarially. Each desk report gets a second, independent pass that re-derives its claims from the raw bytes, and the claims that fail are recorded as refuted rather than quietly fixed.

The work so far: the archive and its hidden index, the moveset format with edits proven in game, the stage format with a new stage built from scratch, the character model format, and the sound driver and its banks. What’s still unknown (mainly animation, hit boxes and the vector-unit microcode) is mapped in Tekken 4 (PS2): a map of what’s known.

Mods built with this work are personal, and nothing from the game itself (disc image, archive members, savestates) is published here.

Series

Investigations

5
  1. QL-0020

    Tekken 4’s sound system, from the hidden driver to the music tables

    Tekken 4 (PS2) hides its sound driver inside the executable as a compressed, bit-inverted package; the project unpacks and repacks it, and the repacked driver runs identically. The banks, the sound-effect tables, the music track tables and the stage-to-music map are decoded, and music swaps, shortened tracks and replaced sound banks all work in PCSX2. Every result was read from memory: nothing has been checked by ear.

    Investigation RE.4 Reproduced
    Rev. B
  2. QL-0016

    Tekken 4’s stage format, and building a new stage from scratch

    Each Tekken 4 (PS2) stage is four archive files, and the biggest is a 15-section container holding the geometry, textures, floor, walls, crowd and start positions. The geometry and wall formats rebuild the stock stages byte for byte, and a new stage 17, with its own geometry, textures, props and collision, loads and plays in PCSX2.

    Investigation RE.4 Reproduced
    Rev. B
  3. QL-0015

    Tekken 4’s moveset files, decoded and edited in game

    How Tekken 4 (PS2) stores each fighter’s moves: an LZSS-compressed “Character Data” file of twenty tables. The format is decoded well enough to rebuild all 22 stock movesets byte for byte, and edits made with it work in game: a move’s damage changed, a button rerouted, a brand-new move added, and one fighter’s whole moveset run on another’s body.

    Investigation RE.4 Reproduced
    Rev. B
  4. QL-0014

    Tekken 4’s 2.57 GB archive keeps its index in the executable

    Tekken 4 (PS2) stores almost everything in one 2.57 GB file, DATA.BIN, with no index inside it. The index is a 1,121-entry table in the game’s executable, and the archive’s only protection is a reversible flip of each file’s first 4 KB. Both are decoded, every checksum passes, and a modified disc that appends new files to the archive boots and plays.

    Investigation RE.4 Reproduced
    Rev. B
  5. QL-0019

    Tekken 4’s character models, and editing them in place

    Tekken 4 (PS2) fighters are CHRTK4 models: VIF packets of skinned vertices and textured strips that the PS2’s vector unit consumes directly. The format is decoded well enough to reshape a head, widen a body and build a 3D beard out of hidden hair meshes, all at the original size, and the results render in PCSX2. Adding new vertices or bones is still out of reach.

    Investigation RE.4 Reproduced
    Rev. A

Experiments

1
  1. QL-0017

    How large can a Tekken 4 stage be? Bigger than predicted

    A desk model of Tekken 4’s stage memory predicted the game would fail once a stage’s main file passed about 7.6 MB. In PCSX2, stages of 6.0, 6.6, 7.4 and 7.7 MB all loaded and played: the game gave up its pose cache and then shrank a second buffer instead of failing. The same run confirmed the crowd budget and the start-region mechanism.

    Experiment RE.3 Observed
    Rev. A

Findings

2
  1. QL-0018

    Tekken 4 ignores a wall whose faces wind against their normal

    A custom wall in a Tekken 4 (PS2) stage only blocks fighters if each face’s corners wind so that (c1 − c0) × (c2 − c0) points the same way as the face’s stored normal. A correctly placed wall wound the other way loads, links into the collision grid, and is walked straight through. All 867 stock wall faces follow the rule.

    Finding RE.4 Reproduced
    Rev. B
  2. QL-0022

    The “round timer” patch that was really editing rand() % 60

    An early Tekken 4 (PS2) cheat targeted what looked like the round timer. The code was a division by 60 whose remainder, not quotient, was kept: a random 0 to 59 frame countdown per fighter. The disassembler of the time hid the instructions that gave it away. Three other early patches were wrong too. None of them ever ran, for an unrelated reason.

    Finding RE.1 Refuted
    Rev. A

References

2
  1. QL-0021

    Testing a PS2 game with no one at the controller

    How the Tekken 4 project proves changes in game without a person playing: PCSX2 is booted by script, steered with synthetic key presses, and asked for savestates, which hold all 32 MB of main memory plus sound and video memory. Every in-game result in the project was produced this way, with rules learned from the times it went wrong.

    Reference RE.3
    Rev. A
  2. QL-0013

    Tekken 4 (PS2): a map of what’s known

    A status map of the Tekken 4 (PS2) teardown as of 2026-10-22: what is decoded and proven in game, what is decoded but unproven, what is partly understood and what is still unknown, across the archive, movesets, characters, stages and sound. Also the claims that turned out wrong, and the open problems in order of how much they block.

    Reference RE.3
    Rev. A

Journal

15 changes

Every entry added and every revision made, newest first: the record of how the work went.

  1. Revision B 0020 Tekken 4’s sound system, from the hidden driver to the music tables Evidence lowered from verified to reproduced until the author re-checks the write-up himself; the byte-level and in-game checks were run by AI sessions.
  2. Revision B 0018 Tekken 4 ignores a wall whose faces wind against their normal Evidence lowered from verified to reproduced until the author re-checks the write-up himself; the byte-level and in-game checks were run by AI sessions.
  3. Revision B 0016 Tekken 4’s stage format, and building a new stage from scratch Evidence lowered from verified to reproduced until the author re-checks the write-up himself; the byte-level and in-game checks were run by AI sessions.
  4. Revision B 0015 Tekken 4’s moveset files, decoded and edited in game Evidence lowered from verified to reproduced until the author re-checks the write-up himself; the byte-level and in-game checks were run by AI sessions.
  5. Revision B 0014 Tekken 4’s 2.57 GB archive keeps its index in the executable Evidence lowered from verified to reproduced until the author re-checks the write-up himself; the byte-level and in-game checks were run by AI sessions.
  6. New 0022 The “round timer” patch that was really editing rand() % 60
  7. New 0021 Testing a PS2 game with no one at the controller
  8. New 0020 Tekken 4’s sound system, from the hidden driver to the music tables
  9. New 0019 Tekken 4’s character models, and editing them in place
  10. New 0018 Tekken 4 ignores a wall whose faces wind against their normal
  11. New 0017 How large can a Tekken 4 stage be? Bigger than predicted
  12. New 0016 Tekken 4’s stage format, and building a new stage from scratch
  13. New 0015 Tekken 4’s moveset files, decoded and edited in game
  14. New 0014 Tekken 4’s 2.57 GB archive keeps its index in the executable
  15. New 0013 Tekken 4 (PS2): a map of what’s known

↑ ↓ move, Enter open Search with filters