Project ideas from Hacker News discussions.

Z80 REPL (2018)

📝 Discussion Summary (Click to expand)

Theme 1 – Nostalgia for historic assembly REPLs/mini‑assemblers
Many commenters fondly recall the built‑in mini‑assembler on the Apple II (and similar monitors on other 8‑bit machines) as the closest predecessor to a true assembly‑language REPL.

“The one thing I lamented about the Apple II Plus … was that to make room for autostart, they had to rip out the mini‑assembler in the Monitor ROM. That was the closest thing I ever saw to an assembly‑language REPL before this.” – flyinghamster

“I remember being so confused, as a 10‑y/o kid, trying to follow examples from an Apple II‑era book …” – EvanAnderson

Theme 2 – Praise for the current Z80 REPL with requests for usability improvements
The tool is welcomed as a “cool idea,” but users point out small UI tweaks (whitespace handling, Tab‑completion) and the usefulness of built‑in example programs.

“Cool idea! The REPL needs to handle whitespace after an instruction with no operands … I also wish I could select from the completion list with Tab without typing more of the instruction, fish‑style.” – networked

“Really nice! Would be fun if there were a few examples that could be loaded into memory.” – j4cobgarby

Theme 3 – Technical curiosity about implementation on older hardware
Discussion turns to how similar monitor/assistant features were realized on systems like the C64 (freezer cartridges, NMIs) and notes on the age of the source code.

“It's common in the C64 world to use freezer cartridges that allow you to interrupt normal operation and invoke a monitor program. These typically include rudimentary assemblers and disassemblers as well.” – boomlinde

“I've only had a rough idea of how these are actually implemented, non‑maskable interrupt something‑something, and never knew how they make sure that the interrupt vector points to some persistent routine that can invoke the monitor.” – boomlinde


🚀 Project Ideas

Z80 REPL Plus

Summary

  • An upgraded version of the existing Z80 REPL that correctly handles trailing whitespace, offers fish‑style Tab completion, adds symbol support, and includes a tiny built‑in editor for multi‑line entry.
  • Core value: instant feedback for Z80 programmers with a smoother, more productive interactive experience.

Details

Key Value
Target Audience Retro‑computing hobbyists, Z80 assembly learners, emulator developers
Core Feature Whitespace‑tolerant parsing, Tab‑cycle completion, symbol table, inline mini‑editor, example‑load command
Tech Stack C (or Rust) for the REPL core, readline‑like library (e.g., linenoise), optional WebAssembly build for browser use
Difficulty Medium
Monetization Hobby

Notes

  • Users complained about “unknown instruction: nop” when a trailing space appears and wished for Tab to cycle completions “fish‑style” (networked, jhallenworld).
  • Adding symbol handling and a built‑in editor directly addresses jhallenworld’s request for “a” to bring up a mini‑editor and j4cobgarby’s desire for loadable examples.

Cross‑CPU Assembly REPL Framework

Summary

  • A modular REPL platform that can host multiple 8‑bit CPU cores (Z80, 6502, 6809, etc.) with shared features: symbol handling, breakpoint‑like inspection, and memory snapshot/load.
  • Core value: gives developers a unified interactive environment for retro CPU experimentation without switching tools.

Details

Key Value
Target Audience Embedded retro developers, CPU core authors, teaching labs
Core Feature Pluggable CPU emulation modules, shared REPL UI (completion, history, symbols), import/export of memory images
Tech Stack Rust (for safety and WASM target) or C++ with a plugin system; frontend via terminal or ImGui; optional WASM for web
Difficulty High
Monetization Hobby

Notes

  • Commenters expressed interest in other architectures (e.g., 6809 monitor from jhallenworld, C64 freezer cartridges, Apple II mini‑assembler) – a common REPL would satisfy those wishes.
  • The framework would let users load examples for any CPU, echoing j4cobgarby’s request for loadable programs and the nostalgia for built‑in monitors.

Retro Assembly Playground (Web)

Summary

  • A browser‑based assembly REPL that runs CPU cores via WebAssembly, lets users write, test, and share snippets instantly, with persistent accounts and example libraries.
  • Core value: lowers the barrier to learning and experimenting with vintage assembly languages by providing zero‑install, collaborative access.

Details

Key Value
Target Audience Students, educators, hobbyists wanting quick Z80/6502/6809 trials
Core Feature WASM‑based CPU emulator, Tab‑complete, symbol panel, cloud‑saved snippets, one‑click load of community examples
Tech Stack TypeScript/React frontend, Rust‑compiled CPU cores to WASM, IndexedDB or Firebase for persistence
Difficulty Medium
Monetization Revenue‑ready: Freemium (free basic use, $5/mo for private snippets & advanced stats)

Notes

  • Networked’s wish for better whitespace handling and Tab completion translates directly to a web REPL’s editing experience.
  • jhallenworld’s mini‑editor idea fits the web UI, and the ability to share snippets addresses the community’s desire for examples and learning resources (j4cobgarby, flyinghamster).

Read Later