##
16-Year-Old Creates Scientific/Graphing Calculator In *Minecraft*
160

New submitter petval tips another amazing

*Minecraft*project: a functioning scientific/graphing calculator. "On a virtual scale, the functional device is enormous — enough so that anyone in the real world would become a red blot of meat and bone staining the road if they fell from the very top. Honestly, his virtual machine looks more like a giant cargo ship ripped from a sci-fi movie than a working calculator. Yet type your problem out on the keypad, and the answer appears on a large white display mounted on the side of the monstrous brick structure." The creator says it can do "6-digit addition and subtraction, 3-digit multiplication, division and trigonometric/scientific functions ... Graphing y=mx+c functions, quadratic functions, and equation solving of the form mx+c=0." We've previously discussed the creation of a 16-bit ALU in*Minecraft*.

## For those of us who don't know... (Score:4, Interesting)

What's the difficulty of doing something like that? What elements do you have available? Do you have logic-gates, math functions, full-blown scripting, or what?

## Did it without RedPower2 addon (Score:5, Interesting)

There are lots of addons that help with redstone wiring. The premiere one is probably RedPower2. In addition to giving unit-sized gates, latches, and flip-flops, it also gives buses, which can carry 8 bits of data along a single line.

I just can't believe that this is all done without addons. Even building a BDD (Binary to Decimal Decoder) is difficult in Minecraft, and translating that to display the correct digits is complex. I don't mean "complex so that a child couldn't understand it", but complex as in taking a lot of clock cycles. There are only 20 ticks per second in Minecraft, so all these operations quickly add up to a lot of time.

In addition to binary/decimal conversions, and the logic for doing complex operations (dividing is very hard), this calculator even has typesetting. When you have a power, it places the the displayed value as a superscript! Radicals are drawn over values for the SQRT operations!

In essence, I'm a bit skeptical about this. I believed it when I first saw it a few days ago, but the more I think about it, I think it's all staged. I'm curious to see what others think.

As far as my own redstone experience: I've done far more than the average minecraft player, including building adders and counters, but haven't ever attempted any mega projects.

## Level editor? (Score:2, Interesting)

Is there a level editor for Minecraft or did this guy just waste a few years of his life? Also, this is not really different from other CA circuits of which there are far more awesome [quinapalus.com].

## Somewhat impressive (Score:5, Interesting)

A friend of mine (who's 15) and myself (I'm 28 with a CS degree) have a nearly working programmable 8-bit computer in Minecraft. ALU is done, all 256 bytes of memory are done, the instruction tape (made out of sand and glass, much like a punchcard) is done, etc. Another 20 someodd hours and we'll have all of the components connected together and the whole CPU completely done. It actually isn't as hard or take as much time as it may sound.

The most impressive thing about this video is that he did all of the math in BCD rather than just running it on a CPU. I already have multiplication (Booth's algorithm) and other operations programmed on our instruction set (we wrote an assembler and emulator outside of Minecraft to work out the kinks). I'd rather do the complex operations in software rather than laying gates and logic in the hardware.

I don't see how he has enough room for displays of that size. You'd need NxM worth of latches to sustain the pistons that drive the pixels as well as the appropriate muxers to select which pixels are turned on. Our 256 byte memory array is bigger than his entire calculator so I'm a bit skeptical that he isn't using some addons.

## Re:Did it without RedPower2 addon (Score:4, Interesting)

I've built some ALU's and prototypes of CPU's, here is some grandstanding of my TMS1000 clone: http://www.youtube.com/watch?v=t82p-Ql8Djo [youtube.com] The thing is though, while I am an older guy, I went from zero knowledge to this in under 6 months in minecraft. Binary logic is just not that hard. Its just really really repetitive.

After the hundreds of test projects I built, I have a good judge on the amount of logic you need and I have to say, the kid knows his shit. He is basically using 3 shift registers and a shift ALU. That is, he is only calculating one digit at a time with bits hold carry/overflow flags. Notice how he said it was a 6 bit BCD adder? That is JUST enough bits to calculate 9x9 with one bit over for carry. This is why those cheap 99 cent solar calculators are so cheap, it has about the same kind of logic in them. If you build your logic around needing to shift, everything is smaller and easier. It might be slower, but it properly takes longer to cycle the display than to multiply a number. Also, its so small is because he doesn't have a big ass ram bank. 9/10 cpu projects usually are big because of even a bank of 20 registers.

On the mine craft side of things, he uses pressure plates as they look a bit nicer and generally its an easier interface to wire. There is this is/was a big design stuff in the forms about dot matrix displays so I figure he put in his own display stuff there. The only thing I am not impressed with is the "graphing" part of his calculator. Lets face it, the entire core of the thing is a 6 BCD adder with shift logic. This thing is WAY to small and far to limited memory for it to have nothing but static formulas. Also, why didn't he put in a simple clock to just "draw" the grid instead of pressing a button?

But to be honest this is WAY better than that stupid HACK alu. I AM impressed with the original guy who made it, just not all the 100's of clones people have made of it. Very few people have made a 100% working cpu. Anyone can build an ALU, no one builds the state/decoding logic:P

Look at his older caculator, you can see how small the basic logic is there and how much you need for the display:P http://www.youtube.com/watch?v=aSC_YXuONZg [youtube.com]