anchor.diff:            (= signature #x29))
         signature
         (error "Bad signature : ~x .
  -Valid signature are #x28 and #x29")))
  +Valid signature are #x28 and #x29" signature)))
   
   (defun check-bps (bps)
     (unless (= bps +bootable-partition-signature+)
  
positive.code:                (namestring dest))
        t
        (multiple-value-bind (source-dir source-cluster source-start) (open-file-metadata host source)
          (assert source-start (source-start) "Source file not found. ~s" source)
          (multiple-value-bind (dest-dir dest-cluster dest-start) (open-file-metadata host dest)
            (assert (not dest-start) (dest-start) "Destination file alredy exist. ~s" dest)
            (let ((dest-offset))
              (multiple-value-setq (dest-offset dest-dir)
                (create-directory-entry dest-dir
                                        (pathname-name dest)
                                        (pathname-type dest)
                                        (eql (pathname-version dest) :previous)
                                        (bytes-per-cluster (fat-structure host))))
              ;; copy meta data
              (replace dest-dir source-dir
                       :start1 (+ dest-offset 11)
  
negative.code:                    ;; destination directory (already modified above)
                     ;; remove source file entry
                     (free-file-entry dest-dir source-start)
                     (write-file fat32 disk dest-cluster fat dest-dir))
                    (T
                     ;; source and destination are different directories
                     ;; remove source file entry
                     (free-file-entry source-dir source-start)
                     ;; write both directories
                     (write-file fat32 disk source-cluster fat source-dir)
                     (write-file fat32 disk dest-cluster fat dest-dir))))))))
  
  (defmethod file-write-date-using-host ((host fat32-host) path)
    (multiple-value-bind (parent-dir parent-cluster file-offset) (open-file-metadata host path)
      (declare (ignore parent-cluster))
      (when (null file-offset)
        (error 'simple-file-error
                               :pathname path
                               :format-control "File ~A does not exist. ~S"
                               :format-arguments (list path (file-name path))))
      (let ((time (read-write-time parent-dir file-offset))
            (date (read-write-date parent-dir file-offset)))
        (encode-universal-time (ash (ldb (byte 5 0) time) 1)
  