freshcrate
Home > MCP Servers > regenerator2000

regenerator2000

An interactive disassembler for the CPU 6502, focused mostly on Commodore 8-bit computers. Features a TUI with modern features like x-ref, undo/redo, arrows, keyboard-driven, mcp server, VICE debugger

Description

An interactive disassembler for the CPU 6502, focused mostly on Commodore 8-bit computers. Features a TUI with modern features like x-ref, undo/redo, arrows, keyboard-driven, mcp server, VICE debugger and more!

README

Regenerator 2000

Rust Crates.io Version discord

logo

A 6502 disassembler with a TUI. A modern take on Regenerator.

Features

Regenerator 2000 brings modern conveniences to 6502 disassembly:

  • Disassembly: Full 6502 support including undocumented opcodes.
  • Hex Dump:
    • Side-by-side view with disassembly.
    • Synchronized or independent navigation.
    • Unshifted or Shifted PETSCII and Screencode charset.
  • Sprites:
    • Side-by-side view with disassembly.
    • Multicolor or Single Color
  • Bitmap:
    • Side-by-side view with disassembly.
    • High-Resolution (320x200) and Multicolor (160x200).
    • Uses quadrant-block rendering for full resolution in TUI.
  • Charset:
    • Side-by-side view with disassembly.
    • Multicolor or Single Color
  • Blocks:
    • Side-by-side view with disassembly.
  • Debugger: Connect to VICE for live disassembly, breakpoints, run/step (F2–F9); Debugger panel in the right pane.
  • Mini map: Mini map of the file being analyzed.
  • Platforms: Supports Commodore 8-bit machines like C64, C128, Plus/4, etc.
  • Import: Load the following file formats
    • PRG: PRG files
    • CRT: Cartridge images with bank selection support
    • D64: 35/40-track disk images
    • D71: 70-track double-sided disk images
    • D81: 80-track disk images
    • T64: Tape images
    • VSf: VICE Session files
    • RAW / BIN: Raw binaries files
    • DIS65: 6502bench project files
    • REGEN2000PROJ: Regenerator 2000 project files
  • Export to .asm or HTML. Supported assemblers:
    • 64tass
    • ACME
    • Kick Assembler
    • ca65
  • Project Management: Save and load your work
  • Analysis: Auto-analysis to identify code and data regions.
  • Editing:
    • Labels: Add, edit, and remove local and global labels.
    • Comments: Add side comments and line comments.
    • Origin: Change the load address/origin of the binary.
    • Data Types: Convert regions to Code, Byte, Word, Address, Lo/Hi Address, Hi/Lo Address, PETSCII Text, Screencode Text, External file or Unknown.
    • Undo/Redo: Full history support for all actions.
  • Navigation:
    • Jump: Go to specific addresses, specific line numbers, or follow operands.
    • X-Ref: Inspect cross-references for labels/addresses.
    • History: Navigate back to previous locations.
  • Customization:
    • Configure document settings (max x-refs, platform, assembler).
    • Customizable display options (show/hide all labels, etc.).
  • TUI:
    • Text User interface
    • Everything can be done from the keyboard
    • Visual Mode: Vim-like selection for batch operations.
  • MCP Server:
    • Model Context Protocol (MCP) server support for programmatic access
    • HTTP and stdio transport modes
    • Tools for disassembly manipulation, memory search, block operations
    • Resources for accessing binary data and views
  • Fast:
    • Extremely fast

hexdump screenshot charset screenshot sprites screenshot bitmap screenshot debugger screenshot

Requirements

Recommended Terminals

To ensure the best experience, especially regarding keyboard shortcuts and rendering, we recommend using a modern terminal.

Platform Recommended Terminals
Windows Windows Terminal, Alacritty, WezTerm
macOS iTerm2, Ghostty, Alacritty, kitty, WezTerm
Linux Ghostty, Alacritty, kitty, WezTerm, GNOME Terminal

Installation

From Crates.io

cargo install regenerator2000

From Source

git clone https://github.com/ricardoquesada/regenerator2000.git
cd regenerator2000
cargo install --path .

Usage

Start the application with an optional file to load:

regenerator2000 [OPTIONS] [path/to/file.prg]

CLI Options

  • --help: Print help message
  • --version: Print version information
  • --import_lbl <PATH>: Import VICE labels from the specified file
  • --export_lbl <PATH>: Export labels to the specified file (after analysis/import)
  • --export_asm <PATH>: Export assembly to the specified file (after analysis/import)
  • --assembler <NAME>: Override the assembler format for export. Valid values: 64tass, acme, ca65, kick
  • --headless: Run in headless mode (no TUI), useful for batch processing
  • --verify: Verify export roundtrip (export → assemble → diff) for all assemblers. Implies --headless
  • --mcp-server: Run MCP server (HTTP on port 3000)
  • --mcp-server-stdio: Run MCP server via stdio
  • --vice <HOST:PORT>: Auto-connect to VICE binary monitor at startup (e.g. --vice localhost:6502)

Supported file formats: .prg, .crt, .d64, .d71, .d81, .t64, .vsf, 6502bench (.dis65), .bin, .raw, and .regen2000proj.

Keyboard Shortcuts

All the keyboad shortcuts are documented here: keyboard_shorcuts

Support and Documentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgements

License

Dual license: MIT and Apache 2

Release History

VersionChangesUrgencyDate
v0.9.9## [0.9.9] - 2026-04-15 ### Features - **Disassembly**: Add `.fill` directive support for contiguous identical byte runs (configurable threshold, default 8); runs are suppressed when a cross-reference, line-comment, or side-comment is present at any interior address. Assembler-specific directives: `.fill` (64tass, KickAssembler), `!fill` (ACME), `.res` (ca65). - **UI**: Add drag-to-select and Shift+Click mouse selection in the disassembly view. - **HTML Export**: Show assembler-specific High4/15/2026
v0.9.8## [0.9.8] - 2026-04-11 ### Features - **UI**: Implement interactive cursor navigation and text editing capabilities in all dialog prompts. - **HTML Export**: Added assembler homepage hyperlinks to generated HTML headers. - **HTML Export**: Improved aesthetics to match GitHub themes and implemented clickable instruction anchors. ### Fixes - **Core**: Split transient export paths for ASM and HTML configurations. - **Core**: Prevent internal side comment propagation in nested AddresHigh4/11/2026
v0.9.7## [0.9.7] - 2026-04-10 ### Features - **HTML Export**: Added standalone HTML external file modules, inline hyperlink navigation, anchors, theme toggling, anchors, variable links, and dynamic layout logic. - **Import**: Automatically suggest entry points by parsing SYS addresses in multi-line BASIC PRGs. - **Navigation**: Added support for directory navigation history and parent folder rules in open dialogs. - **Agent**: Added skill to parse BASIC tokens. ### Fixes - **UI**: AddedMedium4/11/2026
v0.9.6## [0.9.6] - 2026-04-04 ### Features - **Import**: Automatically detect platform from VSF header and suggest entry point by parsing SYS address in PRG files. - **Import**: New Import Context dialog that asks for Platform, Origin, Entry Point when importing a new file. - **UI**: Added local/global scope selection to the label dialog. - **UI**: Implemented mouse interaction for the minimap to navigate the disassembly view. ### Fixes - **UI**: Fixed `LocalOrGlobalAddr` label heuristiHigh4/5/2026
v0.9.5## [0.9.5] - 2026-03-31 ### Features - **Project**: Added support for 6502bench (`.dis65`) project files. - **Navigation**: Added support for "Disassemble address" (keyboard shortcut 'd') and flow analysis for code block detection. - **UI**: Added a high-precision horizontal minimap bar with sub-character precision ticks. - **UI**: Added configurable default block type and updated TUI settings menu. - **UI**: Dim unexplored code blocks in disassembly view. ### Fixes - **UI**: FixMedium4/1/2026
v0.9.4## [0.9.4] - 2026-03-26 ### Features - **Debugger**: Highlight changed register, memory, and vector values in the debugger view by comparing with previous state. - **Exporter**: Place long labels on their own row in exported `.asm` files for better readability. ### Fixes - **UI**: Show the offending address and valid range in the status bar when jump-to-address or jump-to-line targets are out of range (e.g. `Address $FE00 out of range ($0801-$2800)`). - **Exporter**: Fix screencodeMedium3/26/2026
v0.9.3## [0.9.3] - 2026-03-23 ### Features - **Debugger**: Added memory dump viewer to the debugger UI. - **Scopes**: Added comprehensive support across 64tass, ca65, and KickAssembler. Scope is like a namespace, think of ".proc" / ".endproc" in ca65. - **Scopes**: Added TUI support for adding, renaming, and deleting scopes with proper indentation, splitters, gutters, boundaries, and default `scope_{ADDRESS}` auto-generated labels. - **MCP Server**: Added `r2000_add_scope` MCP tool. - **UI**Medium3/23/2026
v0.9.2## [0.9.2] - 2026-03-16 ### Features - **UI**: Added a check to avoid drawing bookmark tags on wrapped label lines to reduce visual noise. ### Refactor / Internal - **Crate Renaming**: Renamed internal crates `regenerator-core` and `regenerator-tui` to `regenerator2000-core` and `regenerator2000-tui` for consistency with the project name. - **Documentation**: Updated all documentation and agent instructions to reflect the new crate names and structure.Low3/16/2026
v0.9.1## [0.9.1] - 2026-03-15 ### Features - **UI**: Added a new TUI logo. ### Refactor / Internal - **System Assets**: Relocated system definition assets to `regenerator2000-core` for better separation of concerns and added new system configurations.Low3/15/2026
v0.9.0## [0.9.0] - 2026-03-15 ### Major Architectural Refactor - **Core/TUI Separation**: The project has been restructured into a multi-crate workspace: - `regenerator2000-core`: Contains all UI-agnostic logic, including state management, disassembler, analyzer, commands, and the MCP server. - `regenerator2000-tui`: Contains the terminal user interface logic, widgets, and event loop. - `regenerator2000`: The main binary crate that ties everything together. - **Improved Data Flow**: TrLow3/15/2026
v0.8.8## [0.8.8] - 2026-03-09 ### Features - Feature: **Settings**: Control automatic analysis via `auto_analyze` setting; removed file-type-based auto-analysis on file open. - Feature: **VICE Debugger**: Display watchpoint stop reason in debugger view. - Feature: **Events**: Introduce `EventOutcome` enum to control event loop flow with dedicated `KeyEvent` and `MouseEvent` handling. ### Fixes - Fix: **Testing**: Use default `SystemConfig` in `AppState::new()` to fix test flakiness from Low3/10/2026
v0.8.7## [0.8.7] - 2026-03-07 ### Features - Feature: **UI**: Long labels are now rendered on their own line above the instruction to preserve indentation. - Feature: **VICE Debugger**: Visual indicators for breakpoints and watchpoints (flashing status line, terminal bell). - Feature: **CLI**: Added `--vice` flag to auto-connect to VICE binary monitor on startup. ### Fixes - Fix: **UI**: Centered text in the unsaved changes confirmation dialog. ### Documentation - Docs: Documented Low3/8/2026
v0.8.6## [0.8.6] - 2026-03-06 ### Features - Feature: **Themes**: Added Nord, Catppuccin Mocha, and Catppuccin Latte themes. - Feature: **Themes**: Default theme changed to Dracula; added left/right arrow cycling in theme selector. - Feature: **UI**: Added blinking cursor to all input dialogs. - Feature: **Project**: Added version field and migration logic to `.regen2000proj` file format. ### Fixes - Fix: **UI**: Improved dialog UX consistency (theming, centering, dead code cleanup). -Low3/7/2026
v0.8.5Release v0.8.5Low3/6/2026
v0.8.4Release v0.8.4Low3/3/2026
v0.8.3Release v0.8.3Low3/2/2026
v0.8.2## [0.8.2] - 2026-02-28 ### Documentation - Docs: Updated `index.md` and `tutorial.md` with comprehensive VICE debugger workflow and documentation. - Examples: Added more detailed comments and descriptions to example projects. ### Refactor / Internal - MCP: Simplified MCP server tools by consolidating and renaming them to reduce context and improve agent reliability. - Agent: Updated `r2000-analyze-blocks`, `r2000-analyze-symbol`, and `r2000-analyze-routine` skills to follow best pLow2/28/2026
v0.8.1Release v0.8.1Low2/26/2026
v0.8.0Release v0.8.0Low2/23/2026
v0.7.2## [0.7.2] - 2026-02-18 ### Features - Feature: **Disassembly View**: Improved arrow visualization for jump instructions (restored full arrows). ### Documentation - Docs: Improved documentation structure and readability (MkDocs, Homepage, and Tutorials). ### Refactor / Internal - Agent: Added `r2000-analyze-symbol` and `r2000-analyze-blocks` skills. - Agent: Renamed skills to use `r2000` prefix to avoid conflicts. - Agent: `r2000-analyze-routine` skill now uses platform experLow2/19/2026
v0.7.1Release v0.7.1Low2/18/2026
v0.7.0Release v0.7.0Low2/16/2026
v0.6.6Release v0.6.6Low2/11/2026
v0.6.5Release v0.6.5Low2/11/2026
v0.6.4Release v0.6.4Low2/9/2026
v0.6.3Release v0.6.3Low2/7/2026
v0.6.2Release v0.6.2Low2/6/2026
v0.6.1Release v0.6.1Low2/2/2026
v0.6.0Release v0.6.0Low1/30/2026
v0.5.2Release v0.5.2Low1/27/2026
v0.5.1Release v0.5.1Low1/27/2026
v0.5.0Release v0.5.0Low1/24/2026
v0.4.1Release v0.4.1Low1/21/2026
v0.4.0Release v0.4.0Low1/20/2026
v0.3.0Release v0.3.0Low1/10/2026
v0.2.2Release v0.2.2Low1/7/2026
v0.2.1Release v0.2.1Low1/6/2026
v0.2.0Release v0.2.0Low1/6/2026
v0.1.2Release v0.1.2Low1/5/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

h5iNext-Gen AI-Aware Gitv0.1.1
excel-cli📊 Convert Excel files to multiple formats like JSON, CSV, and SQL with this powerful Rust CLI tool, offering speed, flexibility, and easy customization.master@2026-04-21
mcp-reticle📊 Analyze and visualize Model Context Protocol (MCP) traffic with RETICLE, your Wireshark-like tool for better network insights.main@2026-04-21
mycopScan and fix vulnerabilities in Python, JavaScript, TypeScript, Go, and Java code using AI-powered analysis with 200 built-in security rules.main@2026-04-21
turbovaultMarkdown and OFM SDK w/ MCP server that transforms your Obsidian vault into an intelligent knowledge systemv1.4.1