View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

Porting Squeak

Porting Squeak, by Ian Piumarta of INRIA

Current Draft: porting.pdf

Promised Reviewers:


Comments:


Much needed and excellent. Precision without boring detail. References to more information is provided (the sources).

Mats Nygren


The PDF file looks really strange. Every second or so letter looks like it has been misaligned one point down. It's also really slow displaying. Furthermore, everything is blurred. I'm using Acroread 4.01 on Windows. This might be a effect because Ian used TeX I'd guess (is that correct?). Hopefully the final text will look better.

It's a great chapter. I really like it. Very useful. Only some minor issues:

In 42.6.1, it might be a good idea to show the complete signature of the ioShowDisplay function before describing it. Now, you have to guess from the context, what arguments of which types are passed.

I hope that the detailed information given in 42.7 and 42.8 do not "cast" the described situation "in stone". I still hope that the way keyboard input is dealt with is improved and that polling is replaced with real events.

Stefan Matthias Aust



Bruce O'Neel beoneel@mindspring.com

Hi,
Very nice chapter though Acrobat reader 4.05 on the mac can't display or print it. A few nits (all from a 2.7 image):

Page 5, I think the file is sqMacMinimal.c not sqMinimal.c

Page 9, first line under 42.4.4 directory should probably be directly

Page 16, ioShowDisplay could use a whole prototoype.

Page 30, 42.14, Maybe a Squeak example? Maybe not...

Page 34, private to the upport code.

Page 43, 42.19. This is, I think, the first mention of numbered primitives. This could be in a former chapter though.

Other than that, looks great!

cheers

bruce

It's so wonderful to have all of this information written down somewhere! As a nit, the discussion about polling on p. 20 seems to have it the wrong way around. It seems that ioProcessEvents() allows Squeak to see events even when the OS only provides a polling interface. Without this mechanism, networking and sound on Unix wouldn't work, but key and mouse events would be just fine.

Very good stuff!

At the end of 42.1, a bit more detail in what is the "absolute minimum" squeak port functionality would be good. It's also good to say in 42.6.1 that ioShowDisplay() is required and ioHasDisplayDepth(), ioSetFullScreen(), ioSetDisplayMode(), ioSetCursor(), ioSetCursorWithMask() are all optional. 42.8, 42.9, 42.10, 42.11, 42.12 and 42.14 are at least somewhat optional. Squak can run without them.

The sections 42.4 & 42.5 include too much detail too early in the chapter. I think they could go better at the end of the chapter (perhaps as apendixes). So, essential functionality would go first, and details last.

42.5.2 "anyt" -> "any"

In (13) at the page footer of page 46 you mention the OS/2 Squeak port. That work was done by Boris Shingarov and was almost identical to the Unix port. As far as I know, it was maintained till verion 1.2. I did a completely new port for OS/2, that does not require X. I stole display code from Windows, sound code from Windows and Mac and TCP/IP code from Unix. This is the OS/2 version in use today.

Juan Manuel Vuletich (Squeak porter to OS/2)



Link to this Page