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
|