I intend to port fbcc so that it generates code for third and hence runs a subset of C on the processor.   This is important for two reasons: firstly I need a fairly-complete language to know that I have an efficient processor; and secondly because it's a small example of how compilers work.

Then it would be good to get TCC going (or maybe LCC or PCC)

And of course port the ncurses bsdgames.


I needed a "high level" language in which anyone can program the processor.   I freely admit that forth is not a language for beginners.

I'm currently looking at BASIC because of it's retro heritage - it's the language all my first micros came with.   What's more, http://home.vianetworks.nl/users/mhx/basic.html claims to be a BASIC interpreter written in forth.   I have yet to try it out.  If I can make it work then I'm happy, if not then there is much to do in this section.

Here are my thoughts on C compilers:
  • TCC - my favourite.  T is for Tiny, it seems the easiest to port
  • Small C - not complete but may consider it.  Shame this isn't available http://soton.mpeforth.com/flag/jfar/vol4/no2/article24.pdf
  • SDCC - best suited for mass production Small Devices which need highly optimised code.   Too much porting work.
  • PCC http://pcc.ludd.ltu.se/ - not active enough for me to consider

The intention is that there is a job queue and a web cam, with jobs being submitted remotely and the job owners being able to see step-by-step execution of the jobs, including the exact machine state via the LEDs.

Really I would love to run C, but it is just going to take too long.  Below are my notes on C.

C needs a 16 bit machine (it's in the standard).   The options for C seem to be:
  • SDCC - Small Device C Compiler http://sdcc.sourceforge.net/
  • Portable C Compiler (pcc) http://pcc.ludd.ltu.se/
  • TCC / FBCC http://bellard.org/fbcc/
  • LCC
  • VBCC
  • LLVM
  • Amsterdam Compiler Kit (ACK) 
  • Small C http://www.cpm.z80.de/small_c.html