The author built a CHIP-8 emulator in Rust called Fortress to run 50-year-old games, choosing the project to learn systems programming concepts like memory layout, bitwise operations, and the fetch-decode-execute cycle. After discovering a year-old Zig emulator and deciding to rewrite it in Rust, they debugged complex issues and successfully launched classic games like Pong, describing the experience as building a time machine between retro software and modern hardware.
A developer describes successfully running a NES emulator on a Xiaomi Mi Band 4 fitness tracker by discovering a buffer overflow vulnerability in the device's resource decompression code, allowing arbitrary code execution through a specially crafted firmware update sent over Bluetooth.
A 172-line RISC-V RV32I emulator written in Nix executes real machine-code instructions during Nix evaluation, supporting integer arithmetic, branching, memory operations, and minimal I/O without external dependencies. The emulator includes sample programs like hello and fibonacci assembled with GNU binutils, with machine-code images provided as JSON arrays for direct execution.
A repository containing a RISC-V instruction set emulator with Linux kernel support, including an rv32ima emulator, minimal device emulation, build configurations for a custom Linux kernel, device tree definitions, and init programs needed to boot a complete Linux system from scratch.