Rage of the Dragons - native static recompilation
Windows x64 release

This package contains the recompiled player and the tools needed to prepare
your own ROMs. It contains no game ROMs, BIOS files or ROM-derived data.

QUICK START
-----------
1. You need your own legally obtained MAME sets rotd.zip and neogeo.zip.
2. Open a command prompt in this folder and run:

       prepare-roms.bat C:\path\to\rotd.zip C:\path\to\neogeo.zip

   This verifies the CRCs, decrypts the CMC50/PCM2 data and writes the files
   to .\roms (including the MVS BIOS).
3. Run:

       rotd.exe --rom-path roms

The player also accepts --bios-path, --bios FILE, --headless, --frames N,
--input FILE, --interp, --verify, --screenshot N:FILE, --scale N and
--record FILE.mp4. See the project README for details.

CONTROLS
--------
Move        Arrow keys / D-pad or left stick
A B C D     Z X C V / Xbox A B X Y
Start       1 / Start
Coin        5 / Back (View)
Select      3 / left shoulder
Quit        Esc

Fullscreen: set NEOGEORECOMP_FULLSCREEN=1 before launching. The renderer keeps
the Neo Geo 320x224 aspect ratio and letterboxes rather than stretching.

BUILD
-----
Built with MSVC x64 (Visual Studio 2026), CMake, SDL2 2.32.6, and the vendored
neogeorecomp v0.2.0 toolkit. Recompiled code: 182,056 instructions, 6,523
routines, 11,111 dispatch entries.

VERIFIED
--------
Headless scripted gameplay (coin, start, select, match, rematch): 2,610,360
blocks checked with --verify, 0 mismatches, 76 interpreted instructions.
A 24,000-frame Linux soak checked 13,267,403 blocks with 0 mismatches and 190
interpreted instructions (a routine copied into work RAM at $10FC00).

LIMITATIONS
-----------
- Tested on Windows x64 on this machine; not a full playthrough.
- The static recompiler analyzes the fixed 1 MB and the first banked MB of the
  8 MB P ROM. Code reached in later banks falls back to the Musashi interpreter.
- Code copied to work RAM is interpreted (190 instructions in the long soak).
- --verify checks CPU state, not event scheduling. Native Windows and Linux
  frames are byte-identical, but in-game frames can drift slightly from a
  --interp run because the event timer can fall on a different block boundary.
- No settings menu or button remapping.

LICENSING
---------
Original project code: PolyForm Noncommercial 1.0.0 (see LICENSE).
neogeorecomp and Musashi/z80/miniz: MIT. ymfm and the CMC50/PCM2 decryption:
BSD-3-Clause. SDL2: zlib. Full texts in LICENSES/ and THIRD_PARTY_NOTICES.md.
Microsoft VC++ runtime DLLs are redistributable components of Visual Studio.

Rage of the Dragons is the property of its rights holders. This project is not
affiliated with SNK, Evoga or Playmore. Do not redistribute ROMs or ROM-derived
builds without the appropriate rights.
