Skip to content

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 and more!

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

ricardoquesada/regenerator2000

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.
  • Platforms: Supports Commodore 8-bit machines like C64, C128, Plus/4, etc.
  • Import: Load .prg, .crt, .d64, .d71, .d81, .t64, .vsf, .bin, .raw, and .regen2000proj files.
    • D64: 35/40-track disk images
    • D71: 70-track double-sided disk images
    • D81: 80-track disk images
    • CRT: Cartridge images with bank selection support
  • Export: Generate compatible assembly source code for:
    • 64tass
    • ACME
    • Kick Assembler
    • ca65
  • Project Management: Save and load your work with .regen2000proj files.
  • 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 blocks 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)
  • --headless: Run in headless mode (no TUI), useful for batch processing
  • --mcp-server: Run MCP server (HTTP on port 3000)
  • --mcp-server-stdio: Run MCP server via stdio

Supported file formats: .prg, .crt, .d64, .d71, .d81, .t64, .vsf, .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

About

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 and more!

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages