[Vm-dev] VM Maker: VMMaker-dtl.298.mcz

David T. Lewis lewis at mail.msen.com
Thu Feb 14 01:18:53 UTC 2013


On Wed, Feb 13, 2013 at 06:56:26PM +0100, Bert Freudenberg wrote:
> 
> On 2013-02-13, at 00:34, commits at source.squeak.org wrote:
> 
> > VMMaker 4.10.11
> > 
> > Enable large cursor support in the 64-bit image. Previous concern about bitmap conversion is apparently no longer relevant, as #primitiveBeCursor works properly on the 64-bit image (but tested only on little-endian).
> > 
> > =============== Diff against VMMaker-dtl.297 ===============
> > 
> > Item was changed:
> >  ----- Method: InterpreterPrimitives>>primitiveBeCursor (in category 'I/O primitives') -----
> >  primitiveBeCursor
> >  	"Set the cursor to the given shape. The Mac only supports 16x16 pixel cursors. Cursor offsets are handled by Smalltalk."
> > 
> >  	| cursorObj maskBitsIndex maskObj bitsObj extentX extentY depth offsetObj offsetX offsetY cursorBitsIndex ourCursor |
> > 
> > - self flag: #Dan.  "This is disabled until we convert bitmaps appropriately"
> > - objectMemory bytesPerWord = 8 ifTrue: [^ self pop: argumentCount].
> > - 
> 
> This primitive is not only for ARGB cursors but for all cursor changes. You should try with something like 
> 
> 	Cursor crossHair showWhile: [Sensor waitButton]
> 
> to see if regular (1 / 2 bit) cursors work, too.
> 

Thanks Bert,

The crossHair cursor seems to work fine on the 64-bit image also. I'm not
sure what else might need testing, but it just looked to me like a leftover
thing that Dan had meant to come back to. I can't say what the original
issue may have been, but I see no indication of a problem now, so the code
that Dan put in to disable it for 64-bit images is gone now, along with
the 'self flag: #Dan' marker.

By the way if anyone wants to work with this, you can find pre-traced 64-bit
images at http://squeakci.org/job/Squeak%2064-bit%20image/. On Linux,
install *both* the 64-bit and 32-bit VMs on your system (don't worry about
overlap or duplication, it's all the same stuff):

  http://www.squeakvm.org/unix/release/Squeak-4.10.2.2614_64bit-linux_x86_64.tar.gz
  http://www.squeakvm.org/unix/release/Squeak-4.10.2.2614-linux_x86_64.tar.gz

Then you can do:

  $ squeak TrunkImage-64.image

It should look the same as a normal image, except for what what you will
see displayed in the system reporter (Help -> About this System).

My own personal habit is to install Cog, then rename it from /usr/local/bin/squeak
to /usr/local/bin/cog. Then I install the two interpreter VMs for 64- and 32-bit
images, and I've got everything. Not saying other people should do it that
way, but FWIW that's what I do.

Dave 


More information about the Vm-dev mailing list