- What would you say is your biggest learning from this experiment?
- What were the Aha! moments you experienced while learning like this? For example, something you vaguely understood before but is now super clear to you.
I would say the RISC-V immediate encodings were like that, on first look they seemed completely random but as soon as I started implementing the decoder I realized they were geniusly crafted to make my life as easy as possible.
Not really, unless you're a complete dunce. Money can be obtained in various ways that don't require soul sucking work of letting your life slip away in computer chair staring at screens. Anyone with a decently average emotional IQ knows this.
Minecraft computers have been done for a while now, but seeing a full RISC-V computer running programs is really impressive, and frankly just seems really cool. The programs are written in Rust, and then compiled to run in game. Plus, the author needed to write their own mod to make the Terraria wiring efficient enough to support the computer: https://github.com/misprit7/WireHead
I lost it when he dropped the containerized CI pipeline! Shows he was thinking about the whole process, not just the (literally) fiddly bits. Incredibly broad set of skills the author demonstrated.
I cannot believe he did the wiring "by hand". Loved the bug example he highlighted, which I hope is something he can reference later in life, "What's the most difficult bug you ever fixed?"
Holy shit! Game, optimizations, code, test suite and even a simple 3D render - not to mention a well edited video game with a great sense of humor, gags, memes and the obvious next step already in the works.
Fully compliant to RISC-V how? Is it conforming to a specific RVI profile? The project states "By emulating a complete rv32i instruction set inside the wiring system of Terraria, we push back speeds to the early 70s era, tossing the ball firmly back into the court of silicon engineer without losing any software functionality."
So this is building a RISC-V *microcontroller* but what version of the ISA? 2.2 from 2017? Is it sucessfully passing conformance tests (https://github.com/riscv-software-src/riscv-tests)? I don't want to dunk on the project, but the title is over-selling and not scoping the context of the work. I look forward to some more updates from @misprit7!
Note: I'm the working group lead for distro-integration within the RISC-V Software Ecosystem (RISE) group.
I'm the one who made this. It's rv32i, and yes the 2017 specs. It passes every rv32i test in the repository you sent, see the test/ folder for the riscof plugin I wrote. I also have CI in a docker to headlessly run Terraria and programmatically run all these tests whenever the world changes on the main branch.
I'm not throwing around fully compliant lightly here!
If you watch the video or check the github repo, (and you really should watch the video, it's fantastic), you'll see he has a full conformance test run in-game as part of a custom built CI/CD pipeline. In Terraria. I really enjoyed writing that.
Very impressive and in such a short time frame. So is the schema for this design only in the game? I assume if the game is saved it can be loaded on another computer? But can the schema/layout be emitted to a file so it can be parsed elsewhere?
Hmm I wonder if they ever fixed Terraria for Mac OS. I bought it based on hype but it wasn't handling my laptop display right so I never found out what it's about.
Also as another comment indicates probably a better explanation of the project is the video I made about it: https://youtu.be/zXPiqk0-zDY