Demo

A terminal window playing an NES ROM, showing a colorful picture rendered with halfblock characters.
Adaptive halfblock renderer scaling to fit any terminal at least 64×33 cells. Native resolution is 256×120 cells.

Features

Install & Run

cargo install --path crates/glyph8-cli
# Or run from the workspace without installing:
cargo run -p glyph8-cli -- path/to/your.nes

Quick start

glyph8 tests/roms/nestest.nes              # bundled CPU validation ROM
glyph8 tests/roms/boing.nes                # bundled CC BY 4.0 demo (Brad Smith)
glyph8 path/to/your.nes                    # any standard iNES file
glyph8 --headless --frames=60 your.nes     # CI / determinism check

Controls

KeyNES
D-pad
ZB
XA
EnterStart
TabSelect (beta — RightShift in 1.C)
RReset
Esc / Ctrl+CQuit

Roadmap

  1. 1.A CPU/PPU core via tetanes-core, halfblock encoder.
  2. 1.B Adaptive halfblock renderer, interactive runloop, status line. (current)
  3. 1.C Kitty keyboard protocol — real key-release, RightShift Select.
  4. 1.D Audio output via cpal.
  5. 1.E Per-pixel braille + ASCII renderer modes.
  6. 1.F ratatui status bar + pause modal.

Status & limitations

License & credits

Dual-licensed under MIT or Apache-2.0, at your option. See LICENSE-MIT and LICENSE-APACHE.

Bundled ROMs: