anchor.diff:        (do ()
             ((not (logbitp +serial-lsr-data-available+
                            (sys.int::io-port/8 (+ *debug-serial-io-port* +serial-LSR+)))))
  -        (debug-fifo-push (sys.int::io-port/8 (+ *debug-serial-io-port* +serial-RBR+))
  -                         *debug-serial-rx-buffer*
  -                         +debug-serial-buffer-size+
  -                         *debug-serial-rx-buffer-head*
  -                         *debug-serial-rx-buffer-tail*))
  +        (fifo-push (sys.int::io-port/8 (+ *debug-serial-io-port* +serial-RBR+))
  +                   *debug-serial-rx-fifo*
  +                   nil))
         ;; Refill the TX FIFO when it becomes empty.
         (when (logbitp +serial-lsr-thr-empty+
                        (sys.int::io-port/8 (+ *debug-serial-io-port* +serial-LSR+)))
  
positive.code: (defun debug-serial-stream (op &optional arg)
    (ecase op
      (:read-char (debug-serial-read-char))
      (:clear-input)
      (:write-char (debug-serial-write-char arg))
      (:write-string (debug-serial-write-string arg))
      (:force-output)
  
negative.code:         *debug-serial-tx-buffer* (sys.int::make-simple-vector +debug-serial-buffer-size+ :wired)
          *debug-serial-tx-buffer-head* 0
          *debug-serial-tx-buffer-tail* 0
          *debug-serial-rx-fifo* (make-fifo 50 :element-type '(unsigned-byte 8)))
    ;; Initialize port.
    (let ((divisor (truncate 115200 baud)))
      (setf
  