Skip to content

mstan/FaxanaduRecomp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FaxanaduRecomp

Static recompilation of Faxanadu (NES) for native PC. Built with the NESRecomp framework.

Status: Playable. The game runs from title screen through credits. No outstanding known bugs. Not 100% playtested — minor edge cases may exist, but normal gameplay is fully functional.

FaxanaduRecomp showcase

Quick Start

  1. Download FaxanaduRecomp-windows-x64.zip from Releases
  2. Extract and run FaxanaduRecomp.exe
  3. Select your Faxanadu (USA) ROM when prompted — the path is saved for future launches

Controls

NES Button Keyboard
D-Pad Arrow keys
A Z
B X
Start Enter
Select Right Shift

Mantra (Password) Features

Faxanadu uses a mantra system instead of battery-backed saves. FaxanaduRecomp adds convenience features around this:

Auto-load — On startup, the game reads saves.txt (next to the exe) and auto-fills the most recent mantra on the password entry screen. No need to write down or retype passwords.

CLI override--password STRING overrides the saves.txt mantra for a single session.

FaxanaduRecomp.exe [ROM] --password "k8fPcv?,TwSYzGZQhMIQhCEA"

saves.txt format — One mantra per line, most recent first. Human-readable and copy-pasteable. You can edit this file manually to add or change your saved mantra.

Note: Auto-saving mantras from the priest dialog is not yet implemented. For now, write the mantra shown by the priest into saves.txt manually, or pass it via --password.

Save States

Key Action
F5 Toggle turbo (fast-forward)
F6 Save state → C:\temp\quicksave.sav
F7 Load state ← C:\temp\quicksave.sav

ROM

Field Value
Title Faxanadu (USA)
CRC32 57DD23D1 (ROM data only, iNES header excluded)
MD5 b3bb9296b5e1e0c83e90b6da9e8a41aa (ROM data only)
SHA-1 5b05c8859f356013d37f0545f5de5fa1693da5da (ROM data only)

Building from Source

Prerequisites: Windows 10+, Visual Studio 2022, CMake 3.20+ (SDL2 is bundled)

git clone --recurse-submodules https://github.com/mstan/FaxanaduRecomp
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

Architecture

This is a static recompiler, not an emulator. The 6502 machine code in the ROM has been translated to C by NESRecomp and compiled to native x64.

File Purpose
extras.c Faxanadu-specific hooks (mantra injection, auto-load)
game.cfg Recompiler config (dispatch tables, trampolines)
baserom_annotations.csv Address annotations for generated code
generated/faxanadu_full.c Recompiled 6502 code (committed)
generated/faxanadu_dispatch.c Dispatch table (committed)
reference/ Reference screenshots for visual regression

About

Static recompilation of Faxanadu (NES) for native PC, built with NESRecomp framework

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors