# 13 — Modern Tool Incompatibility

Common methodological error: reaching for **UndertaleModTool** (UTMT) or **Altar.NET** to extract a 5.3a `.exe`. Will always fail. Here is exactly why.

## Architectural mismatch

| Aspect | GameMaker 5.3a | GameMaker Studio (GMS1/GMS2) |
|---|---|---|
| Runner | Delphi 5 stub + appended payload | Standalone runner reading `data.win` / `runner.data` |
| Asset format | Sequential ZLIB-serialized `.gmd` blob | Chunk-based archive with `FORM` magic header |
| Code | Interpreted GML in stack VM | YYC native C++ **or** bytecode VM |
| Internal chunks | None — one monolithic blob with ordered blocks | Discrete tagged chunks: `GEN8` / `TXTR` / `CODE` / `SPRT` / `OBJT` / etc. |

UTMT and Altar.NET parse by hunting for a `FORM` magic header at a known offset, then walking tagged chunks. **A 5.3a `.exe` has no FORM header anywhere** — the parser fails immediately on signature mismatch.

## Symptom signatures (when you see these, switch tools)

- "FORM header not found"
- "Unrecognized data format"
- "Not a valid GameMaker file"
- Tool opens but shows zero assets / errors on every chunk attempt

## Use the era-appropriate tools

For 5.3a, only:

- [10-tool-gm-decompiler-v21](10-tool-gm-decompiler-v21.md) (static)
- [09-tool-gmd-recovery](09-tool-gmd-recovery.md) (dynamic)
- [11-tool-lateralgm](11-tool-lateralgm.md) (parsing/editing the `.gmd` after extraction)

## See also

- [01-runner-architecture](01-runner-architecture.md)
- [03-gmd-format](03-gmd-format.md)
- [15-extraction-pipeline](15-extraction-pipeline.md)
