Skip to content

Latest commit

 

History

History
104 lines (76 loc) · 4.84 KB

File metadata and controls

104 lines (76 loc) · 4.84 KB

OpcodeOracle - Project Specification

An agentic system for reverse engineering legacy computer code, focusing on MOS6502 assembler for the Commodore 64.

Language: Go

Project Goals

  1. Provide accurate disassembly of MOS6502 binary code
  2. Use flow analysis to distinguish code from data
  3. Generate readable, reassemblable output
  4. Support agentic/AI-assisted reverse engineering workflows

Feature Roadmap

Phase 1: Project Structure

Directory layout and core type definitions.

Feature Status Specification
Directory structure Planned architecture.md
Core type definitions Planned architecture.md

Phase 2: Component Implementations

Standalone components - can be implemented independently.

Feature Status Specification
Binary Planned binary.md
Symbol table Planned symbol-table.md
Annotation table Planned annotation-table.md
Region table Planned regions-table.md
Cross-reference table Planned xref-table.md

Phase 3: State Management

Persistence and unified state interface.

Feature Status Specification
State file format Planned state-file.md
State interface Planned state-interface.md

Phase 4: Disassembly Engine

MOS6502 decoding and flow analysis.

Feature Status Specification
MOS6502 opcode definitions Planned opcodes.go
Disassembler interface Planned disassembler.md
Flow-following disassembly Planned flow-analysis.md

Phase 5: Output Generation

Assembly listing export with auto-generated headers.

Feature Status Specification
Main disassembly Planned export.md
Segment files Planned export.md
CLI commands Planned cli.md

Phase 6: Enhanced Analysis

Feature Status Specification
C64 ROM symbols Planned TBD
C64 I/O register names Planned TBD
Subroutine detection Planned TBD

Phase 7: Agentic Features

Feature Status Specification
AI-assisted code annotation Planned TBD
Pattern recognition Planned TBD
Automatic variable naming Planned TBD

Specification Documents

Document Description
overview.md This file - project overview and roadmap
cli.md Command line interface
opcodes.go MOS6502 instruction definitions
architecture.md Core Go type and struct definitions
state-file.md JSON state file format for save/load
state-interface.md Go interface for state manipulation
symbol-table.md Symbol types, struct, and interface
annotation-table.md Annotation struct and interface
regions-table.md Region types, struct, and interface
xref-table.md Cross-reference types, struct, and interface
disassembler.md Binary reading and memory mapping
flow-analysis.md Flow analysis algorithm and state population
export.md Assembly output format specification

References