Some further comments...
>>>> "Jim" == Jim Battle
<frustum at pacbell.net> writes:
Jim> Ben you have said these three things in this thread:
Jim> (1) "Any good leads as am still looking for a small boot
Jim> strapable langauge here."
Jim> (2) "Tiny C will not work as my instruction set does NOT have
Jim> register to register operations."
Jim> (3) "I could do Forth but it would be slow as I have no
Jim> auto-incriment registers and wound need to use memory
Jim> variables."
Jim> ...I don't see why the lack of register to register ops would
Jim> prevent implementing a tiny C. There is nothing in the language
Jim> that would demand it.
Agreed. Consider that C was first implemented on a machine that
doesn't have such ops. And for that matter, doesn't have auto
increment ops either.
Similarly, you don't need stack ops to have a stack; C compilers exist
for plenty of machines like that. (The 360 comes to mind -- gcc
handles that. And I know there was a C compiler for the CDC 6000
series, though it appears to have been lost.)
In any case, I second the suggestion of Forth. Forth was originally
designed as a real time control system language; it's both fast and
small. The limited instruction set Ben mentioned will make some
difference but I doubt it's large, especially since memory is pretty
fast compared to the CPU of low end machines.
I've done some large scale worth with FIG Forth; a full port of that
to a PDP-11 which (if memory serves) took 8 kbytes. That was usermode
code, so no drivers (but instead OS interfaces, which is probably not
all that different).
Another place where Forth has been used: several popular workstations
use it for their bootloaders. Sun does (or did) and I think Apple
does too. At least I once got an "ok" prompt when I powered up a very
confused Power Mac... and it answered like Forth interactive mode.
Porting Forth is very easy because most of a Forth implementation (FIG
Forth is a good example) is in Forth; only 10% or so is assembler for
the target machine and these are low level primitives that are easy to
design and code. That leaves some drivers, which you can code in
Forth, and if the hardware is at all close to industry standards (like
a UART probably will be) you can just use a stock driver and drop it
in.
paul