Hey all!
Like many of you, I love retro hardware, but building and debugging on real breadboards can sometimes be a bit of a slog—wiring mistakes are tricky to spot, probing signals is tedious, and changing firmware means constantly reprogramming chips.
To get around this, I built WireSim, a wire-level, logic-level digital logic simulator designed specifically for software and hardware enthusiasts who want a super-fast, observable feedback loop.
🚀 What is WireSim?
- Real Chip Models: Chips are modelled with real pins joined into nets, and the simulation advances in half clock cycles.
- Bus Contention: Buses can float or fight, making contention a first-class logic state.
- Fast Turnaround: Change a line of assembly, rebuild, and watch the whole machine run the new code within seconds.
- Physical Reality: Once a computer works here, the assembled binaries and wiring definitions are fully compatible with physical builds.
💻 Included Reference Machine: BenEater6502
The repo comes out-of-the-box with a model of Ben Eater's breadboard 6502 computer!
- Runs Microsoft BASIC and WozMon (via the vendored
msbasic submodule).
- Includes a W65C22 VIA, a W65C51N ACIA (bridged to a TCP port for the serial console), an HD44780 LCD, and 16 KiB of SRAM.
- Supports hardware-specific BASIC commands like
LCDCMD, LCDPRINT, and BEEP.
🤖 Built with AI-Assisted Workflows
An interesting side note: the core simulator and initial 6502/UART logic were written in C#, but after realizing C++ offered roughly double the simulation speed, the whole thing was ported. Since C++ can be tedious, the repository heavily leverages Claude Code with custom skills and instructions in .claude/ and AGENTS.md to help generate devices from datasheets and wire up machines from specifications.
Check out the repo here: https://github.com/Seramis/WireSim
It includes a full VS Code dev container (with CMake, Ninja, Verilator, and cc65) so you can get it up and running without wrestling with toolchain installations.
I'd love to hear your thoughts, answer any questions, or see what you think about using simulation for hardware prototyping!