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
2.4+...
>
>> 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
Done.
Thanks,
Tim
More information about the Vm-dev
mailing list