okay-- getting ready to port Squeak

Tim Rowledge rowledge at interval.com
Fri May 22 06:13:46 UTC 1998


On Wed 20 May, Adam Bridge wrote:
 
> Can someone who has done this please give me a few hints.
I'm sure several of us can be counted on to offer hints, tips and almost
anything short of actual help :-) With luck it shouldn't be too hard in
your case; with a basically unix port to do, you should get a great start
from Ian's various files. Particularly since Ian is one of the better
writers of clear code and comments.
> 
> Rhapsody is Mach with a BSD 4.4 personality.  I do NOT plan on using 
> X-windows since that isn't a part of the Rhapsody distribution.
That's the possible tricky part from the sound of it, but maybe R uses
Mac-like screen api? If so, it's mix and match time.

I'd suggest first checking that the UnixFileDirectory class (or maybe
MacFileDIrectory class - does R use unix or mac style filenames?) looks
like it will do what you need, particularly during startup. If you get the
directory delimitor prim wrong, things will be very painful to debug since
you won't get to where any displaying is possible !  Take a look at the
FileDirectory class>startUp method and follow it for a while.

Make sure that your dispaly updating routine can cope if it is possible to
get update events when the display is not yet hooked up.
Make null stubs for anything that looks tricky - you'll find working empty
stubs for serial, sound etc amongst my Acorn code (see url below) since I
still haven't got to them yet.
Find out if you can use clock() for milliseconds, and all the other options
in the sqConfig.h file which I imagine will probably be a mix of unix and
mac cases.
Look carefully at how you need to allocate the main object memory
- see assorted sqAllocateMemory routine in sq{platform}Window.c files for
examples.
Don't even think of trying for a jitter vm until you have the ordinary one
working ok. It'll just distract you.
Don't be too surprised if it works straight away :-) but if it doesn't, be
patient and get friendly with your debugger.

tim

-- 
Don't be sexist; broads hate that!
Tim Rowledge:  rowledge at interval.com (w)  +1 (650) 856-7230 (w)
 tim at sumeru.stanford.edu (h)  <http://sumeru.stanford.edu/tim>





More information about the Squeak-dev mailing list