anchor.diff:                       (word-offset (* sector clusters-per-sector)))
                   (dotimes (i clusters-per-sector)
                     (setf (sys.int::ub32ref/le buf (* 4 i)) (aref fat (+ word-offset i))))
  -                (block-device-write disk (+ sector fat-offset) 1 buf)))))
  +                (write-fat-sectors disk (fat32-%flags fat32) fat32 fat-offset sector buf)))))
           (setf (aref dirty-bits word-idx) 0)))))
   
   (defun fat-value (fat idx)
  
positive.code:                      (word-offset (* sector clusters-per-sector)))
                  (dotimes (i clusters-per-sector)
                    (setf (sys.int::ub16ref/le buf (* 2 i)) (aref fat (+ word-offset i))))
                  (block-device-write disk (+ sector fat-offset) 1 buf)))))
          (setf (aref dirty-bits word-idx) 0)))))
  
  (defmethod read-fat (disk (fat32 fat32) &optional fat-array)
  
negative.code:                            (aref buf (+ buf-idx 1)) (ldb (byte 8  8) byte-24)
                             (aref buf (+ buf-idx 2)) (ldb (byte 8 16) byte-24))))
                   )))
              (write-fat-sectors disk 0 fat12 fat-offset sector buf)))))
      (setf (aref dirty-bits 0) 0)))
  
  (defmethod read-fat (disk (fat16 fat16) &optional fat-array)
  