=== Top of the Swiki === Attachments ===

SqueakPorts


There are many sites to DownloadSqueak SqueakVersions for many platforms.
Here are other Squeak ports we know of:


Other Sorts, with Porting Status.

SqueakPorts sorted by platform, alphabetized:
SqueakPorts sorted by author:


Shown at OOPSLA '97:

Up on the Podium, we had a little board with about 6 chips and a PCMCIA ROM card on it. It had wires coming from a battery and going to a little 1/2 VGA color LCD display. The heart of the board was a Mitsubishi M32R/D chip which combines a RISC processor with 2MB of on-chip RAM, all on one chip.

The Mits folks (a research group in Mountain View California) had interfaced the Squeak API to their BIOS and *bingo* in a few weeks they had a Squeak computer.

We booted the board and showed the screen by overhead camera, but didn't have time to show much running. The board runs everything you would expect: factorial, warpBlt, even real-time music synthesis. -- Dan Ingalls

The background is the Mitsubishi has a nifty single-chip RISC computer that integrates RAM on the same chip as the CPU. But they didn't have any software for it. So they got a bright summer intern named Curtis Wickman to port Squeak to it.

Curtis had to write all the device drivers from scratch, including a display driver, the mouse and keyboard handlers, a Flash RAM file system, a loader, and sound output.

This took four to six weeks, I think. However, we were then able to put a generic Squeak image onto it and it looked and behaved exactly as it does on a PC or Macintosh. Even though we knew intellectually that this would be the case, it was somewhat mind-bending when Alan grabbed the mouse during our demo began doing an unrehearsed demo and everything worked perfectly!

The amount of code required for this "bare machine" implementation is quite modest; 2000 lines of C and a hundred or so of assembly code, as I recall. -- John Maloney



Just a quick question, really. I grabbed the source and tried to build it on an Alpha running Linux (2.0.36 kernel, Debian slink distribution). It seemed not to be 64-bit clean: is this the case? If it's not 64-bit clean, is anyone working on fixing this? mailto:robin.stephenson@blackwell.co.uk



and *bingo* in a few weeks they had a Squeak computer


And when can we buy it ?

If factorial, warpBlt, even real-time music synthesis runs prefect on that board, what effort would it take to 'Net-enable' it ?
Can anyone tell me a bit more / point me some webresource about the mighty Squeak computer ?
mailto:frederik.vandendriessche@eds.com
Thanks.

The following email describes the tasks to do when porting Squeak to a new platform

Subject: Porting Squeak
From: John Maloney

At 2:46 PM +0100 11/23/99, Stefan Rieken wrote:
>> I'm sure many people would love to seen an Amiga port.
>
>That's what I feel, too, but please don't pin me up on it... I'm still
>very scared of "someone-else's code", however small ;-D


I feel the same way about "someone-else's code". But the thing that
makes Squeak so portable is that the the bulk of the code--the code
for the VM itself--just compiles and runs everywhere. So you don't
need to look at that. If you have a C compiler and a Squeak image,
you've got everything you need to generate and compile "interp.c".
If this compiles--and it should--then you just need to link in three
other source files to get Squeak running:

sqAmigaMinimal.c -- * the only one you need to write! *
sqFilePrims.c -- file primitives (supplied version uses C stdio)
sqMiscPrims.c -- automatically generated primitives (optional)

SInce the supplied "sqFilePrims.c" will probably work and the
generated "sqMiscPrims.c" almost certainly does, the task is
really clear: implement sqAmigaMinimal.c. The way to do this is
to rename sqMacMinimal.c, cut out all the Mac-specific code,
and implement it from scratch for the Amiga. There are only
about twelve i/o functions that you need to implement, and six]
of these are optional!

Please don't take this as pressure. I don't have an Amiga, so I
have no personal stake in this. But I wanted to tell you that, far
from the big, scary project it could be, porting Squeak is an
amazingly localized and modularized task. Long ago, I tried and
failed to port various free Smalltalks to the Mac. In each case,
I got tons of compiler errors, made my best guesses about how to
fix them, and ultimately got a non-functional executable that
I didn't have the courage to debug. If Squeak is like this, please
give up right away! But I gather from talking to people who have
ported Squeak that it goes very smoothly. The only two hurdles you
might run into are (a) an old C compiler that doesn't support 32-bit
ints or (b) a limit on the amount of contiguous memory that an
application can allocate (the Palm Pilot has this problem, and
we haven't yet ported Squeak to it as a result).

Good luck!

-- John

P.S. I'm sure the folks who have ported Squeak will chime in if
I've misrepresented the difficulty. :-> (Note that I'm only talking
about getting Squeak running, NOT implementing the optional things like
sockets and sound I/O. These DO require some work since you have
to dig into some of the darker corners of your native OS...)

P.P.S. I was wrong about the size of sqMacPrimitive.c. It isn't
2000 lines, it is only 1153! With many lines of comments.