Sure it would work.

But it wouldn't be able to handle TSIP, or any other non-NMEA gps protocols. And it would be a pain if someone connects his GPS to a different serial line (i.e. the tuner serial), or to the gadget with multiple serial ports that genixia (or was it someone else?) is working on.

We could even teach Hijack to read and draw tiger/line map data and reprogram the radio presets. But at some point the question becomes, why would we? There is a fully functional user space that makes it easier to debug, keep things modular. I am a klutz with games so I never play breakout, why is it using up precious bytes of kernel memory (I must admit it is really amazingly tiny).

I would more likely suggest to move some thing out of Hijack, breakout, calculator, vital signs, perhaps even some of the configuration settings.

But I've been thinking about how to communicate between frontends and the backend. The best way I could think of is to have a shared mmap, the backend simply updates a 'struct gpsdata' and the frontends can poll this at their own leasure. However, as everything is mounted RO we can't use a regular file to mmap. We either have to mount a ramfs/tmpfs (is that available in the empeg kernels?) or have hijack expose a mappable file without backing store through /proc.
_________________________
40GB - serial #40104051 gpsapp