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.minecraft...hp?f=35&t=78889
There's a thread about the screen I'm making for it here: http://www.minecraft...hp?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
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.
You can download save files here:http://site.lazcraft...o/downloads.php
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
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