Source forge changes for mac vm 3.2.1, pending 3.2.1 Mac VM!
Bruce ONeel
beoneel at bluewin.ch
Wed Jan 9 15:53:34 UTC 2002
Hi,
Thanks John! The new VMs are up in the 3.2alpha directory.
cheers
bruce
John M McIntosh <johnmci at smalltalkconsulting.com> wrote:
> I've posted changes for the 3.2.1 Mac Final VM.
> I also put the classic and mach-o carbon VM into the update stream to
> be placed on the servers in a day or so.
>
> The changes for 3.2.1 are:
>
> Mac VM 3.2.1 mach-o build for Carbon.
> Jan 8th 2002
>
> Still yet to do, in future versions.
> Test drag and drop at startup time
> Verify that file delete rename etc works on aliases, not the targets.
> Verify that sound input works, seems flaky to me.
>
> You might need these change sets to build a new VM or to use all the
> features of this VM with your image, hopefully these will get into
> the pending 3.2.x image.
>
> Fixes and feature extensions.
> AsyncFileFixFu...hName-JMM.1.cs fix for async test method.
> DragAndDropAtStart-JMM.5.cs fix to enable drag and drop at startup
>
> Needed to compile a VM with VMMaker
> LargeFiles-JMM.3.cs Enable large file support, files > 2GB
>
> Needed to turn this feature on
> MacLongFileName-JMM.5.cs Enable long file names on the mac
>
> The SUnit
> MacLongFileNamesSUnits-JMM.3.cs Test long file names and long
> directory names and large file support
>
> Kinda optional features some people might need.
> InternetConfiguration-JMM.5.cs Allow internet configuration
> information access, internal plugin
> UUID-JMM.3.cs Allow UUID generation, internal plugin
>
> You will need mach-o os-x bundle plugins to work with this VM.
> example -> mpeg3Plugin.bundle.
> Old carbon non-bundled plugins will not work.
>
> Note if you turn crash reporter on, then if the VM crashes a nice
> report should be generated in your log directory. See the Apple
> documentation for a description of this feature, currently it is set
> in OS-X 10.1.x via the preferences window for the Console
> Application. If have a crash with this VM, please recreate and post
> the crash log (found in Users/foobar/Library/Logs/ to the Squeak
> mailing list so we can continue to make the VM fault tolerant.
>
> Changes:
>
> a) The ability to get back a UUID. This uses the hosting UUID generator if the
> hosting OS supports it and we have a primitive we can call. If not
> then we generate
> a type 4 version of a UUID (the random bits one).
> (This requires a special change set)
>
> b) Ability to start squeak on the mac by dragging multiple documents onto the
> image, or drag and drop of stuff onto the running VM icon.
> (This requires a special change set)
>
> c) Usage of the Internet Configuration tool kit to supply information about
> what the mac proxy is etc. etc.
> (This requires a special change set)
>
> d) Migrate file system to use 64 bits. This allows you to read/write and seek
> with files > 2 GB. This includes a change to the VM to convert from/to long
> long integers. It also allows the file system to actually deal with 2GB files,
> the current file interface actually fails once the file exceeds 1GB.
>
> e) For the carbon based Squeak VM we now support long file names 255
> characters. Close both eyes and touch everywhere the mac VM deals with file
> name paths and hope for the best (Actually we write an Sunit to ensure we've
> not broken everything). This also includes the ability to put an image in a
> long file name directory, but right now the image name must stay
> under 32 characters.
>
> FilePlugin.c changes to support large integers.
> FilePlugin.h changes
> sq.h changes to support large files.
> sqConfig.h changes to resolve some conflicts.
> sqFilePluginBasicPrims.c changes to support large files.
> sqMacAsyncFilePrims.c changes to use fspec versus 255 file path.
> sqMacDirectory.c changes to use hosting OS (OS-X) bsd create and
> delete directory
> and truncate. dir_look changes as part of the general rewrite.
> sqMacDragAndDrop.c use new call to get path name from fsspec. Use
> fsspec more, and added
> interface code to setup drag and drop of items at application
> startup time. max document name
> goes to 1000 characters.
> sqMacFileLogic.c Mostly rewrote!
> sqMacSecurity.c use new file calls.
> sqMacWindow.c
> increase size of vmpath, docpath, imagepath to 1000 chars,
> shortname to 255 characters.
> add logic for left/right modifier keys
> reworked LoadLibViaPath logic
> sqImageFileOpen uses fsspec versus 255 path name.
> sqImageFileStartLocation uses ffspec.
> bundle support for bundles
>
> e2) interp.c supports get/put of large integers to long long integers.
> e3) fixed fTruncate
>
> Hint getting this to work was a pain. Think of 255 character folder
> names and nested aliases,
> folder 1 refers to folder 2 which then refers to folder 1 again, just
> go down the path say 8 times,
> then ask to create a file or directory!
>
> f) Support to change the Mac screen resolution under Squeak control.
>
> g) Fix to unload/load the scrap at startup time to ensure the clipboard is
> correct when starting up the VM.
>
> h) Uncouple the shift key and left/right shift keys on old extended keyboard.
> Also add a call to get which keys are currently pressed on a USB keyboard or
> the USB codes for an apple non-usb keyboard. (Note this isn't working
> quite yet under OS-X)
>
> i) Changes to enable us to compile the VM under Apple's OS-X Project Builder
> environments.
>
> j) Some rewriting to ensure serial and midi support can be written as external
> plugins.
>
> k) Fiddling to get sound input to work under OS-X
>
> l) Platform.exports changed macintosh to macintoshSqueak to avoid conflict.
>
> m) Memory is allocated at 50MB at start, then will grow or shrink,
> verus previous carbon apps
> that did 1GB.
>
> n) sqPlatformSpecific.h changes to support long file names and os-x
> posix file names
>
> o) sqVirtualmachine.c & sqVirtualmachine.h
> #if VM_PROXY_MINOR > 4
> VM->positive64BitIntegerFor = positive64BitIntegerFor;
> VM->positive64BitValueOf = positive64BitValueOf;
> VM->signed64BitIntegerFor = signed64BitIntegerFor;
> VM->signed64BitValueOf = signed64BitValueOf;
> #endif
>
> Beware this causes an interesting problem, if you compile plugins
> with VM_PROXY_MINOR now set to 5, then they will not work with older
> VMs. The solution is to define the VM_PROXY_MINOR in the plugin to
> the value that indicates what features it is using.
>
> p) Changed to use ITimer logic as a 16ms lowres timer to improve performance
>
> q) Changed to use single thread, no thread manager.
>
> r) Changed to use lowres timer in checking for polling time to
> improve performance
>
> s) It should have faster startup times.
>
> t) It will hide the empty window at startup, then show the squeak
> window when required.
>
> u) It has a different menu structure.
>
> v) It does less I/O when navigating directories.
>
> --
> --
> ===========================================================================
> John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
> ===========================================================================
More information about the Squeak-dev
mailing list
|