Brad Robinson just sent me this awesome shot of MoxieLite in action. His Xilinx Spartan-6 FPGA based SoC features a moxie core handling VGA video, keyboard and FAT-on-flash filesystem duties using custom firmware written in C. This is all in support of a second z80-based core on the same FPGA used to emulate an '80s era computer called the MicroBee. Those files in the listing above are actually audio cassette contents used to load the MicroBee software. The moxie core is essentially a peripheral emulator for his final product.
Keep up the great work, Brad!
The most recent compiler patch was the addition of -mno-crt0
,
which tells the compiler not to include the default C runtime startup
object at link time. This is common practice for many embedded projects,
where some system specific house keeping is often required before C
programs can start running. For instance, you may need to copy the
program's .data
section from ROM into RAM before jumping to main()
.
I'm going back to my pipelined moxie implementation. Last I looked I had to move memory reads further up the pipeline...