Running Doom on Our Custom CPU and Going Viral
armaangomes.com
Running Doom on Our Custom CPU and Going Viral
1–10 of 41 posts
Re: Running Doom on Our Custom CPU and Going Viral
#2Re: Running Doom on Our Custom CPU and Going Viral
#3Re: Running Doom on Our Custom CPU and Going Viral
#4For anyone else curious: custom FPGA-based CPU code but not a custom architecture. This is an RV32I core. The article takes along time to give up this fact.
Re: Running Doom on Our Custom CPU and Going Viral
#5For anyone else curious: custom FPGA-based CPU code but not a custom architecture. This is an RV32I core. The article takes along time to give up this fact.
Basically, they had the API interface and implemented everything behind it. I think saying that "it's an RV32I core" vastly underrates the design work that goes into actually implementing an RV32I core from scratch.
Re: Running Doom on Our Custom CPU and Going Viral
#6For anyone else curious: custom FPGA-based CPU code but not a custom architecture. This is an RV32I core. The article takes along time to give up this fact.
Deciding on an ISA like RV32I only sets constraints on your architecture, it doesn't give you any of it for free. So I think it's entirely valid to say that it's a custom architecture if they didn't use any pre-existing CPU design. Basically, they had the API interface and implemented everything behind it. I think saying that "it's an RV32I core" vastly underrates the design work that goes into actually implementing…
Re: Running Doom on Our Custom CPU and Going Viral
#7For anyone else curious: custom FPGA-based CPU code but not a custom architecture. This is an RV32I core. The article takes along time to give up this fact.
Deciding on an ISA like RV32I only sets constraints on your architecture, it doesn't give you any of it for free. So I think it's entirely valid to say that it's a custom architecture if they didn't use any pre-existing CPU design. Basically, they had the API interface and implemented everything behind it. I think saying that "it's an RV32I core" vastly underrates the design work that goes into actually implementing…
What you describe (the specific implementation details of a core) is *microarchitecture*. In this case clearly a lot of work was done and it is cool, but the *architecture* is indeed RV32I and not custom
I was not undermining anything. I was helping others find the info I sought and took a while to find. This is why i left my comment. Everyone has their own interests. As an example, my thoughts were "whoa... a new architecture... did they write a new compiler or rewrite doom in assembly?" and for that "it is rv32i" would have been a quick answer.
Re: Running Doom on Our Custom CPU and Going Viral
#8This 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!
If anyone's curious, here's the source code: https://github.com/lalitshankarch/rvcore
Re: Running Doom on Our Custom CPU and Going Viral
#9I just did the same thing, but for a byte-code interpreter for a completely novel ISA I made up a while back (with an assist from Claude). I just haven't made the HN post yet, since I'm doing a bit of cleanup.
https://github.com/paulmooreparks/Maize/ https://paulmooreparks.github.io/Maize/
Re: Running Doom on Our Custom CPU and Going Viral
#10Great work! 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! If anyone's curious, here's the source code: https://github.com/lalitshankarch/rvcore