Regenerator 2000
The Modern 6502 Disassembler
Regenerator 2000 is a modern, interactive disassembler for the Commodore 64 and other 6502-based systems. It combines the retro feel of Turbo Debugger with the power of modern tools like IDA Pro, offering two powerful workflows:
- đšī¸ Manual Analysis â A fast, keyboard-centric terminal interface for hands-on exploration. Navigate code, define data regions, label subroutines, add comments, and iteratively refine your disassembly at your own pace.
- đ¤ Automated Analysis â A built-in MCP Server lets AI assistants drive the disassembler programmatically. Paired with purpose-built skills, it can analyze entire programs â classifying blocks, tracing routines, and naming symbols â with minimal human intervention.
Use either workflow on its own, or combine them: let the AI do a first pass, then refine the results interactively.
At a Glance
Explore the regenerative power of Regenerator 2000 through its various views:
The Code View: The heart of the operation. Navigate and disassemble code, follow jumps, and label everything.

The Data View: Inspect raw memory, spotting patterns in data and tables.

Visualizing Graphics: Instantly see 8x8 character data.

Sprite Gallery: View 24x21 sprites in all their glory.
![]()
Bitmap Mode: Visualize memory as a bitmap (HiRes or MultiColor).

Structure Analysis: See how Regenerator 2000 analyzes and segments the binary into code and data blocks.

Live Debugging: Connect to VICE, view registers, memory, breakpoints, and step through code.

Key Features
- đ 6502 & Undocumented Opcodes: Full support for the 6502 instruction set including undocumented opcodes.
- ⥠Fast TUI: Built with Rust for blazingly fast performance.
- đ§ Analysis: Automatically create labels and comments.
- âĒ Undo/Redo: Experiment without fear.
- đˇī¸ Labels & Comments: Rename subroutines and variables for readability.
- đ Scopes: Organize code with namespaces.
- đĸ Enums: Define and apply three-tiered value-to-name mappings (System, Global, Project-specific) to replace magic numbers in disassembly and data with semantic names.
- đĻ Binary Unpacker: Cycle-accurate, background 6502 emulated sandbox to automatically unpack compressed C64 programs.
- đ¨ Custom Themes: Personalize your experience with TOML-based theme files.
- đ VICE Debugger Integration: Connect to a running VICE emulator for live debugging â step through code, inspect registers, set breakpoints and watchpoints.
- đ¤ MCP Integration: Collaborate with AI assistants for deeper analysis.
- đž Project Saving: Save your work and resume later.
- đ¤ Export: Generate compilable assembly code for multiple assemblers, or HTML files for sharing. Exported HTML files include clickable cross-references for labels.
Quick Start
- Install:
- Run:
When importing a new binary, use the Import Context dialog to configure the System, Origin, and Entry Point.
- Explore:
- Move: Arrow keys, map, or jumps.
- Disassemble: Press D to start disassembling.
- Define Data: Press B
- Comment: Press ;
- Rename: Press L
Get Started Now{ .md-button .md-button--primary }
Documentation
- Installation & Usage: Setup guide.
- Views: Detailed breakdown of each view.
- Analysis: How the auto-analyzer works and label prefix reference.
- Enums: Replace magic numbers with semantic named constants.
- Binary Unpacker: Automatically decompress C64 programs.
- Keyboard Shortcuts: Master the controls.
- Debugger (VICE): Connect to VICE for live debugging.
- MCP Integration: meaningful AI collaboration.
Tutorial
A typical workflow involves loading a file, identifying code and data regions, labeling them, and iteratively refining the disassembly.
flowchart TD
S1[1. Load File] --> S2[2. Explore]
S2 --> S3[3-6. Disassemble, Define Data, Labels, Comments]
S3 --> S7[7. Save]
S3 --> S2
S7 --> Q{Debug?}
Q -- No --> S10[10. Export to .asm / .html]
Q -- Yes --> S8[8. Connect to VICE]
S8 --> S9[9. Live Debugging]
S9 --> S2
S10 --> Done[Assemble it, patch it, etc.]
For a detailed step-by-step walkthrough, check out the full tutorial.