<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>&gt;&gt;  Not necessarily. There should be a SimulatorMorph that holds onto the  simulator itself and embeds the image morph. That could present a nice  UI, and could either handle events itself, or register event handlers  with the image morph. If you need UI ideas I suggest you try my &gt;&gt;SqueakJS  morph (which essintially is also a VM simulator): <a href="http://lively-web.org/users/bert/squeak.html" target="_blank">http://lively-web.org/users/bert/squeak.html</a> It's a shame we never bothered to make the simulator this nice ;) <br>&gt;&gt;  <br> <br>&gt;+1 <br> agreed<br>&nbsp;<br>&gt;It would be great if someone were to take inspiration from Bert's SqueakJS <br>&gt;morph and do something similar for the traditional VM simulators. <br> <br>&gt;Personally, it's inspiring me to want to learn about JS some day soon. That <br>&gt;lively VM is seriously impressive. <br> <br>+2<br>&gt;Dave <br> <br>Bert's work is inspiring and a very impressive.<br><br>After mulling on it yesterday and poking around a bit, I decided Bert's Morphic approach is the way to go for now. <br>My reasoning is that I saw no easy way of filtering out mouse-move events from other mouse events (most mouse move events happen outside the scope of the simulator) <br>and mouse coordinate translation is needed with the Semaphore approach.<br><br>Please bear in mind that my stated goal is to port the StackInterpreterSimulator /StackInterpreter to native 64 bits and then to 64x64 (native 64 running a 64 bit image).<br>That exercise is the foundation of upping my programming chops so that I can break out of the UI/Web/DB application programmer rut I am in.<br>From there, Eliot needs help porting Cog to 64 native.<br><br>I do not want to detour from that goal too much except to correct learning deficiencies and to help with some fixes to plugins.<br><br>That said, I do have a free day or two so I will try to stub what Bert has in place visually with the idea of bringing in the functionality as I learn it. <br>I REALLY like that step functionality, and the view of the MethodContext.<br><br>Also, I do not understand how debuggers work, and looking at what Bert has, it looks like a lot of debugger techniques are used; That in itself is a very useful exercise.<br><br>&gt;Tim R. wrote:<br>&gt;A useful UI for the simulator would allow pushing in events that are  *not* those going on in the outer world; some way to send in a variety  of keyboard/button events would help with making sure that the event  handling can cope with variations not provided by your host. For  &gt;example, some platforms send a triple of keydown/keystroke/keyup for  each keyboard press. Some do it quite differently. Or say one is trying  to develop handling for a new event that isn’t actually provided by any  VM yet (OS_TeaTime_Alert, for example) and you want to make &gt;sure it can  work. <br> <br>&gt;At the very least it might lead to some decent documentation of WTF goes on down there. <br> <br>Tim. I have this noted in my working notes.&nbsp; Since events are just CArrayAccessors, the structure is fixed and I do think a pop-up that allows you to set and send an event that is fed to the interpreter is doable.<br><br><br><br><br><br>cordially,<br><br>tty.<br><br><br><i></i></div></body></html>