Nokia 770 internet tablet

although the Nokia 770 is designed primarily as a wireless internet tablet (it has no cell-phone circuitry) its operating system is Linux and it can be programmed using the software available on the device developer's home site:

programming is usually carried out on a PC using cross-compilation but the equivalent native development software is also available for the 770

a few threads have appeared on 770-related sites asking if it's possible to develop code actually on the tablet itself - the answer has been 'yes, its possible, but the development system would be too slow and it wouldn't be feasible for a large project'

so why try to build a large project as the first step?

why not build a small threaded interpreter (like Forth) and then use it to develop larger applications for itself? - that was my target: to port the threaded-code system i developed on the HHC onto the Nokia 770

i installed sufficient of the development software onto the 770 and then used it to compile my source code in place - the 'edit / compile / test' cycle can be a matter of seconds for small changes

i'd already written most of the kernel definitions for the ARM processor on my old Psion 5 and had the inner interpreter working with some simple threaded code definitions

the Psion used the ARM 7 chip, i think, but the kernel code has been completely compatible with the newer ARM 9 in the 770

with the kernel code installed i was able to copy my threaded code definitions with a little re-formatting to suit the GNU assembler which is called by the compiler: gcc

today i got the outer interpreter  operational on the 770 and i'll be working my way through the code, installing and checking the compiler - this is my first Forth on a completely 32bit platform and i'm still making a few design decisions about size / speed trade-offs of the threaded code used by the outer interpreter and generated by the compiler words

the photo shows the 770 running the threaded code system in one of its (maximised) windows - the display output is a partial list of the 'word' definition names in the main dictionary

sandy robson
1st April, 2007