frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: I built a RISC-V emulator that runs DOOM

https://github.com/lalitshankarch/rvcore
3•Flex247A•2h ago
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 supported.

To port DOOM, I used doomgeneric, which was quite convenient to get working once the required stubs were in place.

DOOM renders to a fixed area in memory (0x705FDD = VRAM_START):

  0x7FFFFF  +-------------------------------------+
            |                                     |
            |        QUEUE_SIZE (32 bytes)        |
            |                                     |
  0x7FFFDF  +-------------------------------------+ <-- QUEUE_START
  0x7FFFDE  |          QUEUE_READ_IDX             |
  0x7FFFDD  |          QUEUE_WRITE_IDX            |
            +-------------------------------------+
            |                                     |
            |                                     |
            |       VRAM (1,024,000 bytes)        |
            |                                     |
            |                                     |
  0x705FDD  +-------------------------------------+ <-- STACK_START
            |                Stack                |
            |                  |                  |
            |                  v                  |
            |                                     |
            |                  ^                  |
            |                  |                  |
            |         Program data + Heap         |
            |                                     |
  0x000000  +-------------------------------------+
I made a small linker script so that the entry point of a C program is at _start and virtual address is always 0. That kept the ELF loader code simple.

Inputs are written to the queue by rvcore which are then intercepted by DOOM running inside it.

Show HN: Apple's Sharp Running in the Browser via ONNX Runtime Web

https://github.com/bring-shrubbery/ml-sharp-web
84•bring-shrubbery•5h ago•11 comments

Show HN: Parrot – a fun, skeuomorphic audio recorder to hear yourself

https://www.zkhrv.com/parrot
2•zkhrv•1h ago•0 comments

Show HN: Glucera Local-first iPhone glucose app, seeking fingerstick beta tester

https://glucera.app/
2•kv0•1h ago•0 comments

Show HN: I built my site as a Windows 95 experience (2025)

https://wes.dev/
5•WesSouza•1h ago•6 comments

Show HN: Flop Map – a 3D globe of every known AI compute cluster

https://flopmap.com
3•kitwebster•2h ago•2 comments

Show HN: State of the Art of Coding Models, According to Hacker News Commenters

https://hnup.date/hn-sota
131•yunusabd•17h ago•76 comments

Show HN: I built a RISC-V emulator that runs DOOM

https://github.com/lalitshankarch/rvcore
3•Flex247A•2h ago•0 comments

Show HN: Pollen – distributed WASM runtime, no control plane, single binary

https://github.com/sambigeara/pollen
121•sambigeara•3d ago•57 comments

Show HN: DAC – open-source dashboard as code tool for agents and humans

https://github.com/bruin-data/dac
104•karakanb•3d ago•33 comments

Show HN: Mljar Studio – local AI data analyst that saves analysis as notebooks

https://mljar.com/
65•pplonski86•1d ago•10 comments

Show HN: Piruetas – A self-hosted diary app I built for my girlfriend

https://piruet.app
62•patillacode•1d ago•48 comments

Show HN: Browser-based light pollution simulator using real photometric data

https://iesna.eu/?wasm=skyglow_demo
38•holg•1d ago•12 comments

Show HN: Filling PDF forms with AI using client-side tool calling

https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228e6ff7b11eb3f2d945b6175913e87898ec96ca...
51•nip•1d ago•25 comments

Show HN: Enoch – Control Plane for Autonomous AI Research

https://github.com/alias8818/enoch-agentic-research-system
4•aliasocracy•6h ago•1 comments

Show HN: Rust library for Undo/Redo using deltas, snapshots or commands

https://github.com/mikwielgus/undoredo
20•mikolajw•19h ago•4 comments

Show HN: Large Scale Article Extract of Newspapers 1730s-1960s

https://snewpapers.com/
46•brettnbutter•1d ago•20 comments

Show HN: AI CAD Harness

https://fusion.adam.new/install
93•zachdive•1d ago•92 comments

Show HN: WhatCable, a tiny menu bar app for inspecting USB-C cables

https://github.com/darrylmorley/whatcable
539•sleepingNomad•2d ago•165 comments

Show HN: Stop playing my matchstick puzzles, start building your own in seconds

https://mathstick.github.io
34•trangram•1d ago•28 comments

Show HN: Site Mogging

https://sitemogging.com
67•jilles•2d ago•74 comments

Show HN: Loopsy, a way for terminals and AI agents on different machines to talk

https://github.com/leox255/loopsy
55•todience•2d ago•12 comments

Show HN: I'm running parallel Pi agents on a local sandbox

https://github.com/CelestoAI/SmolVM/
5•theaniketmaurya•11h ago•0 comments

Show HN: Lisa a live dynamic wavetables synth you play and program in real-time

https://github.com/dr-schlange/LISA
2•drschlange•13h ago•0 comments

Show HN: Perfect Bluetooth MIDI for Windows

104•mayerwin•2d ago•34 comments

Show HN: SimDrive – a browser racing game with your phone as the controller:D

https://simdrive.xyz/
19•1000xcat•3d ago•9 comments

Show HN: Agent-desktop – Native desktop automation CLI for AI agents

https://github.com/lahfir/agent-desktop
93•lahfir•1d ago•35 comments

Show HN: A (de)compiler and parser/engine for custom Magic: The Gathering cards

https://chiplis.com/ironsmith/
3•nicolas-siplis•14h ago•0 comments

Show HN: A new benchmark for testing LLMs for deterministic outputs

https://interfaze.ai/blog/introducing-structured-output-benchmark
59•khurdula•3d ago•28 comments

Show HN: Drive any macOS app in the background without stealing the cursor

https://github.com/trycua/cua
189•frabonacci•4d ago•41 comments

Show HN: Rotato – Node.js proxy that rotates LLM API keys on 429 errors

https://github.com/p32929/rotato
2•heliskyr2•17h ago•0 comments