BF machine

A hardware realization of Brainfuck.

For a machine to be classed as a BF machine, it must: @ Flip the pixel at the position in the current cell ? Store the current state of the pixel at the position in the current cell in the current cell $ Get one keypress (NOT character, but single keydown) and store its value in the current cell (some sort   of mapping of keys -> numbers is needed here)
 * Have a 320x240 1-bit screen
 * Run standard BrainFuck programs, with these additions:
 * Cells can store unsigned values up 76799, and produce an error instead of wrapping

Prizes for whoever makes the first program to draw a hollow circle in this.