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

Every part of the game the project has looked at, how far it’s decoded, and how that was established

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.

This is the hub of the Tekken 4 teardown: a snapshot of what’s understood, kept as a reference and revised as the project moves. Each area links to the entry with the detail.

How status is judged

StatusMeans
In gameDecoded, and a change built on it worked in PCSX2 as predicted
VerifiedDecoded, and independently re-derived from the bytes (or rebuilt byte-identical), but not exercised in game
DecodedRead from code or data, not independently checked
PartialStructure known, meaning or a working tool missing
UnknownNot yet understood

The project’s rule is that “not confirmed in game” means not working, so only the first status counts as usable for modding.

The disc and archive

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

PieceStatus
The executable: plain MIPS, unencrypted, file offset = address − 0x17F000In game
DATA.BIN index (1,121 entries in the executable) and the 4 KB header transformVerified, then in game
Writing a modified disc: append files, repoint entries, keep the game’s CRCIn game
Which files the game loads for what (resolver and kind table)Verified (2,457 of 2,457 loads across 57 savestates)
Video records, the title images, records 0 and 1120Unknown
Free space in the executable for new codeUnknown

Movesets

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

PieceStatus
The LZSS codec, and an encoder the game acceptsIn game (a recompressed moveset loads bit-exact)
Character Data layout; rebuilding all 22 stock movesets byte-identicalVerified
Damage, transitions, adding a move, transplanting a whole movesetIn game
Memory limits per playerVerified (addresses); exceeding them untested in versus modes
T1 condition opcodesDecoded by hand, many partial
Tables T7, T9, T12, T14, T16–T19; hit and hurt boxes; AI dataUnknown
Animation clip encoding and the bone-to-joint mapPartial: no new animation can be made

Characters and models

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

PieceStatus
The row table (112 rows), six files per row, the character index and name tablesIn game
Adding a new fighter in the unused ”?” select cell, with name, icon, portrait and HUD nameIn game
The CHRTK4 model format, in-place vertex edits, textures inside the model fileIn game
Bone table meaning; which bone each palette slot stands forPartial
Adding vertices, meshes or bonesUnknown (needs the vector-unit microcode)
The versus-screen portrait, the intro and win-pose scripts, growing the select gridUnknown

Stages

Detail: Tekken 4’s stage format, and building a new stage from scratch, How large can a Tekken 4 stage be? Bigger than predicted, Tekken 4 ignores a wall whose faces wind against their normal.

PieceStatus
The four files per stage and the 15-section stage containerVerified
Geometry, textures in place, walls, floor and start regionsIn game (a new stage 17 built from scratch)
Stage sizeIn game up to 7.7 MB, past a predicted 7.6 MB limit
The crowd budget tableIn game
Floor flags other than plain floor; lighting types; hittable objectsPartial
Rebuilding a texture bank from scratchFails (hangs the load), cause unknown
Stages 18 to 25Decoded, not tested

Sound

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

PieceStatus
The sound driver package in the executable; unpack and repackIn game (repacked driver identical in memory)
ADPCM banks, the sound-memory map, the sound-effect tablesVerified
Music track tables, stage-to-music map; swapping and shortening tracks; replacing banksIn game (judged from memory, not by ear)
Music sample rate (44,086 Hz)Verified
Replacing an announcer line at the same lengthIn game
Which moves request which sounds; the announcer clip table; longer clipsUnknown
The ADPCM encoder against real hardwareDecoded, unverified

Claims that turned out wrong

Every desk report was checked by a second, adversarial pass that re-derived its claims from the raw bytes with independent code. The claims it refuted are kept on record, because each would have broken a mod. Among them:

  • Player 2’s moveset room is 348,416 bytes, not 504,128.
  • The rule that picks player 2’s memory layout is the reverse of what was reported.
  • The wall-collision grid is set per file, not a fixed 16×16.
  • “7.8 MB of headroom” after a stage file is live data.
  • The music runs at 44,086 Hz, not 48 kHz.
  • The common sound bank holds 205 samples, not 391.
  • The second model file (k2) is not the fight model; k3 is.
  • A moveset transition’s target move is at +0x08, not +0x0C.

Later in-game tests overturned some of the desk model’s predictions too, the stage-size limit most visibly. Earlier still, the first cheats patched the wrong code: The “round timer” patch that was really editing rand() % 60.

Open problems, by how much they block

In the roadmap of 2026-10-21, the top open problem was whether the game would accept a re-encoded moveset at all; E1 answered it the same day. Close behind were a moveset rebuilder (built and proven) and the real stage-size ceiling (pushed to at least 7.7 MB). What remains:

  1. Animation. The clip bitstream and the bone-to-joint map. Without them, a new fighter can only reuse existing animation.
  2. The rest of the moveset. Hit and hurt boxes, the undecoded tables, AI data.
  3. Memory in versus modes. Whether the stock player 2 overruns are harmless, and the true ceilings for larger fighters.
  4. More than one new fighter. Growing the select grid past 20 cells.
  5. New geometry. The vector-unit microcode, needed before models can grow.
  6. New code. A map of space in the executable for new routines.
  7. Presentation. The versus-screen portrait, intro and win-pose scripts.
  8. Media. The video codec, the title images, and the 38.9 MB record 0.

Six research lanes were opened on 2026-10-21 to work through these in parallel: clips, moves, audio, presentation, rendering and media. This map will be revised as they report.

How the work is done

Every in-game result here came from a scripted PCSX2 run with no one at the controller: Testing a PS2 game with no one at the controller.

↑ ↓ move, Enter open Search with filters