TIS-3D: Low-tech Computing for Minecraft
TIS-3D is a Minecraft mod inspired by the brilliant game TIS-100 (buy it, seriously). It takes the concept of minimal, programmable nodes (called "modules" in the mod) and expands it to the third dimension. This allows building multi-block computers from different modules in a super-flexible manner. Some generally useful modules include the executable module, which can be programmed in an ASM dialect (as introduced by TIS-100 but with a few more quality-of-life instructions), and the redstone module, which allows reading and writing redstone signals, enabling basic interaction with the world. More specialized modules include the stack module, providing a small data storage, the infrared module, allowing for wireless transmission of data between TIS-3D computers, and the terminal module, providing rudimentary text in- and output. And there's plenty more.
Getting Started
To get started, craft a controller and a few casings. For looking up recipes I strongly recommend grabbing JEI. To get a copy of the in-game manual, use a book on a placed controller (i.e. right click the block with vanilla book in hand). You should find all further information you require in the manual.
Programming TIS-3D Computers
To program a TIS-3D computer, you can either use a vanilla Book & Quill or the TIS-3D Code Bible. To install a program from one of the two onto an execution module, simply use the book on the installed module (i.e. right-click it while holding the book in hand). When using the Book & Quill, each book will be treated as one long program, i.e. all pages will be concatenated when the program is installed on an execution module. When using the Code Bible, each page is treated as an individual program, and the program on the currently selected page will be installed on the module. You can also copy programs from execution modules back into the Code Bible by using it on an execution module while sneaking.
What now?
So what do you actually do with the mod? Have fun with it! Use it as a means of automating things you'd otherwise automate using complicated redstone circuitry. Create a music machine. Design a machine-code interpreter and run even larger programs (programmed into a ROM module). Go nuts!
Anyway. Here's a short video explaining some of the basics if you don't like reading. It's from an early development stage, but the core concepts still apply.
Would love to see this on forge :C TIS-100 is my favorite game.
In reply to kinguscarp:
In forge the author make OpenComputer(But its not update for a long time and use lua to code programmes)
In forge now can only use CC:tweaked
I looked at the docs, and it doesn't seem like there's a call stack or any way to jump to absolute addresses in a program. Is there some other way to approximate functions in this, or are you forced to just manually work out your jump statements?
In reply to Techno_Turnovers:
One way to approximate functions is to treat every execution unit as a single function.
this was amazing till it was fabric only
In reply to invokersmb:
Forge releases up til 1.12 are still available for download
I just found this today -- what an incredible mod!
Is there a version of the books that can be printed?
Also, perhaps a sample program or two?
I am reading thru the books now and my plan is to learn how to write, install and run the famous 'Hello, world' program.
One more question: will this mod work on a server?
In reply to 051992:
Yes, the mod works on servers.
will you make a forge 1.15+ version?
Me looking for a low level computer mod: Not low level enough!
Seriously though this looks really cool.
In reply to ttam_man:
redstone is the lowest level computer mod
people have made functioning cpus with it, and i think that ss adders are generally faster than binary ones.
ss means signal strength, eg power strength
In reply to hackaholic5069:
Yup, they are unfortunately not practically space efficient. A redstone computer is a project for creative. I've got some thoughts for a mod somewhere between this and redstone that I think I might work on. I need to start with smaller mods first though. The idea is essentially just 16bit wires with adders, muxes, shifters, and logic. As well as some other combinational stuff for control logic. The end goal would be to allow a player to build a computer that doesn't lag the game and fits in a large room instead of being spread across multiple chunks. Very similar to the infra-redstone mod but not quite the same.
In reply to ttam_man:
what's a shifter? google and wikipedia don't give me any relevant data
In reply to hackaholic5069:
Edit: I found a better article, it's called a barrel shifter. Although that one seems to be particular to a circular shift. It IS interesting that wikipedia doesn't have an 8 page long article on all the shifters like it does for most things, which makes me think I'm using the wrong term.
It's used for bit shifts, I might not be using the correct terminology. It's hidden in the bitwise operation page on wikipedia.
To summarize:
You feed an x-bit field and a log2(x) bit selection and the signals get "shifted" that number over. So a shift left of 00001010 with a selection of 3 would result in 01010000. iirc I was taught to implement it with a bunch of muxes but I think you can trim the gate count down by working with simpler parts. Generally you have left and right shifts of arithmetic, circular, and logical types. Logical zero extends, circular wraps around, arithmetic sign extends. It seems the popular implementation is just to incorporate it into the registers.
In reply to ttam_man:
so, the SHL command in tis-3d then
In reply to hackaholic5069:
Yeah sounds right.
Brilliant work! This is one of my favourite mods of all time, and with good reason.
forge please
In reply to dipper_lagrange1:
Latest forge release can be found here: https://www.curseforge.com/minecraft/mc-mods/tis-3d/files/2704877
In reply to ancurio:
tysm I wanted this so long for forge 1.15.2 :) :D