« BackMinecraft HDL, an HDL for Redstonegithub.comSubmitted by sleepingreset 18 hours ago
  • Aromasin 4 hours ago

    The only reason I ended up persuing Electronic Engineering at University, or eventually becoming an FPGA Engineer, was because I spent way too many hours playing with redstone in Minecraft as a teenager. Seeing a Verilog compiler for Minecraft is like seeing my career come full circle.

    • Arch-TK 15 hours ago

      This is an amazing timeline. I still remember the day redstone was added to Minecraft. I spent the entire evening and many days afterwards on the forum brainstorming how to implement various things. I think I had one of the first if not the first T flip flop, it "took an entire room" and was slow. It has been crazy watching things get compacted, repeaters getting added, pistons, comparators. I remember when BUDs got discovered and then eventually just added as a block.

      Now* we have an entire HDL.

      I honestly stopped keeping track of things around 2012 so I am completely lost looking at modern redstone contraptions.

      *8 years ago

      • Dylan16807 14 hours ago

        This is a cool tool but compared to modern redstone contraptions this is a sidegrade, not an upgrade. It's straightforward torch and dust logic, with each torch being a nor gate and dust being wires. And it doesn't consider timing at all. This could have been made the week redstone was added (with minor adjustments to not have repeaters), and it wouldn't have taken any newer insights.

        • Dilettante_ 4 hours ago

          I haven't looked at the code, but you could presumably extend it, or maybe expect further development on the logic?

          ->The repo says "Branch out from master and have fun!"

          • Arch-TK 4 hours ago

            Ah, damn. I was envisioning something limited but not this limited.

          • johnisgood 3 hours ago

            I loved redstone. At some point it got forked and the fork was named "redpower" if I remember correctly. Good stuff.

            There were other great mods (I forgot the name, something that has to do with turtles?) and I remember implementing a shell in Lua, among other things.

            • Arch-TK 2 hours ago

              Red Power was (is... Kind of) an extension not a fork. Although you could call it more an reinterpretation.

              But really RP vs Redstone is more like C vs Assembly. I've seen crazy things done in both but I think I find it a bit more impressive when people use pure Redstone to get things done. There are so many dimensions where you both need to understand the mechanics and where there are opportunities for optimization.

              The turtle mod you are talking about is ComputerCraft.

              • johnisgood 2 hours ago

                Yes, ComputerCraft! I have written so much Lua because of it. Only if I still had the scripts. :(

                I had no idea RedPower is not a fork, I just remember having switched to it because of no updates for Redstone or version incompatibility issues or something? It's been a really long time ago.

                • Arch-TK an hour ago

                  Redstone isn't a mod. It was added to Minecraft in a secret Friday update in the early days around alpha iirc.

        • dang 17 hours ago

          Related:

          Verilog to Minecraft Redstone Synthesizer - https://news.ycombinator.com/item?id=25195802 - Nov 2020 (12 comments)

          (Reposts are fine after a year or so! https://news.ycombinator.com/newsfaq.html)

          • verdverm 13 hours ago

            I wonder if this takes account of any of the quirks or quasi-connectivity in redstone?

            Mumbo Jumbo recently got a lesson in, and made a video about, computational redstone. Some seriously impressive builds in there (like ms paint). One of the major design constraints is tick/lag. The recent addition of copper bulbs turned the t-flipflop into a single block solution

            https://www.youtube.com/watch?v=jTZaUz8bYW8

            • rbits 10 hours ago

              It seems to only use redstone dust, repeaters, and torches. So quasi-connectivity wouldn't affect it

            • SLWW 12 hours ago

              I wrote a 8-bit ripple adder when I was 16 one night; I thought about this idea then but it seemed like a massive undertaking.

              With all the additional redstone items/capabilities however I could imagine most circuits could be more and more compact..

              All in all, really cool

              • eirikbakke 15 hours ago

                In case anyone needs a minimal CPU implementation in 65 lines of Verilog: https://people.csail.mit.edu/ebakke/fic/ https://people.csail.mit.edu/ebakke/fic/code/Fic.v

                (I wonder if it would convert cleanly to a redstone circuit...)

                • lpribis 14 hours ago

                  This compiler does not support sequential logic, meaning no flip flops/registers.

                • paulwetzel 17 hours ago

                  Super cool project :) Just the right level of, objectively useless - but really fun!

                  • 8note 16 hours ago

                    Optimizing passes for this would be interesting.

                    Describing a flip flop as a villager minecart with some number of NaN minecarts beside it seems challenging to pick when to use it vs a copper bulb.

                    • thedougd 13 hours ago

                      I’ve been looking for any reason to relearn Verilog and this might give me my first idea.

                      Such a cool idea. Thank you.

                      • gatane 16 hours ago

                        Amazing project!!

                        • throwaway290 17 hours ago

                          Minecraft circuits can't have feedback? That's pretty sad:(

                          • melncat 17 hours ago

                            They can. It's just that this specific program is not capable of translating it.

                            • throwaway290 11 hours ago

                              I couldn't find any examples by googling, give one?

                        • Sweepi 15 hours ago

                          > A 2-bit 7-segment display decoder in action (the display itself was not generated by MinecraftHDL)

                          Lame!(/s) I did this vanilla Minecraft(1.12?), including the display itself.