Status of Squeak for MacOS-X Beta

Marcel Weiher marcel at metaobject.com
Mon Nov 6 15:43:27 UTC 2000


Hi folks,

last week I managed to get a new, event-based VM up and running for  
MacOS-X Public Beta.  It is based on Ian's 2.9pre Unix sources for  
both the generated as well as the generic Unix (socket, file) code.

I've been playing around with it for a while, including some heavy  
FreeCelling, and things seem to work OK now.  Drawing is still  
somewhat sluggish, partly because Quartz is still rather, er,  
unoptimized, partly because there are conversions that used to be  
necessary for drawing with NS/OS.

The code is currently a mess, partly because I just wanted to get  
something to work at all first, partly because I have to work around  
various conflicting assumptions.

The tasks ahead are:

- speeding up drawing

This involves removing the old conversion code that needed to create  
an object + malloced bitmap buffer for each blit, as well as  
figuring out what parameters are allowed for Quartz bitmap drawing  
(currently undocumented) so maybe conversions can be avoided  
alltogether.  Finally, the new direct-drawing API can be used, but  
that's a lower priority item.

- FFI port

There doesn't seem to be an FFI port for MacOS-X, so I've started to  
port it myself.

- build-system

The build-system that's been worked out for Unix doesn't mesh well  
with MacOS-X.  So far, I've just added the necessary files to a  
ProjetBuilder project, but there has to be a better way.

- pluginization

MacOS-X has a different mechanism for shared libraries.  It uses  
dyld() instead of dlopen() and friends, has a concept of frameworks  
and bundles instead of simple '.so' files and more.  Right now, I  
seem to have shimmed-in enough so everything works (as a monolithic  
VM), but there needs to be a better way for this as well.

- sound

Squeak Audio has to be hooked up to CoreAudio.  There are now some  
CoreAudio examples, so it shouldn't be too difficult.

So that's the status as it is now.  If anyone is interested in a  
package at this stage, I can prepare a package for download at the  
usual place.  If anyone would like to help, which I would appreciate,  
I can also post a version of the current, messy, sources for your  
hacking pleasure, with the caveat that almost everything is currently  
undergoing revision and a potential target removal.

Marcel





More information about the Squeak-dev mailing list