anchor.diff:  
   (defun read-file (fat32 disk cluster-n fat)
     (let ((file-buffer #()))
  -    (do ((sector (read-sector disk (fat32-reserved-sector-count fat32) 1))
  -         (i cluster-n
  +    (do ((i cluster-n
               (sys.int::ub32ref/le fat (* i 4))))
           ((>= i #x0FFFFFF8) file-buffer)
         (setf file-buffer
  
positive.code: (defmethod sys.gray:stream-element-type ((stream fat32-file-character-stream))
    'character)
  
  ;; WIP
  ;; TODO resize to files bigger than 1 cluster
  (defmethod sys.gray:stream-write-byte ((stream fat32-file-stream) byte)
    (assert (member (direction stream) '(:output :io)))
    (when (> (buffer-offset stream)
  
negative.code:   (read-buffer-size stream))
  
  ;; WIP
  ;; TODO Change access-date.
  (defmethod close ((stream fat32-file-stream) &key abort)
    (when (member (direction stream) '(:output :io))
      (cond ((not abort)
             (let ((host (host stream)))
               (write-file (read-buffer stream)
                           (partition host)
                           (fat32-structure host)
                           (fat host)
                           (read-buffer-position stream))))
            (t (error "Aborted close not suported"))))
    t)
  
  ;;; testing
  