Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.9.18] - 2026-05-31

Features

  • MCP: Add r2000_disassemble tool for disassembling a range of addresses.
  • MCP: Add r2000_unpack_binary tool to unpack compressed binaries and update cursor after unpacking.
  • MCP: Add r2000_set_immediate_format tool with low/high byte format support.
  • MCP: Add binary entropy tracking to r2000_get_binary_info.
  • Hexdump: Implement SetBytesBlockByOffset action for byte-level block editing.
  • CLI: Add --dump-enum-files command and documentation for custom global enums.
  • Unpacker: Preserve document properties and settings on binary unpack.
  • Analysis: Enable automatic code block labeling and analysis during binary unpacking via MCP.

Changes

  • MCP: Update program analysis skill with pre-analysis entropy and unpacking steps.

Documentation

  • README: Add quick-start guide for AI agents and links to example documentation and showcase gallery.
  • Docs: Re-organize documentation structure.
  • Views: Fix sprite and character view cycle descriptions in keyboard shortcut tables.
  • Hexdump: Add link to original hexdump color source in views.md.

Agent / Skills

  • Skills: Improve r2000-analyze-blocks, r2000-analyze-symbol, and r2000-analyze-routine skill workflows.
  • Skills: Update program analysis skill with rolling subagent limit and pre-analysis steps.
  • Config: Add .mcp.json configuration file for Regenerator MCP integration with Claude CLI.

Examples

  • C64: Add VIC-II Colors enum to Burnin' Rubber and Moving Tubes.
  • VIC-20: Add PetsciiShifted enum usage to Omega Race.
  • C64: Add more labels, enums, and comments to Moving Tubes.

[0.9.17] - 2026-05-24

Features

  • Enums: Implement three-tier enum management and CRUD operations.
  • Enums: Track enum definition source files to persist naming and location during updates.
  • Enums: Three pre-built enums: VIC colors, VIC-II Colors, PETSCII shifted characters.
  • Labels: Add labels for entity coordinate and enemy speed mask memory addresses.

Fixes

  • Project: Reorder project feature flags and update cursor addresses.

Changes

  • Symbols: Rename Screen and Color RAM symbols to coordinates.

Refactor / Internal

  • Tests: Add direct disassembly and data formatting tests to enum_tests.

Documentation

  • Docs: Document Enums and Binary Unpacker features.
  • Docs: Remove enum requirements specification document.

Examples

  • VIC-20: Better names in example and added PetsciiShifted data types to Omega Race example.
  • Examples: Update exported games and added more labels/comments/enums.
  • C64: Moving tubes uses enums.
  • C128: Updated C128 example.

[0.9.16] - 2026-05-18

Features

  • Unpacker: Add 6502 emulation-based binary unpacker with live progress in status bar. The unpacker works in two phases. Phase 1 unpacks the code and data to memory using the CPU's execution. Phase 2 unpacks the code and data to memory using the CPU's execution. Based on logic from unp64.
  • UI: Replace String input with TextArea in search dialog for advanced text manipulation.
  • UI: Expand entropy warnings and adjust dialog dimensions for better multi-line readability.

Changes

  • UI: Move 'Unpack Binary' from Tools to File menu.

Documentation

  • Docs: Add guideline prohibiting automatic git commits.
  • Credits: Add credit for unp64 by iAN CooG in AUTHORS and README.

Tests

  • Unpacker: Add Frogger and additional unpacker test files.
  • Tests: Rename existing test assets for consistency.

Examples

  • C128: Add C128 Hero Is Back example project with labels and comments.

[0.9.15] - 2026-05-11

Features

  • Sprites/Charset Views: Add mouse click/drag-to-select and cross-pane selection sync.
  • Sprites/Charset Views: Update view toggles to cycling behaviors with multiple view modes.
  • Sprites View: Add 2-column sprites view mode with scrolloff and grid navigation.
  • Charset View: Add 4-column charset view mode with dynamic grid layout.
  • Hexdump View: Implement cycling hex dump views between 8 columns, 16 columns, and hidden.
  • Navigation: Add keyboard shortcuts for navigating unexplored blocks.

Fixes

  • Labels: Remove dead dual-label logic for external ZP/absolute addresses.

Changes

  • MCP: Rename r2000_get_analyzed_blocks to r2000_get_blocks.

Documentation

  • README: Expand supported systems list, add screenshots, and fix typo.
  • MCP: Update MCP analysis phases to include rolling subagent execution and refined symbol classification logic.
  • Contributing: Update contribution guidelines with refined coding standards and clarified CI test environments.
  • Docs: Update architecture documentation link in CONTRIBUTING.md.
  • Docs: Update skills link in index.md to point to the full repository URL.
  • Docs: Update project description to highlight automated AI analysis workflows and bundled skills.
  • Keyboard Shortcuts: Update minimap position, add scope nudging, remap immediate formatting keys, and add search shortcuts.

CI

  • Audit: Add retries to CI cargo audit job.

Examples

  • C128: Update Hero Is Back project analysis with subagents.

[0.9.14] - 2026-05-07

Features

  • Search: Add regex search support to TUI dialog and MCP server.
  • MCP: Add r2000_search_disassembly tool for searching disassembly output.
  • Labels: Add r_ (Return) label type for RTS/RTI targets.
  • Import: Trigger auto-analysis during context import.
  • Import: Label entry point as start during context import disassembly.
  • UI: Implement automatic synchronization of right pane cursors to disassembly address.

Fixes

  • HTML Export: Skip ExternalFile detection for external-label definition lines.
  • HTML Export: Fix line comment alignment and spacing.
  • Disassembly: Fix collapse (Ctrl+K) ignoring splitters in data blocks.
  • KickAssembler: Fix screencode roundtrip for non-letter chars $00/$1B-$1F for KickAsm.

Changes

  • Terminology: Rename "Platform" back to "System" throughout codebase, labels, docs, and UI.
  • Labels: Update symbol naming conventions to use zp_ prefix for Zero Page and underscored prefixes for improved searchability.
  • Disassembly View, ASM/HTML Export: Flatten external labels into single sorted list with legend.
  • Disassembly View, ASM/HTML Export: External Labels and its comments aligned with code.
  • HTML Export: Reduce exported file size by ~20%.
  • UI: Remove origin address display from status bar to simplify UI layout.
  • UI: Reorganize settings dialog layout with logical groupings.

Documentation

  • Architecture: Update documentation for label naming conventions, expanded parser support, TOML-based theme system, and event system.
  • Systems: Rename docs/platforms.md to docs/systems.md and update terminology.
  • FAQ: Update disk image track counts and remove entropy section.
  • README: Update platform list, disk image formats, and data type definitions.
  • Analysis: Clarify address exclusion levels and refine MCP analysis phase descriptions.

Agent / Skills

  • Skills: Update r2000-analyze-program skill with "start" entry point identification, rolling window parallel processing, and improved routine detection for NMI/IRQ handlers.
  • Skills: Simplify routine detection for p_XXXX labels by including all code-block pointers.

Examples

  • C64/C128/Plus4: Update example projects with additional labels and documentation.

[0.9.13] - 2026-05-03

Features

  • Configuration: Migrate configuration format from JSON to TOML with automatic legacy file conversion.
  • Themes: Move built-in themes from Rust code to embedded TOML assets; add custom theme support via TOML files.
  • Disk Images: Add support for D71 80-track, and D64 42-track disk images.
  • Hexdump: Implement byte-value color palettes and updated hex dump UI layout for improved readability.
  • Charset: Show cursor address in charset view title and improve cursor visibility.
  • Labels: Add centralized label validation and helper for setting user labels with duplicate name detection.
  • CLI: Display config directory path in --help output.
  • UI: Add Delete key to exclude external addresses from analysis.

Fixes

  • Labels: Exclude external addresses from being marked as unexplored in disassembly view.

Changes

  • Labels: Update label naming convention to use underscored prefixes (s_, j_, zpf_, p_, f_, a_) for improved searchability.
  • Platform: Rename 'system' to 'platform' across the codebase.

Refactor / Internal

  • Hexdump: Remove entropy visualization from hexdump view.

Documentation

  • Analysis: Add analysis documentation and update label prefix references.
  • Settings: Update settings documentation with platform-specific system label and analysis options.
  • CLI: Add --dump-system-config-files CLI documentation and system config override workflow.
  • Themes: Move custom theme documentation from install.md to themes.md.

Tools

  • Verifier: Add verifier tool for project binary reproducibility checks.

Agent / Skills

  • Skills: Add r2000-analyze-program orchestration skill for full-program analysis.
  • Skills: Generalize r2000-analyze-symbol and r2000-analyze-routine instructions by removing platform-specific C64 references.
  • Skills: Update subroutine and data symbol naming conventions in analysis skill documentation. Also, they should not ask user for confirmation.

Examples

  • C64: Updated Burnin' Rubber, Kikstart, and Moving Tubes with additional labels, comments, and project metadata.

[0.9.12] - 2026-04-27

Features

  • Debugger: Added TED chip register dump view for the Commodore Plus/4 platform.
  • CLI: Added --export_html command-line option; --mcp-server and --headless are now mutually exclusive.
  • UI: Added Ctrl+Enter and Alt+Enter as alternative shortcut for newline in Comment dialog.
  • UI: Added C64 boot-screen easter egg to About dialog with blinking cursor, typing animation, and auto-close.
  • UI: Added handle_tick mechanism to UI widgets for auto-close functionality.

Fixes

  • Labels: Preserve label_type when renaming external labels; external labels now belong to correct group.
  • HTML Export: Cross-references now rendered in external label definition lines.
  • HTML Export: External labels exported with correct grouping.
  • Platform: Improved system comment consistency across different platforms; better "excluded" handling for platforms.

Changes

  • Labels: Renamed exclude_comments_from_well_known to exclude_well_known_labels with updated semantic.

Refactor / Internal

  • Rust: Enforced must_use_candidate, missing_errors_doc, missing_panics_doc clippy lints.
  • Rust: Applied modern Rust best practices and documented them in AGENTS.md.
  • Dependencies: Updated dependencies.
  • HTML Export: Updated CSS layout for code cells.

Examples

  • C64: Annotated Burnin' Rubber with additional labels, comments, and documentation.
  • VIC-20: Extensive analysis and annotations for Omega Race.
  • Plus/4: Added Kikstart Plus/4 example project with labels and comments.
  • PET: Updated Lode Runner example with annotations.

[0.9.11] - 2026-04-22

Features

  • UI: Added mouse click-to-cursor and drag-to-select support in the line comment dialog.

[0.9.10] - 2026-04-22

Features

  • Navigation: Added "Jump to next/prev unexplored block" to the Jump menu.
  • Disassembly: Force a new line when a side comment is present on an grouped block.
  • HTML Export: Added support for opening external documentation and examples links via browser.
  • Analysis: Fixed automatically displayed x-refs for split tables.

Fixes

  • Disassembly: Fixed .fill not emitted when preceded by non-matching bytes in same block.
  • UI: Adjusted mnemonic column width for improved side-comment alignment.
  • File Dialog: Correctly show parent directly.
  • Dependencies: Updated dependencies to fix security vulnerabilities in CI.
  • Platform: VIC-20 system labels/comments now correctly identified and displayed in Document Settings Dialog.

Refactor / Internal

  • UI: Updated search dialog to use persisted UI state for query and filters.
  • MCP: Added strict input validation for MCP handler parameters.
  • Rust: Applied Clippy fixes for Rust 1.96.0.

Examples / Research

  • VIC-20: Extensive reverse engineering and documentation for the Omega Race cartridge.
  • C64: Annotated Burnin' Rubber collision system routines and tables.

[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 build instructions in the HTML export header.
  • HTML Export: Add clickable hyperlinks to example disassembly files from assembler homepage links.
  • MCP: Rename and extend r2000_get_symbols and r2000_get_comments tools with optional address-range and type filters.
  • Document Settings: Add Fill run threshold option (0 = disabled) to the Document Settings dialog with left/right arrow and direct-edit support; max value 64.

Fixes

  • HTML Export: Fix x-ref relative address link alignment in disassembly output.
  • Document Settings: Fix navigation bounds and number input dialog in Document Settings.

Documentation

  • Settings: Document the Fill run threshold option with per-assembler directive table and 64tass example.
  • Architecture: Update architecture docs to reflect HTML/verification exporters and the Import Context dialog.
  • Examples: Add detailed comments and labels to Moving Tubes and PET Lode Runner example projects.

Agent / Skills

  • Skills: Refine r2000-analyze-routine and r2000-analyze-basic skill workflows.

[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 Address blocks.

Documentation

  • Examples: Updated descriptions and links for C64 and PET projects.

[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: Added hex prefix ($) to addresses across the status bar.
  • UI: Centered position contexts automatically for input prompts in full-range address modal windows.
  • Core: Fixed context-level splitter handling in raw-analysis blocks.
  • Blocks: Synchronized UI navigation contexts efficiently for blocks sharing duplicative base addresses.

Refactor / Internal

  • Exporter: Modularized formatting rules into independent files (asm / html).
  • Exporter: Delegated formatting of native inclusions to formatter definitions instead of maintaining hardcoded match constraints.
  • Refactor: Replaced raw string platform formats with constants natively.
  • Refactor: Restrict recent project contexts to .regen2000proj files.

[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 heuristic and visual equates for .dis65.

UI / UX

  • UI: Made minimap cursor color theme-dependent.

Documentation

  • User Guide: Added documentation for local vs. global label scoping and cleaned up formatting in tutorial and FAQ.
  • User Guide: Updated screenshots in documentation.

Refactor / Internal

  • Refactor: Centralized PRG parsing and refactored container formats.
  • Refactor: Used strongly-typed Platform for suggested platforms.
  • Refactor: Removed redundant manual session restoration logic in favor of ui_state.restore_session.

[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: Fix block type color consistency in minimap bar.
  • UI: Update cursor position after analysis.

Documentation

  • User Guide: Updated tutorial, settings, and roadmap to reflect new features and keyboard shortcuts.
  • Roadmap: Expanded phase 5 scope and added platform-specific v1.x releases.

[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 screencode and PETSCII roundtrip for ca65 and KickAssembler by emitting problematic characters as raw hex bytes.

Documentation

  • User Guide: Updated keyboard shortcuts, documented memory dump and scope features, and fixed settings shortcut mapping.
  • User Guide: Added ca65 warning about one-pass assembler limitations.

Refactor / Internal

  • Assembler: Moved scope resolution separator to assembler-specific formatters instead of hardcoding.

[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: Improved text input widgets with full cursor movement and editing capabilities for document settings and labels.
  • UI: Simplified splitter rendering in disassembly view.

Fixes

  • UI: Fix disassembly view arrow display bugs.
  • Navigation: Store correct external label addresses in navigation history instead of default addresses.
  • Stability: Fix dependency vulnerabilities in rustls-webpki.
  • Undo/Redo: Fix redundant undo actions by grouping state and analysis commands.

Documentation

  • API: Added comprehensive module-level documentation and enforced clippy lints for core and TUI crates.
  • User Guide: Documented the new Scope feature and updated keyboard shortcuts.
  • Examples: Updated example projects to demonstrate scopes, local labels, and new features.

Refactor / Internal

  • Testing: Added unit tests for overlapping and nested scopes checking.

[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.

[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.

[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: Transitions to a cleaner unidirectional data flow where the UI dispatches semantic AppActions, which are then applied to the AppState via a command system with full undo/redo support.
  • Type Safety: Introduced Addr and Platform newtypes to improve type safety and ensure consistent memory address handling throughout the codebase.
  • MCP Migration: Relocated the MCP server to the core crate, making it available for programmatic access without requiring the TUI.

Features

  • UI Enhancements:
  • Implemented "smart jump" logic in the disassembly view to minimize unnecessary scrolling when the target address is already visible.
  • Analysis: Refactored disassembler arrow computation for improved efficiency and accuracy.
  • Theme Previews: Added screenshots of available themes to the documentation.

Fixes

  • UX: Fixed dialog confirmation and closing logic to ensure consistent behavior across all modal windows.
  • MCP: Fixed bounds checking for the set_data_type MCP tool.
  • Stability: Refined Clippy rules and fixed several minor stability issues discovered during the architectural refactoring.

Documentation

  • Architecture: Comprehensive update of the architecture documentation, including new Mermaid diagrams and descriptions of the crate structure.
  • Project Documentation: Added AGENTS.md and updated CONTRIBUTING.md with new project instructions and best practices.

[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 environment bleed.
  • Fix: Security: Update quinn-proto to 0.11.14 to fix RUSTSEC-2026-0037.

Refactor / Internal

  • Refactor: Events: Centralize dialog closing logic by adding closes_dialog to MenuAction.
  • Refactor: VICE: Extract VICE message parsing logic into dedicated typed functions and structs in vice/protocol.rs.
  • Refactor: Disassembler: Simplify handler function signatures with new HandleArgs struct.
  • Refactor: Main: Add utility functions for file classification, CLI validation, image loading, batch operations, and roundtrip verification.
  • Refactor: Apply widespread code quality improvements and address Clippy warnings.
  • Chore: Exclude docs/tests/agent files not needed for crates.io packaging.

[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 --vice CLI flag in README and docs/debugger.md.
  • Docs: Expanded CONTRIBUTING.md and added cargo audit to CI.

Refactor / Internal

  • Test: Added comprehensive test coverage for parsers, formatters, VICE protocol, themes, and config.

[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).
  • Fix: UI: Added $ prefix to Jump To Address dialog for hex clarity.

Changes

  • Chore: Migrated to ratatui 0.30.0.

Documentation

  • Docs: Updated themes and settings documentation for 9 themes, Dracula default, and new UX features.
  • Docs: Updated CLI section in README.

[0.8.5] - 2026-03-05

Features

  • Feature: Export: Support for undocumented (illegal) opcodes in export and verify.
  • Feature: CLI: Added --assembler flag to override assembler format in headless mode.
  • Feature: CLI: Integrated clap crate for robust command-line argument parsing with --help and shell completions.
  • Feature: MCP: get_binary_info tool now hints whether the binary uses undocumented opcodes.
  • Feature: UI: Added Gruvbox Light theme.
  • Feature: Release: Added Linux ARM64 (aarch64) binary builds.

Fixes

  • Fix: ACME Exporter: Fixed zero-page address handling that caused byte mismatches during roundtrip verification.
  • Fix: ACME Exporter: Fixed illegal opcode mnemonics for ACME assembler compatibility.
  • Fix: Stability: Replaced println!/eprintln! with logging macros to prevent TUI corruption.

Documentation

  • Docs: Added themes documentation page with screenshots.
  • Docs: Documented --verify CLI option and assembler setup requirements.
  • Docs: Added KickAssembler KICKASS_JAR environment variable instructions.

Changes

  • Chore: Track Cargo.lock for reproducible binary builds.

[0.8.4] - 2026-03-03

Features

  • Feature: Search: Added filter checkboxes to the search dialog for granular control.
  • Feature: Analyzer: Added analysis hints with cross-instruction pattern detection.
  • Feature: Export: Added roundtrip export verification (export → assemble → diff).
  • Feature: UI: Check for new version and display it in the top-right corner.

Fixes

  • Fix: Stability: Eliminated all unwrap/panic from production code, added parser fuzz tests.

Refactor / Internal

  • Refactor: Search: Centralized search logic into state/search.rs.
  • MCP: Simplified search encoding to text and hex.

Documentation

  • Docs: FAQ and tutorial heavily improved.

[0.8.3] - 2026-03-01

Features

  • Feature: VICE Debugger: Shift+F2 shortcut opens dialog to toggle breakpoints.
  • Feature: VICE Debugger: Show 6502 hw vectors info for all platforms.
  • Feature: VICE Debugger: Show 6510 registers when platform is C64 / C128.
  • Feature: VICE Debugger: Show VIC/CIA registers when platform is C64 / C128.
  • Feature: UI: Hexdump view supports selecting columns, not just rows.

Fixes

  • Fix: Hexdump: Fixed hexdump and disassembly synchronization issues.
  • Fix: Disassembler: Export to ASM and view disassembler fixes.

Documentation

  • Docs: Added VICE note that both VICE and Regenerator must run the same binary.
  • Docs: View documentation fixes, reordered content, and added more keyboard shortcuts.
  • Examples: Updated example projects.

Refactor / Internal

  • Agent: Added CLAUDE.md and merged AGENTS.md into it.

[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 practices and provide better analysis context.

[0.8.1] - 2026-02-25

Features

  • Feature: Line Comment: Ctrl+Enter / Ctrl+J creates a new line within the comment dialog (multi-line support).
  • Feature: Line Comment: Keyboard shortcuts for inserting separator comments (dashes, equals, mixed) from within the dialog.
  • Feature: Dialogs: Save As, Export As, and Export VICE Labels dialogs now pre-fill the filename with the current project name.
  • Feature: UI: Application handles terminal resize events and repaints correctly.

Fixes

  • Fix: LoHi/HiLo Words: Words no longer resolve to addresses even when a word value matches an existing label address.
  • Fix: Cross-references: Cross-references now work correctly on relative address sub-indices.
  • Fix: T64 Picker: File picker handles "noisy" (non-printable) characters in T64 filenames gracefully.

Documentation

  • Docs: Updated settings and views documentation (indentation, Blocks View ordering, Debug View added).
  • Examples: Added more detailed comments and descriptions to example projects.

[0.8.0] - 2026-02-23

Features

  • Feature: VICE Debugger: Comprehensive support for VICE remote debugging.
  • Debugger view with CPU status, stack, and registers information.
  • Breakpoints and Watchpoints support.
  • Execution controls: Continue, Step Into, Step Over, Step Out, Run to Cursor.
  • Live Disassembly View
  • Feature: Open Recents: Added "Open Recent" support for quickly accessing recent files.
  • Feature: UI: Mouse click on blocks in Blocks View now updates the Disassembly View cursor.
  • Feature: Settings: Added description field to Document Settings.
  • Feature: MCP: get_binary_info tool now includes the filename, description and platform to aid agent tasks.

Changes

  • UI: Removed "switch view" from MCP as it is not currently implemented.
  • UI: Improved navigation in the Document Settings dialog.
  • UI: Minor cosmetic fixes in keyboard shortcut dialogs.

Fixes

  • Fix: Keyboard shortcuts handling simplified and corrected for the Debugger integrations (F6, F7, etc).
  • Fix: Addressed duplicate issues with initial breakpoint on connection.

Documentation

  • Docs: Added comprehensive VICE debugger documentation and screenshots.
  • Docs: Updated MCP documentation to reference Antigravity.
  • Examples: Updated descriptions for example projects.

[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 expertise.
  • MCP Server: get_binary_info tool now returns platform information.
  • MCP Server: Comments tool fix (removed automatic ; prefix).
  • Agent: Added update-keyboard-shortcuts skill for maintaining consistency.

[0.7.1] - 2026-02-17

Features

  • Feature: Bookmarks: Added bookmark support.
  • Ctrl+B: Toggle bookmark at current address
  • Shift+Ctrl+B / Alt+B: Open Bookmark dialog to navigate between bookmarks
  • Feature: MCP Server – Address Details: Added r2000_get_address_details tool to retrieve detailed information about a specific memory address.
  • Feature: MCP Server – Batch Execute: Added batch execute support, allowing multiple MCP tool calls to be dispatched in a single request.
  • Feature: MCP Server – Cursor Navigation: MCP clients can now drive the UI by jumping to an address (r2000_set_disassembly_cursor), with history preserved for undo/redo.

Fixes

  • Fix: Menu: Added missing "Pack Hi/Lo / Lo/Hi address" entries ([ / ]) to the Edit menu, enabled when an LDA/LDX/LDY immediate-mode opcode is selected.

Documentation

  • Docs: MCP documentation fixes and embedded YouTube video. Updated supported tools.

Refactor / Internal

  • Agent Skills: Added verify-mcp, add-mcp-tool, update-mcp-docs and analyze-routine agent skills.

[0.7.0] - 2026-02-16

Features

  • Feature: MCP Server Support: Added comprehensive Model Context Protocol (MCP) server support for programmatic access.
  • HTTP and stdio transport modes
  • Tools for disassembly manipulation, memory search, block operations, and project management
  • Resources for accessing binary data, disassembly, and hexdump views
  • Support for undo/redo operations via MCP
  • Hexadecimal address support
  • Feature: CRT Support: Enhanced CRT (Cartridge) file handling.
  • Bank picker dialog to choose which bank to analyze
  • CRT type display in dialog picker
  • Feature: T64 Support: Added T64 file picker dialog.
  • Feature: D64 Enhancements: Improved D64 file picker dialog.
  • Added entropy column
  • Display start and end addresses for files
  • Feature: Navigation: Allow navigating on top of comments, relative addresses, and other "sub_index" addresses.

Changes

  • TAP support was temporarily added and then removed. Proper TAP support requires handling different loaders. Users should convert TAP files to .prg format first.

Fixes

  • Fix: Pack Hi/Lo: Corrected reversed hi/lo and lo/hi packing in single line.
  • Fix: Navigation: Multiple disassembly navigation fixes.
  • Mouse click now sets cursor correctly
  • Landing on an address with subindex updates highlight correctly
  • Page Up/Down have consistent increment/decrement behavior
  • Fix: File Loading: Only load supported file extensions, fail with error otherwise. Also prevents crash when cursor is >= new loaded file size.
  • Fix: UI: Honor "right pane none" setting with minor fixes to address representation.

Examples

  • Examples: Enhanced example projects with more detailed comments from Claude.

Documentation

  • Docs: Added MCP Server documentation.

Refactor / Internal

  • Testing: Added unit tests for MCP server.

[0.6.6] - 2026-02-11

Security

  • Feature: macOS binary is code-signed and notarized.

[0.6.5] - 2026-02-10

Features

  • Feature: Line Comments: Line comments now also function as splitters, breaking code blocks.
  • Feature: Navigation: Added Page Up/Down support in Open File dialog.
  • Feature: Charset View: Page Up/Down now advances 10 lines instead of 10 characters for faster navigation.

Changes

  • UI: Disassembly View: Adjusted label and opcode spacing to provide more room for labels.
  • UI: Dialogs: Improved sizing for single-row input dialogs.
  • Shortcuts: LoHi/HiLo: Changed keyboard shortcuts for LoHi/HiLo word tables to , and . (was t and T).

Fixes

  • Fix: State: Clearing all state when opening a new file from an existing session.
  • Fix: Disassembly: Correct cursor behavior when converting blocks involving addresses.

Examples

  • Examples: More detailed comments in example projects (joystick reading).

[0.6.4] - 2026-02-08

Features

  • Feature: D71 Support: Added support for D71 disk images (70 tracks, double-sided).
  • Feature: D81 Support: Added support for D81 disk images (80 tracks, 40 sectors per track).
  • Feature: 40-Track D64: Added support for 40-track D64 disk images.

Changes

  • UI: Document Settings Dialog: Reorganized settings dialog with dynamic options at the bottom.

Fixes

  • Fix: Settings: Default Platform: Default platform is "Commodore 64", was broken in previous version.

Performance

  • Performance: Event Handling: Further optimizations to event handling and rendering pipeline.

Refactor / Internal

  • Refactor: Embedded Config Files: System configuration files are now embedded in the binary for easier distribution.
  • Refactor: Disk Parser: Unified D64/D71/D81 parsing logic with DiskType enum.

Examples

  • Examples: Renamed burnin_rubber example to c64_burnin_rubber for clarity.

[0.6.3] - 2026-02-07

Features

  • Feature: Complete Address Dialog: Added dialog to complete missing Hi/Lo or Lo/Hi byte when only one line is selected (Edit menu).

Performance

  • Performance: Rendering Loop: Optimized screen rendering to occur only once per event, eliminating unnecessary redraws.

Fixes

  • Fix: Settings Dialog: Improved navigation in Document Settings dialog.

Documentation

  • Docs: Added source code links in architecture documentation.
  • Docs: Added missing dialogs to architecture documentation.
  • Docs: Improved keyboard shortcuts documentation formatting.

Refactor / Internal

  • Refactor: Consolidated system configuration files - merged separate .txt files (comments, excludes, labels) into unified .json files for each platform.
  • Refactor: Updated asset loading to support consolidated .json configuration files.

[0.6.2] - 2026-02-05

Features

  • Feature: Entropy View: Added entropy visualization column in HexDump view to help identify compressed/encrypted data.
  • Feature: Labels: Added standard C64 labels for KERNAL, BASIC, and Zero Page (including NMI, RESET, IRQ vectors).
  • Feature: Config: Automatic configuration backup if loading fails.
  • Feature: UI: Circular navigation in D64 file picker.
  • Feature: Analysis: If the file has high entropy, displays a warning that it might be compressed.

Fixes

  • Fix: Labels: Resolved issues with label duplication and priority.
  • Fix: External Labels: Fixed display issues for external labels.
  • Fix: Stability: Added terminal restoration handler in case of crash.
  • Fix: Navigation: Improved "Jump to Address" (Enter key) behavior.

Documentation

  • Docs: Updated documentation for Blocks ("e" type), Settings, and Views.
  • Docs: Added information about Immediate mode representations (lo/hi byte).

[0.6.1] - 2026-02-01

Features

  • Feature: Support for .d64 disk images. Supports picking a .prg file from within the disk image.
  • Feature: CLI: Added --export_asm and --export_lbl command line options.
  • Feature: Bitmap view: Screen RAM address is now configurable.

Changes

  • Settings: "BRK single byte" is now enabled by default.
  • UI: Hexdump default view mode is now "Screencode shifted".

Documentation

  • Docs: Added comprehensive "Mini Tutorial" walkthrough.
  • Docs: Added graphics and updated tutorials section.
  • Docs: Blocks documentation updated with tabs for each supported assembler.
  • Docs: Updated keyboard shortcuts documentation.

Fixes

  • Fix: Splitter and collapsed blocks improvements.

Refactor / Internal

  • Refactor: state.rs split into multiple submodules (types, settings, project, app_state).
  • Refactor: Large methods in disassembler.rs moved to separate modules.
  • Refactor: Graphics code moved to its own file.
  • Testing: Added comprehensive CPU module tests.

[0.6.0] - 2026-01-30

Features

  • Feature: Support for LoHi and HiLo word block type. Keyboard shortcuts 'T' and 'Shift+T'.
  • Feature: Export VICE labels to .lbl format (File -> Export -> Export VICE Labels)
  • Feature: Import VICE labels from .lbl files (--import_lbl command line option)
  • Feature: Go to Symbol dialog (Ctrl+P) - navigate to labels by name
  • Feature: File dialogs remember last used paths
  • Export As remembers last used filename
  • Save/Export/Import remember last used folders
  • Feature: Status bar shows filename for Save, Export, Import, and Open operations
  • Feature: File dialogs include file extensions in the dialog
  • Feature: Alt+F keyboard shortcut to open File menu
  • Feature: Alt+H keyboard shortcut to open Help menu
  • Feature: Keyboard shortcuts for Edit Menu and Search Menu

Changes

  • The keyboard shortcut for PETSCII Text changed from 'T' to 'P'.

Fixes

  • Fix: Splitter and collapsed blocks work correctly together
  • Fix: Arrow visualization improvements - fixed passthrough arrows, eliminated "ghost" arrows
  • Fix: Keyboard shortcuts requiring Shift key now work correctly on Windows
  • Fix: Find References dialog only enabled when focus is on Disassembly view

Documentation

  • Docs: Initial MkDocs integration with ReadTheDocs hosting
  • Docs: Architecture documentation updated with all current components
  • Docs: Architecture diagram converted to Mermaid format
  • Docs: Improved ca65 assembler documentation
  • Docs: Added Settings dialog documentation
  • Docs: Keyboard shortcuts now use pymdownx.keys extensions for better formatting
  • Docs: Added FAQ and Views documentation
  • Docs: Added logo and favicon for documentation site

Settings

  • Settings: Changed default for sync views (disabled by default)

Examples

  • Examples: Updated example projects with improved annotations

[0.5.2] - 2026-01-26

Fixes

  • Fix: cargo fmt fixes

[0.5.1] - 2026-01-26

Features

  • Feature: Mouse support
  • Click on menu expands submenu
  • Close dialogs with mouse
  • File -> Exit works with mouse
  • Navigation with scroll wheel / touchpad two-fingers
  • Feature: External labels support
  • Rename labels from external addresses
  • Navigate in external label references
  • Feature: Menu -> Edit -> Set Label added
  • Feature: Better navigation in Keyboard Shortcut dialog (Page Up, Page Down, Ctrl+D, Ctrl+U)

Fixes

  • Fix: Jump to address works correctly when address has associated lines and subindex
  • Fix: Search lands in correct subline
  • Fix: Crash when setting block type on empty range
  • Fix: Don't allow setting labels in external labels that start with comment
  • Fix: Close About dialog faster with mouse

Refactor

  • Refactor: Renamed comment_address to external_label_address
  • Refactor: Reduced duplicate code between disassembler.rs and view_disassembly.rs
  • Refactor: Move logic whether opcode should have arrows to cpu.rs
  • Refactor: Cross-reference function factored out
  • UI: X-ref with more than supported displayed as "..."

[0.5.0] - 2026-01-24

  • Feature: Find Reference dialog (Ctrl+x)
  • Feature: Bitmap Viewer with High-Res and Multicolor support.
  • Feature: Settings: Auto-analyze on file open (enabled by default)
  • Feature: Settings: Sync between Disassembly and Hexdump, Sprites, Charset, Bitmap and Blocks views (enabled by default)
  • Feature: Partial bitmap and sprites rendering support
  • Feature: Visual selection mode in HexDump, Sprites, and Charset views
  • Feature: Search:
  • Hex byte pattern search with wildcards
  • Omni search now includes PETSCII and screencodes
  • Feature: Press 'b' in side panels to convert to bytes
  • Feature: pressing Enter in right-side pane, updates cursor in Disassembly view.
  • UI: Updated Keyboard Shortcut dialog
  • UI: Reordered options in Settings dialog
  • UI: Don't show addresses if there are no bytes
  • Performance: Image caching for faster rendering (Bitmap view)
  • Navigation: Move up/down skip lines without "real bytes"
  • Settings: Config: "Patch BRK" enabled by default
  • Docs: Updated User Guide with illegal opcodes, patch brk, and command line options explanations
  • Docs: README fixes and Discord channel correction
  • Fix: Jump to collapsed line works correctly

[0.4.1] - 2026-01-20

  • Fix: Works in Windows
  • Fix: Add alternative keyboard shortcuts for Windows
  • Fix: cursor at end of line, even for default comment
  • Refactor: dialog code simplified

[0.4.0] - 2026-01-19

  • Pane view: Added "Blocks" view, that shows the different blocks.
  • Formatters: Added support for KickAssembler and ca65
  • Refactor: created Widget concept where views and dialog inherits from it.
  • Refactor: each view and each dialog has its own file
  • Fix: Improve selection and cursor movement in disassembly view
  • Fix: Improve input handling code: each view handles their own keyboard shortcuts.

[0.3.0] - 2026-01-09

  • Added user_guide.md
  • Added block splitters
  • Added support for collapsed blocks
  • Added support for searching within comments
  • Added 'm' keyboard shortcut to toggle shifted/unshifted charset modes
  • Improved arrow visualization in disassembly (removed "ghost" arrows, better styling)
  • Improved keyboard shortcuts reliability
  • Fixed valid tests altering global configuration (last_project_path)
  • Fixed search cursor positioning logic
  • Fixed 64tass export regression
  • Fixed ACME exporter for acum opcodes (ror, rol, lsr, asl)

[0.2.2] - 2026-01-06

  • Update keyboard shortcuts (again, sorry)
  • Fix "Patch BRK": was not generating labels
  • Fix indentation for relative addresses
  • Fix dangling "addresses" generated by illegal opcodes
  • Fix "Enter" key in Hex/Charset/Sprite views updating Disassembly cursor

[0.2.1] - 2026-01-05

  • Added support for Charset view: single color and multicolor
  • Added support for Sprites view: single color and multicolor
  • Added support for undocumented opcodes
  • Improved keyboard shortcuts
  • Added support for relative addresses in disassembly
  • Added support for renaming relative address labels
  • Enter key in Hex/Charset/Sprite views updates Disassembly cursor
  • Improved BRK instruction disassembly
  • Fixed Cross-reference comment placement

[0.1.2] - 2026-01-04

Initial public version