C

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.


OLD NOTES FROM HERE ONWARDS 

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