Mac Carbon VM goes to 3.8.11b2U

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Mac Carbon VM goes to 3.8.11b2U

johnmci
I've pushed out a 3.8.11b2 Mac Carbon UNIVERSAL VM for people to use  
on old slow powerpc macs, and newer faster better Intel Macs.
Again thanks to Impara for giving me a Mac Mini Solo to cross check  
and compile the VM and plugins with.

Squeak 3.8.11beta2U.app.zip

It can be found by following the link to the idisk or the ftp server via
http://www.smalltalkconsulting.com/squeak.html

This VM should be promoted to the regular FTP servers after a few  
days based on feedback.

This VM supports both the MacIntel environment and uses Unix file names.
Testing is of course on going.  Feedback on peformance issues,  
crashes or bizzare behavior is welcome.
Pending is the compile of the Browser Plugin VM.

This VM also wraps a set of plugins that have been compiled for  
universal support, and we have changed
how plugins are loaded. By default the VM will look for plugins in  
the bundle resource folder for either
bundles, or for unix libraries, then it will look in the external  
Plugins Folder, and in the System/Frameworks
directory if it's determine the FFI interface is asking for a  
framework entry. This change was made because the
MacIntel machines cannot load and use any previous powerpc plugins  
that you may have lurking on your machine.
So for example if you have a KedamaPlugin.bundle bundle around that  
is not compiled for universal support it will not load!


Plugins compiled and provided within the application bundle.
FT2Plugin FreeType 2 interface (Sophie Support)
LocalePlugin Locale interface
mpeg3Plugin mp3
PrintJobPlugin printing
QuicktimePlugin Quicktime (Sophie Support)
ServicesPlugin Mac Services
SpellingPlugin Mac Spelling
SqueakFFIPrims FFI interface that actually works on Darwin
TestOSAPlugin AppleScript

Changes in the 3.8.11 series:

3.8.11b2
                sqMacUnixFileInterface.c
                        byte swap finderinfo in get and set mac file type and creator methods
                sqMacService.c
                        remove callbacks to get event loop and window, these are not used
                        byte swap OSType
                sqUnixSoundMacOSXJMM.c
                        use kAudioFormatFlagsNativeEndian, versus big in sound stream
                sqMacSpellingPlugin.c
                        utf-16 from squeak is big endian.
                sqMacFFIPPC.
                config.h
                        drop socklen_t
                sqMacMain.c
                        gSqueakWindowAttributes needs to be byte swapped
                sqMacUnixExternalPrims.c
                        Change lookup, lookup bundle, or unix plugin in resources folder  
first, then in plugins directory
                        if gSqueakPluginsBuiltInOrLocalOnly is set
                sqMacWindowUniversal.c
                        make 16 bit go to quicktime because of 16bit intel draw error
       

3.8.11b1 Refactor, remove old OS-9 code, always carbon, etc.
                remove TARGET_API_MAC_CARBON
                remove IHAVENOHEAD
                make variables static, procedures static where applicable.
                make MACINTOSHUSEUNIXFILENAMES always case, drop any HFS logic
                Eradicate most usages of FSSpec, except for drop file logic (sigh)  
and one in InternetConfig
                Remove getFileNameByFSSpec logic
                Alter getFileNameByFSRef to drop items needed by getFileNameByFSSpec.
                Reworked much of drag and drop logic

                sqMacOpenGL..c
                sqMacOpenGLInfo.c
                sqMacDragDrop.c
                        don't bother with Gestalt, we now drag and drop exists on machines  
of os-x era.
                        convert to use FSRef
                        Use GetDragAttributes versus bounds in window.
                        Drop WaitNextEvent, dummy up event

                  sqMacUnixFileInterface.c
                        findImageFilterProc use get pathname and last path component to  
decide if file is image

                  sqMacUnixFileInterface.h
                  sqMacHostWindow.c
                        use QDLocalToGlobalRect in ioPositionOfWindow versus casting rect  
to point
                  sqMacHostWindow.h
                  sqMacInternetConfiguration.c
                        make FSRef when dealing with ICFileSpec
                        remove some copy pascal to c calls.
                  sqMacJoystickAndTablet.c
                  sqMacMIDI.c
                  sqMacSecurity.c
                  sqMacSerialPost.c
                  sqMacUUID.c
                  sqMacEncoding.c
                        Drop SetImageName()
                  sqMacEncoding.h
                  sqMacFileLogic.h
                  sqMacImageIO.c
                        drop calculateStartLocationForImage() logic
                  sqMacImageIO.h
                  sqMacMain.c
                        drop powerManager logic, not needed, cleanup of statics, cleanup  
for browser logic
                        cast data right for sprintf(data,"%X",myattr);
                  sqMacMain.h
                  sqMacMemory.c
                        removal of the os-9 swapfile logic
                      watch signed versus unsigned compares
                  sqMacTime.c
                  sqMacTime.h
                  sqMacUIAppleEvents.c
                        use gCurrentVMEncoding, versus system encoding for getting file names
                        drop logic for start of image offset os-9 feature
                        remove PBHSetVolSync()
                        drop LocalToGlobal, use fake mouse location
                   sqMacUIAppleEvents.h
                   sqMacUIClipBoard.c
                   sqmacUIClipBoard.h
                   sqMacUIConstants.h
                   sqMacUIEvents.h
                   sqMacUIEventsUniversal.c
                        remove tap power manager event loop callback
                        In MyWindowEventMouseHandler() put back in 10.2.8 versus 10.3.9 logic
                   sqMacUIMenuBar.h
                   sqMacUUIMenuBarUniversal.c
                   sqMacUnixCommandLineInterface.c
                   sqMacUnixExternalPrims.c
                   sqMacWindow.h
                   sqMacWindowUniversal.c
                        In ioSetFullScreenActual, use QDLocalToGlobalRect, versus casting  
to points
                        In copy124BitsTheHardWay little versus bit endian for making gworld

                   sqMacNSPluginUILogic.c
                        use QDSwapPort versus get/set port for performance reasons
                        In ioShowDisplayOnWindow avoid double get of windowPort
                        In recordMouseEvent use QDGlobalToLocalPoint
                    sqMacNSPlugin.c
                        Make windowActive = 1, not sure why this didn't fail in the past...
                        Alter GetTempFSSpec to return both fsspec and FSRef


--
========================================================================
===
John M. McIntosh <[hidden email]> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===