anchor.diff:  
   (defmethod write-fat (disk (fat12 fat12) fat)
     (loop :with fat-offset := (fat-%n-reserved-sectors fat12)
  -        :with file-allocation-table := (block-device-read-sector disk fat-offset (fat-%sectors-per-fat fat12))
  +        :with num-bytes := (* (block-device-sector-size disk) (fat32-%sectors-per-fat fat12))
  +        :with file-allocation-table := (make-array num-bytes :element-type '(unsigned-byte 8))
           :for offset :from 0 :by 3 :below (- (length file-allocation-table) 2)
           :for i :from 0 :by 2
           :for cluster0 := (aref fat i)
  
positive.code:                  (do ((cluster-n (read-first-cluster parent-dir dir-offset)))
                       ((>= cluster-n (last-cluster-value fat32)))
                     (let ((next (aref fat cluster-n)))
                       (setf (aref fat cluster-n) 0
                             cluster-n next))))))
        (multiple-value-bind (parent-dir parent-cluster dir-offset)
            (open-file-metadata host new-path)
          (when (null dir-offset)
  
negative.code: 
  (defmethod write-fat (disk (fat16 fat16) fat)
    (loop :with fat-offset := (fat-%n-reserved-sectors fat16)
          :with num-bytes := (* (block-device-sector-size disk) (fat32-%sectors-per-fat fat16))
          :with file-allocation-table := (make-array num-bytes :element-type '(unsigned-byte 8))
          :for offset :from 0 :by 2 :below (length file-allocation-table)
          :for i :from 0
          :for cluster-n := (aref fat i)
  