this is a simple (but messy) computer inspired by the computer in the game Turing complete,
it currently runs a multiplication program
to run:
1: make sure program is set to 0
2: click restart button to set instruction counter to 0 and reset the registers
2: set Run to 1
to program:
1. set program to 1 and run to 0
2. click resetprogram to reset the EEPROM and the instruction counter
3. enter the instruction
4. click the insert button to submit the instruction.
Repeat step 3&4 for all the instructions
(or just load in to the eeprom directly)
the instructions work as following:
opcode argument 1 argument 2
01 010 110
there are the following opcodes
00 immediate: loads the value into register 0
01 copy: copies the value from the register specified in argument 1 to the register specified in argument 2
10 Calculate: takes the values in registers 1 and 2, executes the instruction specified in argument 2(see ALU instructions), and returns the outcome into register 3
11 compare: compares the value in register 3 based on argument 2(see Compare instructions), if true jump to instruction in specified in register 0
ALU instructions
0 and
1 or
2 nand
3 nor
4 add
5 sub
(6&7 are currently unspecified, i plan on making these shift left and right)
Compare instructions
0: never
1: != 0
2: < 0
3:<= 0
4: always
5: ==0
6: > 0
7: >= 0
Plans:
i'd like to add shift left and right into the ALU
i plan on making more intuitive controls, inputs and outputs
i'd also like to add memory to read from or write to.
finaly i might make the other structure from the game but that'll be another circuit :-p
About the Combinox R1:
This is the third 16-bit CPU I have made. Its new name was inspired by the new combinational code. It is also my first computer to feature a graphics and base ten display. As a result of its brand new architecture, code, and clock it is much faster than my previous CPUs.
Directions for use:
Choose the desired EEPROM program and insert it into the slot. First press the "RESET" button. Now press the "ON" button and enjoy your program.
Descriptions of programs:
blank: A blank EEPROM to be coded.
count up forever: Counts up by one until it reaches 65,535 then loops back to 0.
2+2: adds 2+2 and displays the output to the number display
transfer from keyboard to display: Displays the ascii value of whatever key is being entered on the keyboard.
random noise: Displays random noise on the screen.
Fibonacci: calculates the Fibonacci sequence
Credits:
Sanderokian Stfetoneri - clock
Sanderokian Stfetoneri - 16 bit division