{Update} Sorry for the lack of updates, I've been graduating and getting a job. New stuff should be added soon. :smile.gif:
The CPU is done! It could do with some more memory still, but it'll run a basic program.
I post updates more frequently on my minecraft blog, but I should post any major changes here too.
You can't see the code loader as it's on the other side and is shorter than everything else. The clock is the shorter thing at the bottom right of screen. ALU on the left, memory at the top right, and the rest is registers for the accumulator, program counter, code and addresses.
This is the list of op codes:
0 NOT
1 - memory
2 + memory
3 OR memory
4 WRITE memory
5 BRANCH if Accumulator = 0
6 AND memory
7 LOAD memory
8 NOT
9 - constant
10 + constant
11 OR constant
12 WRITE out
13 BRANCH unconditionally
14 AND constant
15 LOAD constant
I've been putting more frequent updates on my minecraft blog, but I'll post some things here as well. Post here or on the blog if you have any questions, or requests for diagrams. :biggrin.gif:
I've almost finished my CPU, all it's missing is the clock and some more memory (only have 4 bytes at the moment :S), but I've tested the rest and it all works.
This is it from above. The clock is going at the bottom of the screen, and more memory is being added next to what's currently there. It can potentially take up to 256 bytes of memory, but I don't think I'll put that much in, given how much work it is. This is what 2 bytes of it looks like:
This image shows all the parts labelled:
This is what it can do:
Load from memory
Add 2 values
Subtract 2 values
Invert 1 value
And 2 values
Or 2 values
Branch conditionally
Branch unconditionally
Write to memory
Watch this spot, I'll update once the clock is in so that I can show it in action.
Only from the outside. I built it on peaceful mode, so I didn't bother filling it with torches, so it's dark and scary with flashing red lights when you're inside it. :tongue.gif:
Ok, I'll wait for the save, I wanna develop applications for this CPU. xD You will need more memory, try using MCEdit to c&p the memory units. :smile.gif:
Yeah, I'm doing that. It still takes a while though, because I have to hook up the in, out, address and write lines, as well as adjusting the addresses so that everything's in order. :S Should be easy to program once I'm done, I'm adding a bit that'll load things directly into memory. Armed with that, and a table of op codes, it should be easy to start programming. :biggrin.gif:
The CPU is done! It could do with some more memory still, but it'll run a basic program.
I post updates more frequently on my minecraft blog, but I should post any major changes here too.
There's a thread about programming it here: http://www.minecraftforum.net/viewtopic.php?f=35&t=78889
There's a thread about the screen I'm making for it here: http://www.minecraftforum.net/viewtopic.php?f=35&t=98559
It's an 8 bit processor with 8 bytes of RAM, an output register, a code-loader and the ability to branch conditionally and unconditionally.
This is what it looks like from above:
You can't see the code loader as it's on the other side and is shorter than everything else. The clock is the shorter thing at the bottom right of screen. ALU on the left, memory at the top right, and the rest is registers for the accumulator, program counter, code and addresses.
This is the list of op codes:
0 NOT
1 - memory
2 + memory
3 OR memory
4 WRITE memory
5 BRANCH if Accumulator = 0
6 AND memory
7 LOAD memory
8 NOT
9 - constant
10 + constant
11 OR constant
12 WRITE out
13 BRANCH unconditionally
14 AND constant
15 LOAD constant
I've been putting more frequent updates on my minecraft blog, but I'll post some things here as well. Post here or on the blog if you have any questions, or requests for diagrams. :biggrin.gif:
You can download save files here:http://site.lazcraft.info/downloads.php
Other Videos:
Original post:
I've almost finished my CPU, all it's missing is the clock and some more memory (only have 4 bytes at the moment :S), but I've tested the rest and it all works.
This is it from above. The clock is going at the bottom of the screen, and more memory is being added next to what's currently there. It can potentially take up to 256 bytes of memory, but I don't think I'll put that much in, given how much work it is. This is what 2 bytes of it looks like:
This image shows all the parts labelled:
This is what it can do:
Load from memory
Add 2 values
Subtract 2 values
Invert 1 value
And 2 values
Or 2 values
Branch conditionally
Branch unconditionally
Write to memory
Watch this spot, I'll update once the clock is in so that I can show it in action.
More pics: http://lazcraft.info/tagged/cpu
Only from the outside. I built it on peaceful mode, so I didn't bother filling it with torches, so it's dark and scary with flashing red lights when you're inside it. :tongue.gif:
"Yo dawg, we herd u leik computing, so we put a computer in your computer so you can compute while you compute."
Yeah, I'm doing that. It still takes a while though, because I have to hook up the in, out, address and write lines, as well as adjusting the addresses so that everything's in order. :S Should be easy to program once I'm done, I'm adding a bit that'll load things directly into memory. Armed with that, and a table of op codes, it should be easy to start programming. :biggrin.gif:
EPIC POST!
I'll make sure I do one when it's done and post it here, with the save.
This is beautiful
damn And I was happy when I got my ultimate annoyance machine built...
...Pulls out some old circuitry books.
"OOOOOHHHHH MMMYYYYYY GAAWWWWWWWWWWWWW............"
My Minecraft Calculator: http://www.youtube.com/watch?v=DEwUirAcmFo
\sarcasm
OH. MY. GOD.
SAVE PLOX!
I am speechless. Nothing can top this.
If you use MCedit to stack it down and up, you will have won Minecraft. Forever.
That will be the ultimate test for a computer built in Minecraft.
You offically beat the guy who made the 16 bit ALU in Minecraft. Unless that's you.
Or a 16-bit ALU is better than yours. I know crap about the very basics of computers.
I just know how to deal with software.
God damnit.
So how many calculations could this actually do?