<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Flex247A</title><link>https://news.ycombinator.com/user?id=Flex247A</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 22 Jul 2026 01:38:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Flex247A" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Flex247A in "Running Doom on Our Custom CPU and Going Viral"]]></title><description><![CDATA[
<p>Hi, I didn't follow any specific guide on this, but asked ChatGPT about the bare minimum environment needed to run DOOM. From there, I figured out how to execute the instructions using a switch-case and how to make a custom syscall to trigger rendering.<p>I made a post a while back that details the entire process: <a href="https://www.reddit.com/r/EmuDev/comments/1t1or4j/doom_runs_on_my_custom_riscv_emulator/" rel="nofollow">https://www.reddit.com/r/EmuDev/comments/1t1or4j/doom_runs_o...</a></p>
]]></description><pubDate>Tue, 21 Jul 2026 08:51:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48989745</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=48989745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48989745</guid></item><item><title><![CDATA[New comment by Flex247A in "Running Doom on Our Custom CPU and Going Viral"]]></title><description><![CDATA[
<p>Great work!<p>This reminded me of a project I built a while back: a RV32IM emulator in C++ that can boot and run DOOM. Initially I implemented only RV32I, and implementing the M extension provided a massive speedup!<p>If anyone's curious, here's the source code: <a href="https://github.com/lalitshankarch/rvcore" rel="nofollow">https://github.com/lalitshankarch/rvcore</a></p>
]]></description><pubDate>Tue, 21 Jul 2026 07:30:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48989186</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=48989186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48989186</guid></item><item><title><![CDATA[New comment by Flex247A in "Show HN: I built a RISC-V emulator that runs DOOM"]]></title><description><![CDATA[
<p>Pretty much yeah</p>
]]></description><pubDate>Wed, 06 May 2026 13:34:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48036069</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=48036069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48036069</guid></item><item><title><![CDATA[Show HN: I built a RISC-V emulator that runs DOOM]]></title><description><![CDATA[
<p>Demo: <a href="https://www.youtube.com/watch?v=f5uygzEmdLw" rel="nofollow">https://www.youtube.com/watch?v=f5uygzEmdLw</a><p>Hi HN,<p>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.<p>Since then I have been working tirelessly to get DOOM to run.<p>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.<p>I have also added ELF loading, but currently only a single `PT_LOAD` segment is supported.<p>To port DOOM, I used doomgeneric, which was quite convenient to get working once the required stubs were in place.<p>DOOM renders to a fixed area in memory (0x705FDD = VRAM_START):<p><pre><code>  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  +-------------------------------------+
</code></pre>
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.<p>Inputs are written to the queue by rvcore which are then intercepted by DOOM running inside it.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47996055">https://news.ycombinator.com/item?id=47996055</a></p>
<p>Points: 50</p>
<p># Comments: 4</p>
]]></description><pubDate>Sun, 03 May 2026 11:57:12 +0000</pubDate><link>https://github.com/lalitshankarch/rvcore</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=47996055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47996055</guid></item><item><title><![CDATA[Modern Microprocessors – A 90-Minute Guide]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.lighterra.com/papers/modernmicroprocessors/">https://www.lighterra.com/papers/modernmicroprocessors/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47737499">https://news.ycombinator.com/item?id=47737499</a></p>
<p>Points: 188</p>
<p># Comments: 21</p>
]]></description><pubDate>Sun, 12 Apr 2026 09:05:29 +0000</pubDate><link>https://www.lighterra.com/papers/modernmicroprocessors/</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=47737499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47737499</guid></item><item><title><![CDATA[New comment by Flex247A in "GPU-Driven Clustered Forward Renderer"]]></title><description><![CDATA[
<p>Lights in games use real electricity :)</p>
]]></description><pubDate>Tue, 20 May 2025 17:22:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=44043835</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=44043835</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44043835</guid></item><item><title><![CDATA[New comment by Flex247A in "Material 3 Expressive"]]></title><description><![CDATA[
<p>Leetcode monkeys with little dev experience will do that.</p>
]]></description><pubDate>Fri, 16 May 2025 11:56:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44004310</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=44004310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44004310</guid></item><item><title><![CDATA[New comment by Flex247A in "Compressed music might be harmful to the ears"]]></title><description><![CDATA[
<p>By compression they mean dynamic range compression, which loudens softer sounds so they are more audible.<p>Pop songs for example, are heavily compressed because "compressed" music sounds "better" on cheap external speakers with bad dynamic range. Kinda like increasing the saturation on a cheap TFT panel.</p>
]]></description><pubDate>Fri, 16 May 2025 10:14:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44003621</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=44003621</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44003621</guid></item><item><title><![CDATA[New comment by Flex247A in "Coinbase says hackers bribed staff to steal customer data, demanding $20M ransom"]]></title><description><![CDATA[
<p>Just when it was included in S&P500 :(</p>
]]></description><pubDate>Fri, 16 May 2025 08:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44003007</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=44003007</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44003007</guid></item><item><title><![CDATA[Ubuntu 25.10 Plans to Use Sudo-Rs by Default for Memory-Safe, Rust-Based Sudo]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.phoronix.com/news/Ubuntu-25.10-sudo-rs-Default">https://www.phoronix.com/news/Ubuntu-25.10-sudo-rs-Default</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43914042">https://news.ycombinator.com/item?id=43914042</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 07 May 2025 10:27:25 +0000</pubDate><link>https://www.phoronix.com/news/Ubuntu-25.10-sudo-rs-Default</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=43914042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43914042</guid></item><item><title><![CDATA[New comment by Flex247A in "ePub-utils: A Python library and CLI tool for inspecting ePub from the terminal"]]></title><description><![CDATA[
<p>Personal plug: <a href="https://github.com/lalitshankarch/Qitab">https://github.com/lalitshankarch/Qitab</a><p>This is a small EPUB reader I made that uses the system Webview to render EPUB documents!</p>
]]></description><pubDate>Sat, 03 May 2025 17:59:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=43880853</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=43880853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43880853</guid></item><item><title><![CDATA[Show HN: WinMon – A Lightweight Process Monitor for Windows in Rust]]></title><description><![CDATA[
<p>Hi guys,<p>I’ve always liked the Windows Sysinternals tools, so I decided to reimplement pslist as a small learning project. Ended up using the windows-rs crate and I found that very pleasant to use.<p>While most of the code is inside unsafe blocks, I really liked how the code ended up being!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43810087">https://news.ycombinator.com/item?id=43810087</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 27 Apr 2025 07:19:34 +0000</pubDate><link>https://github.com/lalitshankarch/winmon</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=43810087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43810087</guid></item><item><title><![CDATA[Mistral: Le Chat]]></title><description><![CDATA[
<p>Article URL: <a href="https://chat.mistral.ai/chat">https://chat.mistral.ai/chat</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42970286">https://news.ycombinator.com/item?id=42970286</a></p>
<p>Points: 7</p>
<p># Comments: 2</p>
]]></description><pubDate>Fri, 07 Feb 2025 07:21:44 +0000</pubDate><link>https://chat.mistral.ai/chat</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=42970286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42970286</guid></item><item><title><![CDATA[OpenFyde: Open-Source Version of FydeOS]]></title><description><![CDATA[
<p>Article URL: <a href="https://openfyde.io/">https://openfyde.io/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42155911">https://news.ycombinator.com/item?id=42155911</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 16 Nov 2024 11:45:29 +0000</pubDate><link>https://openfyde.io/</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=42155911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42155911</guid></item><item><title><![CDATA[New comment by Flex247A in "MomBoard: E-ink display for a parent with amnesia"]]></title><description><![CDATA[
<p>Not a good idea for someone with memory loss to use an LLM, especially when they are prone to hallucination!</p>
]]></description><pubDate>Fri, 15 Nov 2024 04:07:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=42143885</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=42143885</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42143885</guid></item><item><title><![CDATA[New comment by Flex247A in "MomBoard: E-ink display for a parent with amnesia"]]></title><description><![CDATA[
<p>There are some cheap android phones which come with an IR sensor. But the app for such functionality needs to be custom made.</p>
]]></description><pubDate>Fri, 15 Nov 2024 04:05:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=42143879</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=42143879</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42143879</guid></item><item><title><![CDATA[New comment by Flex247A in "SSH Remoting"]]></title><description><![CDATA[
<p>It does work.<p>Automated builds are here: <a href="https://github.com/deevus/zed-windows-builds">https://github.com/deevus/zed-windows-builds</a></p>
]]></description><pubDate>Thu, 31 Oct 2024 08:04:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=42004450</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=42004450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42004450</guid></item><item><title><![CDATA[New comment by Flex247A in "QUIC is not quick enough over fast internet"]]></title><description><![CDATA[
<p>Example of an almost instant webpage today: <a href="https://www.mcmaster.com/" rel="nofollow">https://www.mcmaster.com/</a></p>
]]></description><pubDate>Sun, 20 Oct 2024 11:29:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41894650</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=41894650</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41894650</guid></item><item><title><![CDATA[Halide: A language for fast, portable computation on images and tensors]]></title><description><![CDATA[
<p>Article URL: <a href="https://halide-lang.org/">https://halide-lang.org/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41807406">https://news.ycombinator.com/item?id=41807406</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 11 Oct 2024 08:17:07 +0000</pubDate><link>https://halide-lang.org/</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=41807406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41807406</guid></item><item><title><![CDATA[Official statement from Godot Foundation board]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/godotfoundation/status/1840721449364988300">https://twitter.com/godotfoundation/status/1840721449364988300</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41697576">https://news.ycombinator.com/item?id=41697576</a></p>
<p>Points: 25</p>
<p># Comments: 4</p>
]]></description><pubDate>Mon, 30 Sep 2024 14:33:54 +0000</pubDate><link>https://twitter.com/godotfoundation/status/1840721449364988300</link><dc:creator>Flex247A</dc:creator><comments>https://news.ycombinator.com/item?id=41697576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41697576</guid></item></channel></rss>