proomt

Search

Search posts, papers, and topics

All posts

Hacker News front pageAgainst All Odds7 min readintermediate

Show HN: Our space game has a built-in RISC-V emulator that runs Linux

Summary

The post explains PasRISCV, an open‑source full‑system RISC‑V emulator written in Object Pascal that runs Alpine Linux inside the SEEDS game. It covers the hybrid interpreter/JIT, device emulation (VirtIO storage, framebuffer, audio), networking, and debugging integration.

  • PasRISCV is a full‑system RV64GC emulator in Object Pascal, using an interpreter plus a tracing JIT (x86‑64 hosts) that handles ~99% of instructions.
  • It boots Alpine Linux via OpenSBI → U‑Boot, exposing VirtIO block/NVMe and VirtIO‑9P/FS for disk images and host directory sharing.
  • Graphics are provided through a SimpleFB framebuffer, with optional VirtIO‑GPU and experimental VirGL for 3D, enabling in‑game shader effects.
  • Audio emulation includes legacy OPL2/OPL3, CMI8738, FM801, Intel HDA and VirtIO sound, allowing retro chiptune playback inside the VM.

Game developers and emulator engineers will find the design choices and integration details useful for embedding a full Linux environment in interactive applications.

6/10

Related reading

  1. A custom virtual machine for the Stars! 4X game

    Stars!VM is a 32‑bit Windows executable that embeds a custom 80286 emulator and a Win16‑to‑Win32 bridge to run the 1995 4X game Stars! without any external emulators. The author adds differential fuzzing, hot‑routine patching, I/O buffering and asset compression, achieving about a 2× speedup in turn generation.

    Chris Wellonsnullprogram.com5 minHN8422
  2. Building smarter AMRs with the Arduino® VENTUNO™ Q board

    The Arduino VENTUNO Q board combines a Linux‑capable MPU with a real‑time MCU, enabling a single platform for ROS 2 navigation, sensor fusion, and low‑latency motor control in autonomous mobile robots. The post shows how LiDAR, cameras, edge‑AI and an MPU‑to‑MCU communication layer let developers prototype AMRs step by step.

    Arduino Blogarduino.cc7 min
  3. Article: Your Next DSL Author Is a Language Model

    Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…

    InfoQinfoq.com18 min