Poppy is a project for exploring low-level software and electronics I've
devised and been working on quite a bit recently.
It consists of a 16-bit microcontroller architecture (Sonne-16), its Verilog
implementation (Paverho) for a Terasic DE1-SOC board, native
firmware including a self-hosting assembler and a Forth interpreter, mainly
used as a command interpreter. There is also a simulator written in portable C,
if you would like to see the system in action purely in software.
This is my second release (download).
The system includes VGA at 1024x768 with text and graphics output, PS/2
keyboard input, working interrupt system and SDHC card storage,
and runs at 66MHz.
As no additional hardware connections are required, you should be able
to flash the board with Paverho-DE1SOC.jic and run the Forth environment
without wiring up an SD card breakout. Set SWITCH0 of the board to ON before
applying power. This will bypass the SD boot sequence and automatic loading of
Update March 2018: There are now native ports of Paverho
for macOS, iOS and Windows with a slick 3D look. These all use OpenGL(ES)3 using instanced rendering of glyph textures.
I am currently working on an Android port and,
time permitting, smoothing the design of Paverho out across these platforms.