Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Well, Doom runs everywhere.
  • We need to update Stardew Valleys saloon game to play Doom
  • I wonder, if Doom didn’t exist, what would have taken its place for the “can it run X” usage.
  • Doom 2. And only John "Benevolent hyper-intelligent architect of the post singularity simulation we all live in" Carmack would know why he named it that.
  • why Zmmul and not full M — is it just fpga area, or did the doom port let you drop div/rem?
  • I'm kinda lazy lol. We are also implementing out-of-order rn, so we want to get a really solid rv32i setup going before adding multiplication, floating point, vector, etc.
  • Always a delight seeing Chisel in the wild :)
  • Reading "Custom CPU" I expected wafer.space, instead of FPGA.
  • We hope to tape it out, along with an NPU and GPU once we raise $10k. Though first we have to find $10k :(
  • Very cool!

    I 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/

  • This is just RV32I-ZMMUL not a custom architecture, bt if you do want to see something from scratch, without any premade ISA or anything, here is an NPU I built: https://www.armaangomes.com/blogs/kernn/
  • When you say "can upload any model to it" are you talking LLM models? Surely there is a limit eg. parameters
    by ge96
  • Cool, I thought this was a CPU custom designed for Doom, but I guess that's just a 486 :)

    edit: I went to down a quick hole "The historical footnote is that a version of this genuinely happened. SNES Doom shipped with a Super FX 2 in the cartridge, a custom RISC chip with a pixel-plot instruction, because the console's own CPU had no chance. Jaguar and PlayStation ports both moved the rasteriser onto dedicated hardware. Doom's design was shaped by the absence of an FPU, and then hardware kept getting built to catch up with it."

  • > but I guess that's just a 486

    *just* a 486. :-(

  • > SNES Doom shipped with a Super FX 2 in the cartridge, a custom RISC chip with a pixel-plot instruction, because the console's own CPU had no chance.

    The Super FX is a custom RISC chip, but it was custom made for Star Fox and used for other projects with refinements.

  • Great 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

  • Nice one! Sounds like a fun project to do. Did you follow any tutorial or guide for this? If so, I would appreciate it if you shared it.
  • > posted a video that got a few million views

    Anybody got a link to that?

    Is it this?

    https://www.instagram.com/armaan.gomes/reel/DatqWKChtnw/?hl=...

    I was expecting a real video, not some 9 second clip posted to random social media website.

  • > instagram

    > random social media website

  • For 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.
  • thanks for saving me the time but it is pretty cool to see i'd love to learn more about fpga my goal is to run very old rare consoles
  • 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 an RV32I core from scratch.