
My main world, uploaded at the behest of my friends so they can see the computer i made from redstone. currently it is 8 bits wide, with 3 bytes of data/instruction ROM and 2 bytes of data memory. it also has a 2 digit hexadecimal 7 segment display.
you use commands to control the CPU, which are input from the ROM. the purpose of each bit is as follows:
1 = command/data select. set to 0 if input is a number, 1 if its a command. this bit cannot be used for data input :(
2 = MEM address. 0000 is cache, MEM starts at 1000. this number is little endian
3 = MEM address
4 = reserved MEM address bit, currently unused and not attached
5 = reserved MEM address bit, currently unused and not attached
6 = MEM read. set to 1 to read the currently selected MEM address into the cache.
7 = cache/MEM clear. clears the currently selected MEM address or cache.
8 = cache toggle/MEM write. save the current adder output to the currently selected MEM address, or toggles the cache.
to add two numbers together, you would save the first number in the bottom ROM byte, put 10000001 into the second byte, to initiate the cache switch, then put the final number in the top byte. after this, flick the switch in front of the screen (to the right of the ROM inputs), and wait for the output to be displayed. sums of more than two numbers must be done in chunks, since there is currently insufficient ROM to store more data/instructions.
if you find anything wrong with the computer or have any questions/suggestions, please let me know in the comments. thanks :)