[Faxanadu](https://www.mobygames.com/game/7331/faxanadu/) is a criminally under-appreciated game for the NES, combining action, platforming, and some puzzle-solving with an atmosphere you don't often see on the NES. I've been working on a project for doing a full disassembly of the game, and have found some interesting elements, including level select code and a full interaction scripting language. These pages document some of the details I've wanted to record along the way, and are being maintained alongside a full byte-for-byte documentation of the Faxanadu disassembly. # Disassembly You can find the in-progress disassembly of Faxanadu here: * [Annotated HTML source](https://chipx86.com/faxanadu/) * [Source repository (GitHub)](https://github.com/chipx86/faxanadu) * Compilable, documented source for the ROM * Mesen symbols for debugging # Inner Workings * [[Fog Generation]] * [[Interaction Scripts]] * [[Items]] * [[Levels]] * [[Magic]] * [[Music Scripts]] * [[Passwords]] * [[Player Experience]] * [[Random Numbers]] * [[Sprites]] * [[Sprite Behavior Scripts]] * [[Strings]] # Odds and Ends * [[Bugs]] * [[Debug Level Switch Code]] * [[Memory and Game Genie Codes]] # Projects The following work is all based on the in-progress disassembly for Faxanadu. * My Python library and toolset for inspecting and modifying a Faxanadu ROM: [GitHub - chipx86/faxanatools: Explore the inner workings and craft new adventures for Faxanadu for NES.](https://github.com/chipx86/faxanatools/) * Faxedit: Level editor [GitHub - kaimitai/faxedit: Echoes of Eolis: Faxanadu (NES) Editing Suite](https://github.com/kaimitai/faxedit/) * Faxedit: Level format and editor documentation: [faxedit/docs/doc.md at master · kaimitai/faxedit · GitHub](https://github.com/kaimitai/faxedit/blob/master/docs/doc.md) * FaxIScripts: Assembler/disassembler/linker for Interaction Scripts: [GitHub - kaimitai/FaxIScripts: FaxIScripts - IScript Assembler, Disassembler and Linker](https://github.com/kaimitai/FaxIScripts) # Following My Work I'm in the [Faxanadu Randomizer and Romhacking Discord](https://discord.gg/b4hZqjh3nF). I'll be writing from time to time on: * [chipx86.blog](https://chipx86.blog) * [Bluesky](https://bsky.app/profile/chipx86.com) * [Twitter/X](https://x.com/chipx86) * [Mastodon](https://mastodon.online/@chipx86) And I'm here as well: * [LinkedIn](https://www.linkedin.com/in/chipx86/) * [GitHub](https://github.com/chipx86/) * [Buy Me A Coffee](https://buymeacoffee.com/chipx86)