How to program:
1. Clear the Program area.
2. Place INWR in it as the 1's and leave blank as the 0's.
The first 4 pixel wide area is for the commands.
The second 10 pixel wide area is for the memory's address.
The third 8 pixel wide area is for any data to use.
The last 7 pixel wide area is to jump to specified program location.
The second and third areas update first and the command takes a bit long to update. So you can do something like choose a address and activate the memory at the same time without interference.
To write to ram you need to activate it, then it will accept any data entered from User input, program or the cpu. Then you write to it and it stores it in the selected address. (Note: The address and data will clear after you write and you need to deactivate it after so it doesn't accept random data.)
Here are the commands:
0000 =
0001 = activate CPU A
0010 = activate CPU B
0011 = activate Ram
0100 = deactivate Ram
0101 = write Ram
0110 = read Ram
0111 = Add
1000 = Subtract
1001 = read User
1010 = display on
1011 = display off
1100 = if (current adress data doesn't = 0) continues. if (current adress data = 0) goes until end command.
1101 = end ^
1110 =
1111 = halt
And a example of how the default program works:
1010 display on
0011 activate ram - address 1
1001 read user
0101 write ram
0100 deactivate ram
value 0010 1111 for "+"
0011 activate ram - address 2
1001 read user
0101 write ram
0100 deactivate ram
val 0011 1000 for "="
1011 display off
0001 activate cpu A - address 1
0110 read ram
0010 activate cpu B - address 2
0110 read ram
0011 activate ram - address 3
0111 add
0101 write ram
0100 deactivate ram
1010 display on
0110 read ram
1111 halt