SDL port

Bert Freudenberg bert at isg.cs.uni-magdeburg.de
Wed Apr 18 15:07:48 UTC 2001


On Wed, 18 Apr 2001, John R. Hall wrote:

> I have a mostly-working SDL port of Squeak

Hey, that's *awesome*. Where can I get the code? :-)

> , but a few issues need to be resolved. Perhaps someone who knows the
> system better than I do can suggest a solution.
> 
> As far as I know, Squeak always uses the same byte order (big endian)
> for its framebuffer. This means that little endian systems (such as
> the x86) have to perform byte swapping to properly display the data.
> This is a simple operation (just swap the first and last bytes of each
> 32-bit word, as well as the middle two), but it results in a
> considerable performance hit. SDL's blitters are quite capable of
> converting between display formats on the fly, but this is an unusual
> situation. Is it possible to have Squeak use a framebuffer in the
> local machine's native endianness? If this is possible, it would be
> extremely simple to have SDL automatically support all possible
> colordepth combinations.

There was a little-endian-bitblt but it never made it into the system. It
is revived in FXBlt, which allows to directly write to an external display
surface (instead of blitting into Display and copying from there to the
screen). There are only a few primitives to support external surfaces, so
it might not be *that* hard. AFAIK it's only implemented on Win32. Also,
I'm not sure how easy it would be to make the system use FXBlt by
default...

> Here's a screenshot of Squeak running in an 8-bit SDL window:
> http://www.patentburner.com/~overcode/pics/squeak-sdl.png
> 
> It's just Squeak 2.8 for now, but I'll migrate it to 3.x in the near
> future.

-- Bert





More information about the Squeak-dev mailing list