Files
mos-6502/docs/plan.md
T
2026-07-20 12:29:15 +03:00

1.3 KiB

Project status

Implemented

  • 64 KiB bus, reset vectors, deterministic RNG and Easy6502 keyboard/framebuffer MMIO.
  • All official NMOS 6502 instructions and opcode encodings.
  • Binary and NMOS decimal ADC/SBC, status flags, stack, BRK/RTI, IRQ and NMI.
  • All official addressing modes, zero-page wrap, page penalties and indirect-JMP bug.
  • Instruction-level cycle accounting and deterministic illegal-opcode errors.
  • Safe flat-binary loader, headless runner, optional SDL2 frontend.
  • Original ca65 Snake game with pause, persistent high score, and a reproducible make snake target.
  • Strict debug, sanitizer and dependency-free test targets.

Remaining hardening

  1. Run the Klaus Dormann decimal suite and fix any discovered edge cases.
  2. Expand table-driven tests to cover every official opcode/address-mode pairing.
  3. Add a trace/disassembler runner for diagnosing external ROM failures.

The official Klaus Dormann functional suite passes at $3469 after 30,646,176 instructions. Linux CI covers strict, sanitizer, functional-ROM, Snake, and SDL UI builds.

Future platforms

  • Undocumented NMOS opcodes.
  • Audio, save states and an interactive debugger.
  • A real historical machine such as Apple I or NES. NES support is a separate major project requiring the PPU, APU, controllers, cartridge parsing/mappers and tighter timing.