Alternatives
Products that do what Emacs-riscv – A RISC-V emulator written in Emacs Lisp does
Hi HN, This is a small RISC-V emulator I’ve been hacking on in Emacs Lisp as a fun weekend project. It started mostly as a way to better understand the RISC-V spec by implementing things myself, and also as an excuse to write more non-trivial Emacs Lisp. It currently focuses on RV32I and related basics, and is very much not optimized or production-ready. If you’re into RISC-V, emulators, or just enjoy seeing unusual things built in Emacs Lisp, feedback and comments are welcome Happy hacking!
- 1LR
2022 · github.com
- 2RV
2023 · github.com
- 3IB
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…
May 2026 · github.com
- 4NR
Just released EGG, an emulator created for teaching Assembly and microprocessors (designed to suit the needs of the Microprocessors classes, at Universidade Federal do Paraná, Brazil). The emulator will support multiple architetures in the future, but currently only RISC-V is implemented.
2024 · github.com
- 5MA
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…
2022 · github.com
- 6

Modified version of the original from http://www.projectoberon.com/ for use with the Oberon IDE - GitHub - rochus-keller/OberonSystem at op2-rv32
28d ago · github.com
- 7VR
2021 · github.com
- 8IW
The book page links to a blog post that explains how I got about it (and has a link to sample content), but the TL&DR is that I could not find a lot of books that were on "our" history _and_ were larded with technical details. So I set about writing one, and some five years later I'm happy to share the result. I think it's one of the few "computer history" books that has tons of code, but correct me if I'm wrong (I wrote this both to tell a story and to learn :-)). My favorite languages are Smalltalk and Lisp, but as an Emacs user, I've been using the latter for much longer and for my…
Feb 2026 · berksoft.ca
- 9II
Hi HN, To truly understand how operating systems and network protocols work, I decided to combine two classic learning tools: the xv6 teaching OS and a from-scratch TCP/IP stack. I'm excited to share the result: my own from-scratch TCP/IP networking stack running directly inside the xv6-riscv (https://github.com/pandax381/xv6-riscv-net) kernel. The project uses a modern virtio-net driver, allowing it to run seamlessly in QEMU and communicate with the host machine. Key features: - From-Scratch Stack: The core is powered by microps…
2025 · github.com
- 10C1
2020 · github.com
- 11EC
2022 · emacs.amodernist.com
- 12MM
Hi HN, I’m Dvir, a young developer. Last year, I got rejected after a job interview because I lacked some CPU knowledge. After that, I decided to deepen my understanding in the low level world and learn how things work under the hood. I decided to try and create an OS in C and ASM as a way to broaden my knowledge in this area. This took me on the most interesting ride, where I’ve learned about OS theory and low level programming on a whole new level. I’ve spent hours upon hours, blood and tears, reading different OS theory blogs, learning low level concepts, debugging, testing and working on…
Oct 2025 · github.com
- 13
- 14IF
2019 · github.com
- 15PX
Hi HN, I ported the teaching OS xv6-riscv to HiFive Unmatched and got it running on real hardware, including passing usertests. I've been self-studying OS internals using the MIT 6.1810 materials. After finishing most of the labs, I was eager to see what it's like to run the OS on bare metal, rather than QEMU. The Unmatched may not have the latest RISC-V features, but it's well-documented, and the Rev B release has made it more affordable, which makes it a good learning platform. The porting process involved several interesting challenges: - Hardware Quirks: Handling things like enabling…
Jan 2026 · github.com
- 16MS
This is a little game implemented over a week of tinkering and targeting Emacs. The point is both to have fun with this kind of simulations, and also explore the "functional core / imperative shell" approach to architecture. I also developed a tile and tile effect definition DSL, which makes this even easier to extend. From this point of view it's a success: easy testing, easy extension, Gameplay-wise the simulation is too simplistic, and needs input from people interested in this kind of toys. The original Micropolis/SimSity is the last time I built a virtual city.
Feb 2026 · github.com
- 17E3
2020 · github.com
- 18RV
Weekend creation: A Linux terminal on top of a RISC-V emulator running in the browser via WebAssembly, powered by the Cartesi Machine. Check cool commands to experiment in the project page https://github.com/edubart/cartesi-wasm-term
2023 · cartesi-machine.surge.sh
- 19IF
The point of this seemingly useless exercise was to stress-test my elisp-eval MCP https://github.com/agzam/death-contraptions/tree/main/tools/... AI hands it a string of Lisp, it runs inside live Emacs session, poking into it via emacsclient. Behaves like a REPL the LLM can drive - state persists between the calls. Emacs is a Lisp machine. Buffers, files, network, subprocesses, games, major modes, the UI itself: every feature is already an elisp function. Hand an LLM a way to run arbitrary elisp and it inherits the entire Emacs API for free. No…
Apr 2026 · imgur.com
- 20LC
I made a simple virtual machine that runs C in the browser.This project is made as an experiment to see if C can be learned easier if the lower level is covered in paralel. Sandbox: https://vasyop.github.io/miniC-hosting Tutorial part 1: https://vasyop.github.io/miniC-hosting/?0 More info: https://github.com/vasyop/miniC-hosting/blob/master/README.md Please support this project: https://github.com/vasyop/miniC-hosting/blob/master/support.md
2019
- 21IB
A while back I wrote a CHIP-8 emulator (which is considered the Hello, World! of emulators and is more accurately a virtual machine since historically CHIP-8 was an interpreted language running on top of the COSMAC VIP to make game programming easier). But a few months ago I got really interested in embedded software, so decided it would be neat to port my emulator to a STM32 MCU and design a console around it as a learning experience, since CHIP-8 never existed as a physical system. I didn't know much about embedded software when I began, and even less about electronics, but I managed to…
2022 · github.com
- 22VA
We’ve been working on Vaev, a minimal web browser engine built from scratch. It supports HTML/XHTML, the CSS cascade, @page rules for pagination, and print-to-PDF rendering. It even handles calc(), var(), and percentage units—and yes, it renders Google.com (mostly). This is an experimental project focused on learning and exploration. Networking is basic (http:// and file:// only), and grid layouts aren’t supported yet, but we’re making progress fast. We’d love your thoughts and feedback.
2025 · github.com
- 23CC
2014 · tuhdo.github.io
- 24JS
Together with PEZ (Peter Strömberg) I made a VSCode extension that allows you to script VSCode using Clojure (interpreted CLJS). The repo: https://github.com/BetterThanTomorrow/joyride Introductory video: https://www.youtube.com/watch?v=V1oTf-1EchU See examples directory: https://github.com/BetterThanTomorrow/joyride/tree/master/ex... See animated gifs and news on Twitter: https://twitter.com/hashtag/vsjoyride?src=hashtag_click&f=li...
2022
Ranked by how close each launch is in meaning, then by votes. Refine with a description →