anchor.diff:           ;(print "msg: " msg)
            ;(print "(cdr msg): " (cdr msg))
   
  -         ; it's good idea to free the input buffer...
  -         (syscall 0 (car Out) 1024 #f)
  -         (unless (null? (cdr msg)) (begin
  +         ; it's good idea to free the input buffer
  +         (syscall 0 (car Out) 1024 #f) ; 1024 would be enought, i think...
  +
  +;         (if (equal? msg '(SIGINT)) ; SIGINT = 2
  +;            (syscall 62 Pid 2 #f)
  +
  +         (let*((parser command
  +                  (if (string? (car msg))
  +                     (values #false msg)
  +                     (values (car msg) (cdr msg)))))
  +            ;(locate 40 18) (print "parser: " parser)
  +            ;(locate 40 19) (print "command: " command)
  +         (unless (null? command) (begin
               ;(print "sending " msg)
  -            (for-each (lambda (x) (display-to (cdr In) x)) (cdr msg))
  +            (for-each (lambda (x) (display-to (cdr In) x)) command)
               (display-to (cdr In) "\n")))
            
  -         (mail sender (car (fd->exp-stream (car Out) "" (car msg) syntax-fail))))
  +         (mail sender (if parser (car (fd->exp-stream (car Out) "" (car msg) syntax-fail)) #true))))
         (loop)))))
   
   ; qemu instance
  
positive.code: (fork-server name (lambda ()
     (define In (syscall 22 #f #f #f)) ; create input/output pipes: '(read-pipe . write-pipe)
     (define Out (syscall 22 #f #f #f))
     (syscall 59 (c-string (car arguments)) ; (syscall:fork)
        (map c-string arguments)
        (list (car In) (cdr Out) stderr))
  
     ; main loop:
     (let loop ()
  
negative.code: (print (bytes->string
  (gdb gdb-greeting-parser))) ; wait for gdb
  
  ; minimize popupped QEMU window (for now, just debug reasons)
  (syscall 1017 (c-string "xdotool windowminimize $(xdotool getactivewindow)") #f #f)
  ; or use `wmctrl -r "windowname" -b toggle,shaded`
  
  ; сконфигурируем gdb
  (gdb "set confirm off")
  
  
  ; ================================================================
  ; = main ==================
  ; подсоединим gdb к qemu
  (define pc (bytes->string
     (gdb gdb-target-connected-parser "target remote localhost:1234")))
  
  (print "QEmu machine started with PC " pc)
  
  (if (string-eq? pc "0x0000fff0") (begin
     (display "Executing bootstrap, please wait...")
     ; let's do few steps to leave the initial "bios" zeros at 0xfff0
     (let loop ()
        (let ((pc (gdb gdb-si-answer-parser "si")))
           (if (< (bytes->number (cddr pc) 16) #x00010000)
              (loop))))
     (print "Ok.")))
  (print "Your QEmu session ready to debug")
  ; Looks like our machine ready to start, ok.
  
  ; окошко с регистрами. обновляет, добывает, рисует
  (fork-server 'registers (lambda ()
  