anchor.diff:  constructor TShellMorph.Create;
     begin
       inherited Create;
  -    vm := TMachine.Create; world.add(vm);
       clock := TClockMorph.Create;
       clock.bounds.x := 0; clock.bounds.y := 0;
       world.add(clock);
  
positive.code:   begin
      // TODO: without this next line (at least on freebsd)
      // it won't readkey. why not!?!
      if not keypressed then sleep(50);
  
      if keypressed then
        case kbd.ReadKey(ch) of
  	^C : halt;
          #0 : case kbd.ReadKey(ch) of
                 kbd.ESC :halt;
               end;
        else
          msg := TEvent.Create(evt_keych, ord(ch));
  	if assigned(focus) and not focus.send(msg) then
  	  pass; {--  TODO: global keymap --}
        end; { case }
  
negative.code: 
  {-- event system ---------}
  
  constructor TEvent.Create(etag:integer; edata:variant);
    begin
      inherited Create;
      _tag  := etag;
      _data := edata;
    end;
  
  