BFComputer is an architecture for running Brainf*ck programs directly on hardware. It is a 12-bit computer using only 8 assembly instructions to manipulate memory, loop and interact with I/O.
Instruction | Description |
---|---|
+ | Increment current cell value |
- | Decrement current cell value |
> | Increment cell cursor |
< | Decrement cell cursor |
[ | If the current cell value is zero, jump to the associated ] |
] | If the current cell value is nonzero, jump back to the associated [ |
. | Output the current cell value |
, | Write the input into the current cell value |
You can find in this repo the different parts of this project :
- The description of the hardware architecture, see architecture (en) (not available yet) or architecture (fr)
- The "compiler", from BF to binary (actually just a Python script converting the 8 instructions
+-<>[].,
to a binary value from 0 to 7) - Simulation using Digital and VHDL code in
simulation/VHDL
Some ressources that got me interested in computer architecture and that helper me design this one:
- Ben Eater video series : https://eater.net/8bit
- The Elements of Computing Systems book