[squeak-dev] Summe of Code 2008 Project ideas

Jecel Assumpcao Jr jecel at merlintec.com
Wed Mar 5 21:29:47 UTC 2008


Bert Freudenberg wrote:
> Well, if it performs acceptable on the B2, it will fly on the  
> production machines :)

In terms of performance, it should be very close to what the included
eToys achieve now on the two machines, so we can even run some
benchmarks and have an idea of what the improvement would be. Note that
the extra memory wouldn't help since even 128MB is far more RAM than
this system would need.

A B2 version of SqueakNOS might not run correctly on newer models due to
hardware differences (Geode NX vs GX, camera interface and other
changes). But it would be easy to make any necessary changes.

For the initial port, I was thinking of a "proof of concept" where the
graphics code would be patched to work at 1200x900 instead of 1024x768
and the rest would be unchanged. If the keyboard and mouse work (and
they probably would) then this would already allow some interesting
demos. None of the rest of the hardware would work.

The milestone that would move SqueakNOS from a cute demo to a practical
alternative is being able to save an image. The project stalled before
that was achieved. Everything that needs to be devoloped can be done at
the Smalltalk level - you don't need any changes to the VM after it is
basically working. But without being able to save you are limited to a
painful cross development cycle: see some bug or improvement, make
change, test it, go back to the PC, type the change once again, save the
image, create a new bootable disk, boot the XO again and see if the
change was properly incorporated. It would be much nicer (and make the
difference between the project actually moving forward or staying as it
is now) to: see some bug or improvement, make change, test it and save
image.

The gain in productivity would be comparable to OLPC moving from the
cross development with LinuxBIOS to native development with
OpenFirmware. Behold, the power of the interactive prompt!

The internal Flash should be off limits, for now. So saving images means
either a USB drive (very complex drivers), using the wifi network (very
complex drivers in addition to USB and a TCP/IP stack) or a SD card
(most likely the simplest option). I would start out with multiple raw
partitions to get as quickly as possible to the point of native
development and then would code a FAT file system using that, eventually
moving to saving on regular files.

After that things should move much faster, and it would be possible to
add the camera, USB and the most popular types of devices, the internal
wifi and so on.

-- Jecel



More information about the Squeak-dev mailing list