nowfound

Life & fun · May 3, 2026

I built a RISC-V emulator that runs DOOM

Demo: https://www.youtube.com/watch?v=f5uygzEmdLw Hi HN, I built a RISC-V emulator that implements the RV32IM instruction set and a minimal syscall interface to run DOOM. A few weeks ago, I got my first output with a simple hello world assembly program. Since then I have been working tirelessly to get DOOM to run. I needed to figure out how to run C programs first, and came across newlib, which allows the underlying environment to implement the syscall stubs one by one until the programs run. I have also added ELF loading, but currently only a single `PT_LOAD` segment is…

I built a RISC-V emulator that runs DOOM launched on May 3, 2026 with 50 votes, #771 of 20,538 launches that month and more than 95% of that year's launches.

Visit github.com ↗Alternativestop 4% of May 2026

In plain words

This is a RISC-V emulator that supports the RV32IM instruction set and runs the classic game DOOM. Built by an individual developer, it implements ELF loading and a minimal syscall interface using newlib to execute C programs. The emulator can render DOOM to a fixed memory area and demonstrates full compatibility with complex software beyond simple assembly programs.

written from the facts on this page · September 2026

From the sources

A tiny RISC-V emulator that runs DOOM. Contribute to lalitshankarch/rvcore development by creating an account on GitHub.

rvcore is a RISC-V emulator that serves as a minimal environment capable of running DOOM. It implements the RV32IM ISA except for the FENCE and EBREAK instructions, which are currently stubbed. mkdir build cmake -B build -DCMAKE_BUILD_TYPE=Release cd build cmake --build . Build instructions for doomgeneric Clone https://github.com/lalitshankarch/doomgeneric riscv64-unknown-elf-gcc or the riscv64-gnu-toolchain configured with ./configure --with-multilib-generator="rv32im-ilp32--" must be installed Navigate to doomgeneric and run make Running other programs Navigate to the examples directory to see how to run simple C programs on rvcore . Only a few essential newlib stubs are implemented. To…from github.com

In the maker’s words, at launch

Demo: https://www.youtube.com/watch?v=f5uygzEmdLw Hi HN, I built a RISC-V emulator that implements the RV32IM instruction set and a minimal syscall interface to run DOOM. A few weeks ago, I got my first output with a simple hello world assembly program. Since then I have been working tirelessly to get…

Does a similar job

all alternatives →
  • I made a Doom-like game fit inside a QR code2025 · github.com · ▲531

    I sometimes pick up random projects just because I can, this was one of those times. I made it as a week long project a while back this year but never shared here, so thought to go for it haha. I created a game inspired by Doom and the backrooms called The Backdooms under 2.4kb in minified html. (for reference, this entire post would be around 1.8kB haha) I had to use a not popular way of using GZip with Zlib headers (had to write my own script for compressing it, also in the repo) to eventually convert it a size 40 QR code that works right in your browser using Decompressionstream API. This…

  • D1
    Doom (1993) in a PDF2025 · doompdf.pages.dev · ▲369

    I made a Doom source port that runs within a PDF file. I was inspired by the recent HN post about Tetris in a PDF (https://news.ycombinator.com/item?id=42645218) and I wondered if I could get Doom to run using a similar method. It turns out that old versions of Emscripten can compile C to asm.js code that will happily run inside the limited JS runtime of the PDF engine. I used the doomgeneric (https://github.com/ozkl/doomgeneric) fork of the original Doom source, as that made writing the IO fairly easy. All I had to do was implement a framebuffer and…

  • My from-scratch OS kernel that runs DOOM2025 · github.com · ▲320

    Hi there! I've been on-and-off working on TacOS for a few months, which follows some UNIX-derived concepts (exec/fork, unix-style VFS, etc) and is now able to run a port of Doom, with a fairly small amount of modifications, using my from-scratch libc. The performance is actually decent compared to what I expected. Very interested to hear your thoughts. Thank you!

  • C++17 RISC-V RV32GC / RV64GC userspace emulator library2020 · github.com · ▲31

    The fastest RVA23 RISC-V sandbox. Contribute to libriscv/libriscv development by creating an account on GitHub.

  • A port of DOOM that runs (almost) entirely on the GPU2024 · github.com · ▲8

    I've been recently working on porting standard C library functions to work on the GPU https://libc.llvm.org/gpu/. A colleague of mine suggested using it to run DOOM, so that's what I did. It runs on both AMD and NVIDIA GPUs and it is completely playable. This works by targeting C code directly for the GPU via cross-compilation in clang, looks something like this https://godbolt.org/z/hh44a6vKr. The LLVM C library will provide the headers, C library functions, and the kernel that calls the main function, so we only need to compile the DOOM source code…

  • Minimax – A Compressed-First, Microcoded RISC-V CPU2022 · github.com · ▲171

    RISC-V's compressed instruction (RVC) extension is intended as an add-on to the regular, 32-bit instruction set, not a replacement or competitor. Its designers intended RVC instructions to be expanded into regular 32-bit RV32I equivalents via a pre-decoder. What happens if we explicitly architect a RISC-V CPU to execute RVC instructions, and "mop up" any RV32I instructions that aren't convenient via a microcode layer? What architectural optimizations are unlocked as a result? "Minimax" is an experimental RISC-V implementation intended to establish if an RVC-optimized CPU is, in practice, any…

More life & fun this month

the category →

Source: Show HN post ↗ · launch text quoted in part

Launched alongside, May 2026

the whole month →
  • Brew ▲900

    Like Claude design for email marketing

    AI · May 2026 · brew.new

  • Parallel agents, diff reviewer, and multi-model comparisons

    Dev tools · May 2026 · kilo.ai

  • StoreClaw▲806

    Grow your store profits with agents that know how to sell

    AI · May 2026 · storeclaw.ai

  • Give your agent a real number and voice to make calls.

    AI · May 2026 · pollyreach.ai

  • Hey HN, Henry here from Cactus. We open-sourced Needle, a 26M parameter function-calling (tool use) model. It runs at 6000 tok/s prefill and 1200 tok/s decode on consumer devices. We were always frustrated by the little effort made towards building agentic models that run on budget phones, so we conducted investigations that led to an observation: agentic experiences are built upon tool calling, and massive models are overkill for it. Tool calling is fundamentally retrieval-and-assembly (match query to tool name, extract argument values, emit JSON), not reasoning. Cross-attention…

    Life & fun · May 2026 · github.com

  • 🌱 Private, quiet space for thinking. Simple app for .md files. - zakirullin/files.md

    Dev tools · May 2026 · github.com