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_disassembletool for disassembling a range of addresses. - MCP: Add
r2000_unpack_binarytool to unpack compressed binaries and update cursor after unpacking. - MCP: Add
r2000_set_immediate_formattool with low/high byte format support. - MCP: Add binary entropy tracking to
r2000_get_binary_info. - Hexdump: Implement
SetBytesBlockByOffsetaction for byte-level block editing. - CLI: Add
--dump-enum-filescommand 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, andr2000-analyze-routineskill workflows. - Skills: Update program analysis skill with rolling subagent limit and pre-analysis steps.
- Config: Add
.mcp.jsonconfiguration 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_blockstor2000_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_disassemblytool 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
startduring context import disassembly. - UI: Implement automatic synchronization of right pane cursors to disassembly address.
Fixes
- HTML Export: Skip
ExternalFiledetection 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-$1Ffor 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.mdtodocs/systems.mdand 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-programskill with "start" entry point identification, rolling window parallel processing, and improved routine detection for NMI/IRQ handlers. - Skills: Simplify routine detection for
p_XXXXlabels 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
--helpoutput. - 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-filesCLI 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-programorchestration skill for full-program analysis. - Skills: Generalize
r2000-analyze-symbolandr2000-analyze-routineinstructions 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_htmlcommand-line option;--mcp-serverand--headlessare now mutually exclusive. - UI: Added
Ctrl+EnterandAlt+Enteras 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_tickmechanism to UI widgets for auto-close functionality.
Fixes
- Labels: Preserve
label_typewhen 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_knowntoexclude_well_known_labelswith updated semantic.
Refactor / Internal
- Rust: Enforced
must_use_candidate,missing_errors_doc,missing_panics_docclippy 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
.fillnot 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
.filldirective 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_symbolsandr2000_get_commentstools with optional address-range and type filters. - Document Settings: Add
Fill run thresholdoption (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-routineandr2000-analyze-basicskill 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
.regen2000projfiles.
[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
LocalOrGlobalAddrlabel 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
Platformfor 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
.asmfiles 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_scopeMCP 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-coreandregenerator-tuitoregenerator2000-coreandregenerator2000-tuifor 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-corefor 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 theAppStatevia a command system with full undo/redo support. - Type Safety: Introduced
AddrandPlatformnewtypes 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_typeMCP 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.mdand updatedCONTRIBUTING.mdwith new project instructions and best practices.
[0.8.8] - 2026-03-09
Features
- Feature: Settings: Control automatic analysis via
auto_analyzesetting; removed file-type-based auto-analysis on file open. - Feature: VICE Debugger: Display watchpoint stop reason in debugger view.
- Feature: Events: Introduce
EventOutcomeenum to control event loop flow with dedicatedKeyEventandMouseEventhandling.
Fixes
- Fix: Testing: Use default
SystemConfiginAppState::new()to fix test flakiness from environment bleed. - Fix: Security: Update
quinn-prototo 0.11.14 to fix RUSTSEC-2026-0037.
Refactor / Internal
- Refactor: Events: Centralize dialog closing logic by adding
closes_dialogtoMenuAction. - 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
HandleArgsstruct. - 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
--viceflag to auto-connect to VICE binary monitor on startup.
Fixes
- Fix: UI: Centered text in the unsaved changes confirmation dialog.
Documentation
- Docs: Documented
--viceCLI flag in README anddocs/debugger.md. - Docs: Expanded
CONTRIBUTING.mdand addedcargo auditto 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
.regen2000projfile 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
--assemblerflag to override assembler format in headless mode. - Feature: CLI: Integrated
clapcrate for robust command-line argument parsing with--helpand shell completions. - Feature: MCP:
get_binary_infotool 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
--verifyCLI option and assembler setup requirements. - Docs: Added KickAssembler
KICKASS_JARenvironment variable instructions.
Changes
- Chore: Track
Cargo.lockfor 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/panicfrom production code, added parser fuzz tests.
Refactor / Internal
- Refactor: Search: Centralized search logic into
state/search.rs. - MCP: Simplified search encoding to
textandhex.
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.mdand mergedAGENTS.mdinto it.
[0.8.2] - 2026-02-28
Documentation
- Docs: Updated
index.mdandtutorial.mdwith 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, andr2000-analyze-routineskills to follow best practices and provide better analysis context.
[0.8.1] - 2026-02-25
Features
- Feature: Line Comment:
Ctrl+Enter/Ctrl+Jcreates 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_infotool 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-symbolandr2000-analyze-blocksskills. - Agent: Renamed skills to use
r2000prefix to avoid conflicts. - Agent:
r2000-analyze-routineskill now uses platform expertise. - MCP Server:
get_binary_infotool now returns platform information. - MCP Server: Comments tool fix (removed automatic
;prefix). - Agent: Added
update-keyboard-shortcutsskill for maintaining consistency.
[0.7.1] - 2026-02-17
Features
- Feature: Bookmarks: Added bookmark support.
Ctrl+B: Toggle bookmark at current addressShift+Ctrl+B/Alt+B: Open Bookmark dialog to navigate between bookmarks- Feature: MCP Server – Address Details: Added
r2000_get_address_detailstool 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-docsandanalyze-routineagent 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.(wastandT).
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
DiskTypeenum.
Examples
- Examples: Renamed
burnin_rubberexample toc64_burnin_rubberfor 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
.txtfiles (comments, excludes, labels) into unified.jsonfiles for each platform. - Refactor: Updated asset loading to support consolidated
.jsonconfiguration 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_asmand--export_lblcommand 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.rssplit into multiple submodules (types, settings, project, app_state). - Refactor: Large methods in
disassembler.rsmoved 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
.lblformat (File -> Export -> Export VICE Labels) - Feature: Import VICE labels from
.lblfiles (--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_addresstoexternal_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
Enterkey 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