mac carbon VM 3.8.14b3 pending

Bert Freudenberg bert at
Sun Nov 19 21:38:59 UTC 2006

Hi John,

I'm trying to get the new VM to run with SqueakPlugin.image, as a  
first step to testing teh plugin (which does not yet work). So I  
first ran it stand-alone.

One problem I saw is that FileDirectory default is

    UnixFileDirectory on '/foobar/tooBar/forSqueak/bogus'

How come?

- Bert -

On Nov 17, 2006, at 7:18 , John M McIntosh wrote:

> I've posted a 3.8.14b3 Mac carbon VM to my ftp site and idisk for  
> testing.  Some notes are below, the big changes are for ppc, and  
> macIntel browser support (safari/firefix), headless support,  
> remapping of mouse buttons, and adding Exupery support for MacIntel.
> Please let me know if there are issues.
> PS Yes I know sound recording is broken somehow, I hope to explore  
> why at some point this weekend, although the unix code was swapped  
> in at 3.8.6b5 and no one noticed anything, assuming anyone does  
> sound recording anymore, and perhaps it's just a macintel issue,  
> yet another endian issue one can hope.
> 3.8.14b3 sqMacWIndowUnversial.c  Ensure window is created when non- 
> headless and not running under the browser
> 		typo in check prevent squeak from showing the window when running  
> standalone for 3.8.14b2.
> 		sqMacMain.c		Check processsor status at startup, if non-headless  
> and LSBackgroundOnly is true, then
> 						switch process to foreground.
> 		info.plist			rest LSBackgroundOnly to false, from true, to avoid  
> Dock display issue. People
> 						wanting true headless app need then to alter info.plist
> 		revert bitBlt>copyLoop changes, introduced drawing problems, look  
> at fixing later, or never as time permits
> 3.8.14b2 Fixes for browser support
> 3.8.14b1	New browser support on os-x mac/macintel for safari and  
> firefox.
> 		This logic now follows the example set by the unix plugin, where we
> 		run the VM headless and talk to the browser plugin stub via a two- 
> way pipe to
> 		enable fetching data via a URL, drawing the screen, and setting  
> the cursor.
> 		Thanks to Viewpoint Research for funding this effort.
> 		This VM had limited distribution.
> 		sqMacOpenGL.c			- remove BROWSERPLUGIN
> 		sqMacUnixFileInterface.c 	- needed include for sqUnixCharConv.h
> 		sqMacHostWindow.c		- remove BROWSERPLUGIN
> 		sqMacMain.c				- remove BROWSERPLUGIN, add browser pipe logic,
> 								rearrange startup to handle startup with out window for  
> browser support.
> 		sqMacMemory.c			- remove BROWSERPLUGIN
> 		sqMacTime.c				- remove BROWSERPLUGIN
> 		sqMacUIAppleEvents.c		- remove BROWSERPLUGIN
> 		sqMacUIEventsUniversal.c	- remove BROWSERPLUGIN, expose some  
> internals so new browser
> 								support code can call or access.
> 		sqMacUnixCommandLineInterface.c	- add headfull cmd for browser  
> testing
> 		sqMacUnixExernalPrims.c	- remove BROWSERPLUGIN
> 		sqMacWIndowUnversial.c	- remove BROWSERPLUGIN, changes for  
> browser support,
> 								assume window is hidden which is different from being  
> headless.
> 		sqNamedPrims.h			- remove BROWSERPLUGIN
> 		sqPlatformSpecific.h		- remove BROWSERPLUGIN, add URL_FETCH
> 		npSqueak					- Directory, add plugin for browser into source tree
> 		sqMacNSPLuginUILogic2.c	- new file to replace sqmacNSPluginUILogic.c
> 		sqMacNSPLuginUILogic2.h	- new file to replace  
> sqmacNSPluginUILogic2.c
> 3.8.13.b4  Headless support
> 		sqMacMain.c
> 			headless, set background to false if not headless.
> 			alter uuid returned to signify which VM this is
> 		info.plist
> 		swap buttons to ensure cmd/opt of trackpad is right
> 		Add LSBackgroundOnly to yes i
> 		sqMacEventsUniversal.c
> 		headless support
> 		sqMacUnixCommandLineInterface.c
> 		headless parm -headless added
> 		sqMacWindowUniversal.c
> 		headless support
> 		platforms/Cross/plugins/ExuperyPLugin created
> 3.8.13.b4, b5, b6, b7
> 		Had limited distribution to test new button modification logic
> 3.8.13.b3
> 		bitBlt>copyLoop changes, normally it prefetchs the next byte for  
> barrel shifting 64 bits when copying from
> 		one form to another, and a dirty secret and old bug is that it  
> reads one word past the end of the Form
> 		when it processes the last word in the Form. However when you use  
> surfaces where the surface is
> 		allocated elsewhere not in object space and in fact say the  
> allocated form is 2MB and the vm memory
> 		system makes the frame past the 2MB range non-readable, why then  
> you die on a read protection failure.
> 		So alter the loop to consider if it's preload and the last line  
> we don't do the pre-fetch because that could
> 		cause a read failure.
> 3.8.13.b2
> 		Exupery support, via plugin and changes in the VM for Mac Intel,  
> use merged VMMaker-Exupery change set
> 3.8.13.b1
> 		Exupery support, via plugin and changes in the VM for Mac Intel.
> --
> ====================================================================== 
> =====
> John M. McIntosh <johnmci at>
> Corporate Smalltalk Consulting Ltd.  http:// 
> ====================================================================== 
> =====

More information about the Squeak-dev mailing list