anchor.diff:        (let this ((unused #f))
            (unless (check-mail)
               (begin
  -               (if (or (key-pressed #xffc2) ; f5
  -                       (key-pressed #xffc3) ; f6
  -                       (key-pressed #xffc4) ; f7
  -                       (key-pressed #xffc5)); f8
  +               (if (key-pressed #xffbf) ; f2
                     (syscall 62 (interact 'config (tuple 'get 'gdb)) 2 #f)) ; SIGIN
                  (this (sleep 1))))))))
   
  
positive.code: 
        ; Step In
        ((key-pressed #xffc2) ; F5
           (notify "Step Info, "
              (bytes->string
                 (gdb get-rest-of-line "si")))
           (main #true 0))
  
        ; Step Over
        ((key-pressed #xffc3) ; F6
           (let ((code (gdb gdb-x-i-answer-parser "x/2i $eip")))
              ;(caar code) <= current ip
              ;(caadr code) <= next ip
              ;(print "  " ($reg->string (caadr code)))
              (gdb get-rest-of-line "tbreak *0x" ($reg->string (caadr code)))) ; <= Temporary breakpoint ? at 0x??
  
           (run-gdb-breaker)
           (notify "Step Over, "
              (bytes->string
                 (gdb gdb-continue-answer-parser "continue"))) ; Continuing. #\newline Temporary breakpoint ?, 0x??? in ?? ()
           (mail 'gdb-breaker #f)
  
           (main #true 0))
  
        ; Nothing, just refresh
  
negative.code: ; Looks like our machine ready to start, ok.
  
  ,load "registers.lisp"
  
  ; ================================
  ; gdb commands
  (define (step-into)
     (notify "Step Into...")
     (run-gdb-breaker)
     (notify (bytes->string
        (gdb gdb-si-answer-parser "si")))
     (mail 'gdb-breaker #f))
  
  (define (step-over)
     (notify "Step Over..."
     (let ((code (gdb gdb-x-i-answer-parser "x/2i $eip")))
        ;(caar code) <= current ip
        ;(caadr code) <= next ip
        (gdb get-rest-of-line "tbreak *0x" ($reg->string (caadr code)))) ; <= Temporary breakpoint ? at 0x??
  
     (run-gdb-breaker)
     (notify (bytes->string
        (gdb gdb-continue-answer-parser "continue"))) ; Continuing. #\newline Temporary breakpoint ?, 0x??? in ?? ()
     (mail 'gdb-breaker #f))
  
  (define (run)
     (notify "Continue...")
  
     (run-gdb-breaker)
     (notify (bytes->string
        (gdb gdb-continue-answer-parser "continue")))
     (mail 'gdb-breaker #f))
  
  (define (quit)
     (locate 1 20) (set-color GREEN) (display "> quitting...") (set-color GREY)
     (qemu "quit") (gdb "quit")
  
     (print "ok.")
     (show-cursor)
     (syscall 1017 (c-string "stty echo") #f #f) ; enable terminal echo
     (halt 1))
  
  ; ================================
  ; code window
  