Overview 1 Tic-tac-toe1 Connect four2 Swap the brain3 Nesting dolls4 Rule that learns5 Neural CPU6 Game console7 Mini OS
A computer made of neurons
A tiny 8-bit computer where one tick of the clock is one neural network. It runs real programs, in CSS, with 0 bytes of JavaScript.
The computer: one number in its hand (A), 8 numbers of memory, a list of 16 instructions, and a printer. Like a 1970s kit computer.
One tick is one network of 811 neurons: read the next instruction, do it (add, subtract, store, jump…), move on. The page runs that same network 128 times in a row.
The program is data , like the cartridge on the Swap the brain page: the network never changes, the program does.
Try: pick a program and change its inputs, or press Write your own and change any of its 16 lines. Read what it printed; below, every tick the computer made.
Count to n Fibonacci Multiply x × y Sum 1 + 2 + … + n Powers of two Write your own
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT
HLT LDI LD ST ADD SUB ADDI JMP JZ JNZ OUT