anchor.diff:              (blit-window fb window)))
           (when (window-visiblep *window-list*)
             (blit-window fb *window-list*)))
  +      (bitset 16 16 (name-colour :white) fb *mouse-y* *mouse-x*)
  +      (bitset 14 14 (name-colour :black) fb (1+ *mouse-y*) (1+ *mouse-x*))
  +      (bitset 4 4 (name-colour :white) fb *mouse-y* *mouse-x*)
         (rotatef (screen-backbuffer screen) (screen-framebuffer screen))
         (funcall (screen-flip-function screen)))))
   
  
positive.code:   (when *window-list*
      (key-press-event *window-list* key)))
  
  (defun graphics-worker ()
    (loop (sys.int::process-wait "Input and display update"
                                 (lambda ()
                                   (or *refresh-required*
                                       (and *read-input*
                                            (not (sys.int::ps/2-fifo-empty sys.int::*ps/2-key-fifo*))))))
       (when *refresh-required*
         (setf *refresh-required* nil)
         (with-simple-restart (abort "Cancel screen update.")
           (compose-all-displays)))
       (when *read-input*
         (loop
            (let ((byte (sys.int::ps/2-pop-fifo sys.int::*ps/2-key-fifo*)))
              (when (not byte) (return))
              (let ((key (sys.int::ps/2-translate-scancode byte)))
                (when key
                  (handle-keypress key))))))))
  
  (defvar *graphics-process* (make-instance 'sys.int::process :name "Graphics manager"))
  (sys.int::process-preset *graphics-process* #'graphics-worker)
  
negative.code: (defvar *refresh-required* t)
  (defvar *window-list* nil)
  (defvar *global-keybindings* (make-hash-table))
  
  (defvar *mouse-x* 0)
  (defvar *mouse-y* 0)
  
  (defun restore-default-keybindings ()
    (clrhash *global-keybindings*)
  