{"id":35788133,"url":"https://github.com/ricardoquesada/regenerator2000","last_synced_at":"2026-04-23T02:02:42.283Z","repository":{"id":330453505,"uuid":"1120157666","full_name":"ricardoquesada/regenerator2000","owner":"ricardoquesada","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!","archived":false,"fork":false,"pushed_at":"2026-04-16T14:59:57.000Z","size":28925,"stargazers_count":150,"open_issues_count":3,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-16T16:29:40.592Z","etag":null,"topics":["6502","6502-disassembly","commodore-64","commodore64","disassembler","mcp-server"],"latest_commit_sha":null,"homepage":"http://regenerator2000.readthedocs.io/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ricardoquesada.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-20T15:56:50.000Z","updated_at":"2026-04-16T15:00:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"a665cc6b-fd13-4097-aa70-b1e8852a2024","html_url":"https://github.com/ricardoquesada/regenerator2000","commit_stats":null,"previous_names":["ricardoquesada/regenerator2000"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/ricardoquesada/regenerator2000","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardoquesada%2Fregenerator2000","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardoquesada%2Fregenerator2000/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardoquesada%2Fregenerator2000/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardoquesada%2Fregenerator2000/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ricardoquesada","download_url":"https://codeload.github.com/ricardoquesada/regenerator2000/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricardoquesada%2Fregenerator2000/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32161330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T17:06:48.269Z","status":"ssl_error","status_checked_at":"2026-04-22T17:06:19.037Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["6502","6502-disassembly","commodore-64","commodore64","disassembler","mcp-server"],"created_at":"2026-01-07T07:21:45.484Z","updated_at":"2026-04-23T02:02:42.275Z","avatar_url":"https://github.com/ricardoquesada.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Regenerator 2000\n\n![Rust](https://github.com/ricardoquesada/regenerator2000/actions/workflows/rust.yml/badge.svg)\n[![Crates.io Version](https://img.shields.io/crates/v/regenerator2000)](https://crates.io/crates/regenerator2000)\n[![discord](https://img.shields.io/discord/775177861665521725.svg)](https://discord.gg/r5aMn6Cw5q)\n\n![logo](docs/regenerator2000_logo.png)\n\nA 6502 disassembler with a TUI. A modern take on [Regenerator][regenerator].\n\n[regenerator]: https://csdb.dk/release/?id=247992\n\n## Features\n\nRegenerator 2000 brings modern conveniences to 6502 disassembly:\n\n- **Disassembly**: Full 6502 support including undocumented opcodes.\n- **Hex Dump**:\n  - Side-by-side view with disassembly.\n  - Synchronized or independent navigation.\n  - Unshifted or Shifted PETSCII and Screencode charset.\n- **Sprites**:\n  - Side-by-side view with disassembly.\n  - Multicolor or Single Color\n- **Bitmap**:\n  - Side-by-side view with disassembly.\n  - High-Resolution (320x200) and Multicolor (160x200).\n  - Uses quadrant-block rendering for full resolution in TUI.\n- **Charset**:\n  - Side-by-side view with disassembly.\n  - Multicolor or Single Color\n- **Blocks**:\n  - Side-by-side view with disassembly.\n- **Debugger**: Connect to VICE for live disassembly, breakpoints, run/step (F2–F9); Debugger panel in the right pane.\n- **Mini map**: Mini map of the file being analyzed.\n- **Platforms**: Supports Commodore 8-bit machines like C64, C128, Plus/4, etc.\n- **Import**: Load the following file formats\n  - PRG: PRG files\n  - CRT: Cartridge images with bank selection support\n  - D64: 35/40-track disk images\n  - D71: 70-track double-sided disk images\n  - D81: 80-track disk images\n  - T64: Tape images\n  - VSf: VICE Session files\n  - RAW / BIN: Raw binaries files\n  - DIS65: 6502bench project files\n  - REGEN2000PROJ: Regenerator 2000 project files\n- **Export** to .asm or HTML. Supported assemblers:\n  - **64tass**\n  - **ACME**\n  - **Kick Assembler**\n  - **ca65**\n- **Project Management**: Save and load your work\n- **Analysis**: Auto-analysis to identify code and data regions.\n- **Editing**:\n  - **Labels**: Add, edit, and remove local and global labels.\n  - **Comments**: Add side comments and line comments.\n  - **Origin**: Change the load address/origin of the binary.\n  - **Data Types**: Convert regions to Code, Byte, Word, Address, Lo/Hi Address, Hi/Lo Address, PETSCII Text,\n    Screencode Text, External file or Unknown.\n  - **Undo/Redo**: Full history support for all actions.\n- **Navigation**:\n  - **Jump**: Go to specific addresses, specific line numbers, or follow\n    operands.\n  - **X-Ref**: Inspect cross-references for labels/addresses.\n  - **History**: Navigate back to previous locations.\n- **Customization**:\n  - Configure document settings (max x-refs, platform, assembler).\n  - Customizable display options (show/hide all labels, etc.).\n- **TUI**:\n  - Text User interface\n  - Everything can be done from the keyboard\n  - **Visual Mode**: Vim-like selection for batch operations.\n- **MCP Server**:\n  - Model Context Protocol (MCP) server support for programmatic access\n  - HTTP and stdio transport modes\n  - Tools for disassembly manipulation, memory search, block operations\n  - Resources for accessing binary data and views\n- **Fast**:\n  - Extremely fast\n\n![hexdump screenshot](docs/regenerator2000_hexdump_screenshot.png)\n![charset screenshot](docs/regenerator2000_charset_screenshot.png)\n![sprites screenshot](docs/regenerator2000_sprites_screenshot.png)\n![bitmap screenshot](docs/regenerator2000_bitmap_screenshot.png)\n![debugger screenshot](docs/regenerator2000_debugger_screenshot.png)\n\n## Requirements\n\n### Recommended Terminals\n\nTo ensure the best experience, especially regarding keyboard shortcuts and rendering, we recommend using a modern\nterminal.\n\n| Platform    | Recommended Terminals                              |\n| :---------- | :------------------------------------------------- |\n| **Windows** | Windows Terminal, Alacritty, WezTerm               |\n| **macOS**   | iTerm2, Ghostty, Alacritty, kitty, WezTerm         |\n| **Linux**   | Ghostty, Alacritty, kitty, WezTerm, GNOME Terminal |\n\n## Installation\n\n### From Crates.io\n\n```bash\ncargo install regenerator2000\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/ricardoquesada/regenerator2000.git\ncd regenerator2000\ncargo install --path .\n```\n\n## Usage\n\nStart the application with an optional file to load:\n\n```bash\nregenerator2000 [OPTIONS] [path/to/file.prg]\n```\n\n## CLI Options\n\n-   `--help`: Print help message\n-   `--version`: Print version information\n-   `--import_lbl \u003cPATH\u003e`: Import VICE labels from the specified file\n-   `--export_lbl \u003cPATH\u003e`: Export labels to the specified file (after analysis/import)\n-   `--export_asm \u003cPATH\u003e`: Export assembly to the specified file (after analysis/import)\n-   `--assembler \u003cNAME\u003e`: Override the assembler format for export. Valid values: `64tass`, `acme`, `ca65`, `kick`\n-   `--headless`: Run in headless mode (no TUI), useful for batch processing\n-   `--verify`: Verify export roundtrip (export → assemble → diff) for all assemblers. Implies `--headless`\n-   `--mcp-server`: Run MCP server (HTTP on port 3000)\n-   `--mcp-server-stdio`: Run MCP server via stdio\n-   `--vice \u003cHOST:PORT\u003e`: Auto-connect to VICE binary monitor at startup (e.g. `--vice localhost:6502`)\n\nSupported file formats: `.prg`, `.crt`, `.d64`, `.d71`, `.d81`, `.t64`, `.vsf`, 6502bench (`.dis65`), `.bin`, `.raw`, and `.regen2000proj`.\n\n## Keyboard Shortcuts\n\nAll the keyboad shortcuts are documented here: [keyboard_shorcuts](https://regenerator2000.readthedocs.io/en/latest/keyboard_shortcuts/)\n\n\n## Support and Documentation\n\n- [Documentation](http://regenerator2000.readthedocs.io/)\n- [Support in Discord][discord] (join the #regenerator2000 channel, under \"Misc Projects\")\n\n[discord]: https://discord.gg/r5aMn6Cw5q\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Acknowledgements\n\n- [Regenerator][regenerator]: The original 6502 disassembler for Windows.\n- [64tass][64tass], [ACME][ACME], [Kick Assembler][Kick Assembler], [ca65][ca65] : Supported assemblers.\n\n[64tass]: https://tass64.sourceforge.net/\n[ACME]: https://sourceforge.net/projects/acme-crossass/\n[Kick Assembler]: http://www.theweb.dk/KickAssembler/\n[ca65]: https://cc65.github.io/\n\n## License\n\nDual license: MIT and Apache 2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricardoquesada%2Fregenerator2000","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricardoquesada%2Fregenerator2000","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricardoquesada%2Fregenerator2000/lists"}