A modern, cross-platform editor for The Legend of Zelda: A Link to the Past ROM hacking, built with C++23 and featuring complete Asar 65816 assembler integration.
- Cross-platform ROM patching with assembly code support
- Symbol extraction with addresses and opcodes from assembly files
- Assembly validation with comprehensive error reporting
- Modern C++ API with safe memory management
- Enhanced overworld editing capabilities
- Advanced map properties and metadata support
- Custom graphics support and tile management
- Improved compatibility with existing projects
- Theme Management: Complete theme system with 5+ built-in themes and custom theme editor
- Multi-Session Support: Work with multiple ROMs simultaneously in docked workspace
- Enhanced Welcome Screen: Themed interface with quick access to all editors
- Message Editing: Enhanced text editing interface with real-time preview
- GUI Docking: Flexible workspace management with customizable layouts
- Modern CLI: Enhanced z3ed tool with interactive TUI and subcommands
- Cross-Platform: Full support for Windows, macOS, and Linux
- Modern CMake 3.16+: Target-based configuration and build system
- CMakePresets: Development workflow presets for better productivity
- Cross-platform CI/CD: Automated builds and testing for all platforms
- Professional packaging: NSIS, DMG, and DEB/RPM installers
- Enhanced testing: ROM-dependent test separation for CI compatibility
# Clone with submodules
git clone --recursive https://github.com/scawful/yaze.git
cd yaze
# Build with CMake
cmake --preset debug # macOS
cmake -B build && cmake --build build # Linux/Windows
- yaze: Complete GUI editor for Zelda 3 ROM hacking
- z3ed: Command-line tool with interactive interface
- yaze_test: Comprehensive test suite for development
Launch the main application to edit Zelda 3 ROMs:
- Load ROM files using native file dialogs
- Edit overworld maps, dungeons, sprites, and graphics
- Apply assembly patches with integrated Asar support
- Export modifications as patches or modified ROMs
# Apply assembly patch
z3ed asar patch.asm --rom=zelda3.sfc
# Extract symbols from assembly
z3ed extract patch.asm
# Interactive mode
z3ed --tui
#include "yaze.h"
// Load ROM and apply patch
yaze_project_t* project = yaze_load_project("zelda3.sfc");
yaze_apply_asar_patch(project, "patch.asm");
yaze_save_project(project, "modified.sfc");
- Getting Started - Setup and basic usage
- Build Instructions - Building from source
- API Reference - Programming interface
- Contributing - Development guidelines
- Windows (MSVC 2019+, MinGW)
- macOS (Intel and Apple Silicon)
- Linux (GCC 13+, Clang 16+)
- Original Zelda 3 ROMs (US/Japan versions)
- ZSCustomOverworld v2/v3 enhanced overworld features
- Community ROM hacks and modifications
See Contributing Guide for development guidelines.
Community: Oracle of Secrets Discord
GNU GPL v3 - See LICENSE for details.
Takes inspiration from:
- Hyrule Magic - Original Zelda 3 editor
- ZScream - Dungeon editing capabilities
- Asar - 65816 assembler integration
Ready to hack Zelda 3? Get started now!