# Resident Evil Code: Veronica X HD — Xbox 360 ReXGlue Recompilation Experimental native recompilation bring-up for the Xbox 360 version of **Resident Evil Code: Veronica X HD**, using ReXGlue and the Xenos GPU backend. > **Status:** early bring-up / codegen scaffold. This repository is not a > finished PC port and does not contain retail game code or assets. ## Target | Field | Value | |---|---| | Title | Resident Evil Code: Veronica X HD | | Title ID | `43430822` | | Media ID | `58A6EFFB` | | Region | PAL | | Internal module | `Bio_cv.exe` | | Expected XEX | `game/Default.xex` | | SHA-256 | `c552c6995462a5cefdd52c07bebd28fff4481164b19a445c636d7b54736f3c70` | | ReXGlue baseline | `0.10.0-dev.g398e2ba` | The manifest intentionally contains **no copied game-specific function addresses**. Missing PPC targets should be discovered and added from this exact XEX as bring-up progresses. ## Requirements Linux build workflow: - CMake 3.25+ - Ninja - Clang 18+ - Git - Python 3 - Vulkan loader and normal ReXGlue host dependencies The root build script can install missing dependencies automatically on Arch Linux only when explicitly run with `--install-deps`. ## Game setup Use files from your own legally obtained copy. Preserve the extracted Xbox 360 game layout below `game/` and place the supported executable at: ```text game/Default.xex ``` Verify it with: ```bash python3 scripts/inspect-xex.py game/Default.xex sha256sum game/Default.xex ``` Expected SHA-256: ```text c552c6995462a5cefdd52c07bebd28fff4481164b19a445c636d7b54736f3c70 ``` ## Build ```bash ./build.sh ``` The script bootstraps the pinned ReXGlue SDK into `.deps/rexglue-sdk`, runs codegen for `recvx_manifest.toml`, builds the host executable and stages the matching ReXGlue runtime/Xenos plugin beside it. Useful modes: ```bash ./build.sh --debug ./build.sh --release ./build.sh --clean ./build.sh --jobs 8 ./build.sh --install-deps # Arch Linux only ``` For codegen only after an SDK is available: ```bash ./scripts/codegen.sh ./scripts/codegen.sh --ignore-stamp ./scripts/codegen.sh --trace ``` ## Run and debug ```bash ./run.sh ./run.sh --debug ./run.sh --gdb ./test-boot.sh --timeout 30 -- --debug ./gdb.sh ``` `gdb.sh` breaks on ReXGlue's invalid guest-function trap and records the guest target, LR, CTR and PPC argument registers to help extend the manifest one verified function at a time. Optional first-visible-frame capture: ```bash RECVX_CAPTURE_FIRST_FRAME=logs/first-frame.ppm ./run.sh --debug ``` ## Repository layout ```text ResidentEvil-CodeVeronicaX-X360-ReXGlue/ ├── build.sh ├── run.sh ├── test-boot.sh ├── gdb.sh ├── recvx_manifest.toml ├── CMakeLists.txt ├── CMakePresets.json ├── src/ ├── generated/ # ReXGlue CMake scaffold; generated PPC C++ is ignored ├── scripts/ ├── docs/ ├── game/ # user-supplied retail files; ignored └── logs/ # local diagnostics; ignored ``` ## Bring-up methodology 1. Run normal codegen and fix validation errors before forcing output. 2. If runtime reaches an invalid PPC target, capture it with `gdb.sh`. 3. Prove the function's exact start/end in this XEX before adding it to `[entrypoint.functions]` in `recvx_manifest.toml`. 4. Re-run codegen, rebuild, and repeat from the next real failure. 5. Keep import/runtime limitations separate from missing title-specific PPC boundaries. Do not copy another title, another Capcom title, trainer, or emulator patch addresses into the manifest without verifying the exact bytes and control-flow boundaries in this XEX. ## Legal This repository contains only original project glue/tooling and ReXGlue-facing configuration. It does not include or grant rights to Resident Evil Code: Veronica X, `Default.xex`, game assets, encryption keys, or other proprietary content. Users must supply files from their own legally obtained copy. Project-authored code is licensed under **GPL-3.0-only**. ReXGlue and other third-party components retain their own licenses; see [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).