Just for fun I tried to get Goo running on a Nokia 9210 cellphone. This cellphone has a keyboard and a 640x200 display and can run C++ applications. It uses the Symbian OS. Unfortunately it only has about 3.5MB of usable memory as the remaining of its total 8MB is used by the OS and core applications.
The SDK for the phone uses gcc for the ARM. To keep the executable size down I changed main.goo so it didn't 'use' anything unneeded on the phone like tasks, g2c, etc. The executable built to just on 2MB, leaving 1.5MB for heap.
Unfortunately Boehm doesn't support Symbian so I disabled the GC and replaced with 'malloc' planning to work on that latter.
Every thing compiled (with tweaks) and the executable ran fine in the phone emulator supplied with the SDK. On the hardware itself it ran out of memory due to nothing being GC'd. To bring Goo to an interactive prompt without GC it needs about 2MB of ram. Close.
If I ever get some time to play with it I'll see if I can get Boehm to work on Symbian.
The news isn't all bad though. Other Symbian phones, like the Sony/Ericcsson P800 have much more memory so it'd probably run with ease on that when it comes out.
Anyone willing to pay to have Goo or a Lisp running on a cellphone, feel free to contact me :-).
11:44:06 AM
|