anchor.diff:  
         ; Step In
         ((key-pressed #xffc2) ; F5
  -         (notify "Step Info, "
  -            (bytes->string
  -               (gdb get-rest-of-line "si")))
  +         (step-into)
            (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)
  -
  +         (step-over)
            (main #true 0))
   
         ; Nothing, just refresh
  
positive.code: 
        ; Continue
        ((key-pressed #xffc6) ; F9
           (notify "Continue...")
           (run-gdb-breaker)
  
           (notify (bytes->string 
              (gdb gdb-continue-answer-parser "continue")))
           (mail 'gdb-breaker #true)
           (print "done.")
           (main #true 0)) ; уходим в режим выполнения машины
  
        ; Quit
        ((key-pressed #x0051) ; Q
           (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)) ; exit
  
        ; ручные команды
        ((key-pressed #xff0d) ; XK_Return
  
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
  