anchor.diff:                                      (partition host)
                                       (read-first-cluster cluster-data start)
                                       (fat host))
  -                  read-buffer-position (first-sector-of-cluster (fat32-structure host)
  -                                                                (read-first-cluster cluster-data start))
  +                  read-buffer-position (read-first-cluster cluster-data start)
                     read-buffer-size (read-size cluster-data start))
               (ecase if-does-not-exist
                 (:error (error 'simple-file-error
  
positive.code:           (aref directory (+ 11 offset)))
       1))
  
  ;; WIP
  (defun read-file (fat32 disk file-cluster fat)
    (let ((file-buffer #()))
      (do ((i file-cluster
              (sys.int::ub32ref/le fat (* i 4))))
          ((>= i #x0FFFFFF8) file-buffer)
        (setf file-buffer
              (concatenate 'vector
                           file-buffer
                           (read-cluster fat32 disk
                                         (first-sector-of-cluster fat32 i)))))))
  
  (defun read-first-cluster (directory offset)
    (logior (ash (sys.int::ub16ref/le directory (+ 20 offset)) 16)
  
negative.code:                                (setf buffer (make-array (* (fat32-sectors-per-cluster (fat32-structure host))
                                                             (fat32-bytes-per-sector (fat32-structure host)))
                                                          :initial-element 0)
                                       read-buffer-position cluster-number
                                       read-buffer-size 0)))))))))
        (when (and (not created-file) (member direction '(:output :io)))
          (ecase if-exists
  