# Fun Facts from the Code

Things the decompilation revealed — every one of these is verifiable in the
package (grep `strings.txt` or open the cited function).

## The retail disc is a developer build with the switches off

- The game still knows how to load every asset from
  `host0:/home/xeno/work/` — the host filesystem of a **Sony DTL-T10000
  devkit**. The disc-I/O layer (`SRD_*`) has a runtime `DVD | HOST` switch
  that shipped intact.
- Graphics test scenes are still compiled in: `BlendTest.euc.c`,
  `CullingTest.euc.c`, `ScisTest.euc.c`, `CFLLightTest.euc.c`,
  `XstAnimTest.euc.c` — plus internal tools `EventViewer.euc.c` and
  `MotionViewer.euc.c`, and a heap-dump debug printer
  (`"heap = %p top = %p size = %d"`). All almost certainly reachable again
  with a flag flip.
- `OV04.OVL` is a whole **cheat/debug overlay** with the codes sitting in
  plain text: `LRLRLR88224466Z` (free all stages), `UDLR8246Z` (sound test),
  `2648LLLLRRRRZ` (secret stage), plus `EDIT UNLIMITED!`, `MASTER CODE ON!`,
  and mode switches for `PHOTO MODE!`, `DEBUG MODE!`, `RETAIL MODE!`.

## You can read the dev team's working directories

Hardcoded debug asset paths reveal individual developers' folders:
`xeno/work/iwase/` (character animation — `kosmos00.xap`, `shionH00.pxy`),
`xeno/work/tetsuya/chara/` (character models, with a `C3kosmos01.pxy`-style
numeric character-ID scheme), and a shared `xeno/work/_particle/`.

## The error codes contain dates

Monolith's error-code convention embeds `YYYYMMDD`: `E2005012801` means that
subsystem's error table was revised 2005-01-28. Grepping
`E[12]0[0-9]{8}` effectively gives you a **timeline of engine development**.
The CRI video middleware is all stamped `Aug 9 2005, 14:26` — one build
sweep, eleven months before the July 2006 US release.

## "Illigal" — 22 times

The misspelling *"Illigal parameter"* appears 22 times, in both CRI's
licensed middleware **and** Monolith's own code. It's a period
Japanese-games-industry idiom, not one programmer's typo — and it's a
fantastic grep anchor for finding error-handling paths.

## KOS-MOS is a struct field

She appears as a literal C identifier: retail assertion strings reference
`pKosmos` (and `pChaos`). They're the only two characters whose engine
pointers survive by name — there is no `pShion`; don't go looking.

## credit.bin is not the credits

It's the **memory-card save illustration container** — 348 JPEGs. The
credits/menu overlay (`OV01.OVL`) loads it, hence the misleading name. OV01's
only other notable string is a tiny script command: `$init;`.

## Sega's Dreamcast library lives inside a PS2 game

Functions with the `nj*` prefix come from **Sega's Ninja library**
(`njPlane`, `njString`) — Dreamcast-era licensed code Monolith carried
forward.

## Languages that never shipped

The locale table includes entries for languages absent from the US release —
the build pipeline was multi-region even though only one region's data was
mastered.

## The GPU code hides inside the CPU executable

8 KB of **VU1 rendering microcode** (28 microprograms, 29 `XGKICK` packet
fires) is stored in the executable's `.vutext` section and DMA'd to the
vector unit at runtime — the rendering kernels for every draw call,
disassembled in this package as `slus/vutext.s`.

## Sources were EUC-JP, and the filenames say so

Every recovered source filename ends `.euc.c` — an early-2000s Japanese
convention marking files containing EUC-JP-encoded Japanese text (comments
and assert messages), from a world before UTF-8 won.

## The main executable smuggles an overlay

The SLUS ELF physically **embeds the OV01 overlay image** inside itself as a
load segment at the shared overlay address — the overlay window is never
empty, and `main()`'s very first subsystem call jumps into it. The "separate"
OV01.OVL file on disc is the same image.
