I've ported Squeak 2.3 to Amiga, more or less

Tim Johnson trilobyte at hoe.nu
Sun Jun 4 15:53:00 UTC 2006

On May 30, 2006, at 5:02 AM, Bert Freudenberg wrote:

>> What a lovely weekend!   I have spent the majority of it indoors, 
>> porting Squeak 2.3 to the Amiga!
> One weekend? Nice :)

I must give credit to the VM documenters -- it really is as easy as 
they say it is.  Plus, the SAS/C compiler on the Amiga is really nice, 
and ANSI-compliant, and I have the printed documentation for it, which 
helps a lot.

>> I am obviously having some trouble with graphics (specifically, 
>> ioShowDisplay), but the screenshot is recognizably showing Squeak 
>> asking for its .changes file.  To an outsider, though, it may look as 
>> if something is *broken*... ;)
> Oh I guess every VM hacker has seen this :) You might just copy the 
> bit depth conversion routines from another VM.

Yes.  I am working on this.  I think the main issue is Squeak's PixMaps 
/ BitMaps being little-endian, and the Amiga being big-endian.  I am 
looking at the UNIX-VM source for tips (I found a function there for 
8-bit depth to 8-bit depth blits).  What's strange is the Squeak 2.3 VM 
seems to not use ioHasDisplayDepth(), so if I want to implement 
16-bit/32-bit display depths on my Amiga VM I might have to move up to 

>> You may wonder why I used 2.3 ... It seemed to be the best choice for 
>> a simple, well-documented, starting-from-scratch VM-building scheme, 
>> with little-to-no dependence on plug-ins.  I am scared of VMMaker (it 
>> seems to be designed to create/tweak a VM for an already-existing 
>> platform, versus a new one?), plus there is already much 
>> documentation on Interpreter>>translate.  Of course, I am ignorant.
> I think you're the first one porting Squeak to a new platform after 
> VMMaker. So there might be indeed some overly helpful features in 
> there.
> Or is it not VMMaker, but rather that the VM got more complicated 
> because we rely a lot on modules nowadays? I'm not quite sure what we 
> actually need for a minimal functioning Squeak port.

It seems to be both of these are the issue for me.  It is much easier 
to get the VM up-and-running when I don't have to worry about compiling 
dynamic libraries and making sure they mesh with the Squeak modules 
system.  The Amiga has great support for dynamic libraries, but I am no 
whiz with them.

>> Overall, this has been a pretty fun pastime.  I can continue posting 
>> progress reports to the list if anyone is interested.  I have to 
>> figure out this PixMap -> BitMap thing, but I also have to get to 
>> work in the morning... ;)
> Sure, please, keep us posted!
> And, to get the attention of most people interested in the VM (even 
> those who do not follow squeak-dev closely) you should post to the 
> vm-dev list, too:
> 	http://discuss.squeakfoundation.org/cgi-bin/ezmlm-browse?list=vm-dev



More information about the Vm-dev mailing list