[Vm-dev] [Foo]InterpreterSimulator not responding to events...

Eliot Miranda eliot.miranda at gmail.com
Thu Jan 16 18:12:55 UTC 2014


On Thu, Jan 16, 2014 at 10:00 AM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

> Hi All,
>
>     more whitewash...
>
> On Thu, Jan 16, 2014 at 9:41 AM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
>
>>
>>
>>
>> On Thu, Jan 16, 2014 at 9:36 AM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
>>
>>> Hi Tty,
>>>
>>>
>>> On Thu, Jan 16, 2014 at 8:10 AM, gettimothy <gettimothy at zoho.com> wrote:
>>>
>>>>
>>>>  I am hosting (? correct term)  the StackInterpreterSimulator on
>>>> Squeak4.5-13352.image running Cog.
>>>>
>>>> I instruct the simulator to use a copy of that image that I have
>>>> renamed to Squeak4.5.image.
>>>>
>>>>
>>>> | vm |
>>>> Transcript clear.
>>>> vm := StackInterpreterSimulator newWithOptions: #().
>>>> vm openOn:
>>>> 'home/tty/usr/src/smalltalk/buildCogDevelopmentImageCog.app/Contents/Resources/Squeak4.5.image'.
>>>> vm
>>>>     openAsMorph;
>>>>     toggleTranscript;
>>>>     halt;
>>>>     run
>>>>
>>>>
>>>> The simulation runs, but the simulated World does not respond to mouse
>>>> clicks (the control panel of the Simulator works just fine).
>>>>
>>>
>>> Right.  I've not looked at this.  It never worked for me and I think its
>>> to do with the "new" event mechanism bssed around the interruptPending inst
>>> var.  So for now I use an image that has a read-eval-print-loop in it.
>>>  Much better would be for the input scheme to work.  But I've not had time
>>> or occasion to look at the Interpreter and update StackInterpreterSimulator
>>> appropriately so it responds to input.
>>>
>>
>> Hmmm, looking at Interpreter in the VMMaker.oscog package I see that
>> nothing in the simulator does set interruptPending.  David, does the trunk
>> VMMaker package's InterpreterSimulator respond to input?
>>
>
>
> I see that in the various FooSimulator>>openAsMorph methods the basic
> morph used to display the simulated Smalltalk image is an ImageMorph on the
> Smalltalk image's displayForm.  Looking at the event handling it looks like
> this bottoms out at methods like
>
> Morph>>mouseDown: evt
> "Handle a mouse down event. The default response is to let my
> eventHandler, if any, handle it."
>  evt yellowButtonPressed
> ifTrue: ["First check for option (menu) click"
> ^ self yellowButtonActivity: evt shiftPressed].
>  self eventHandler
> ifNotNil: [self eventHandler mouseDown: evt fromMorph: self]
>
>
> So it could be straight-forward to plum-in a suitably-written event
> handler (e.g. an object that wraps the FooSimulator so that it can be
> reused in each of the simulators, instead of using the simulator as the
> eventHandler itself).  Any volunteers?
>

Ghaahhh, ignore my blathering.  I clearly don't understand how Morph event
handling works.  Looks like it needs a set of on:send:do: messages sent to
the Morph.  So if you do go for this please don't ask me for advice on the
Morph side of things ;-)


>
>
>
>  I would like to rule out a missing option in the newWithOptions: #()
>>>> line
>>>>
>>>> Specifically the "type of VM options in VMBasicConstants:
>>>>
>>>> #COGMTVM
>>>> #COGVM
>>>> #NewspeakVM
>>>> #STACKVM
>>>> #VMBIGENDIAN
>>>>
>>>> 1. To my way of thinking, since I am running a
>>>> StackInterpreterSimulator, passing the option #STACKVM makes no sense.
>>>> 2. Also--if I remember correctly--when first running Cog on a StackVM
>>>> (?) image, it prompts the user that running Cog will make the image
>>>> unusable for the StackInterpreter.
>>>> 3. Therefore telling the StackIntepreterSimulator to expect a COGVM
>>>> image makes no sense either.
>>>> 4. Equally perplexing is the fact that the simulation does run -- it is
>>>> just stuck in idle--which tells me I am incorrect about 2. above.
>>>>
>>>>
>>>> I will be poking around in the guts of things in the mean time.
>>>>
>>>>
>>>> thx
>>>>
>>>> tty
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> best,
>>> Eliot
>>>
>>
>>
>>
>> --
>> best,
>> Eliot
>>
>
>
>
> --
> best,
> Eliot
>



-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140116/f3284ce4/attachment.htm


More information about the Vm-dev mailing list