Skip to content

Add FAT, VHD, and USB image workflows - #29

Merged
SeanShaffer88 merged 12 commits into
mainfrom
seanshaffer88-core-product-slice
Nov 9, 2026
Merged

SeanShaffer88 merged 12 commits into
mainfrom
seanshaffer88-core-product-slice

Conversation

@SeanShaffer88

@SeanShaffer88 SeanShaffer88 commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add a source-read-only USB-to-image task for physical disks and image files.
  • Add FAT12/16/32 read/edit workflows and fixed/dynamic VHD integration.
  • Document supported formats, safety behavior, and limitations; update the staged roadmap.

Validation

  • cargo fmt --check
  • cargo test --workspace
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo build -p isofoundry
  • git diff --check

Hardware behavior and external VHD interoperability remain unverified.

SeanShaffer88 and others added 12 commits November 8, 2026 22:37
Record the approved scope, staged acceptance criteria, and format/boot asset references before implementation. Preserve the existing USB-read work as separate uncommitted changes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add bounded XDVDFS probing, directory listing, and file extent reads so Xbox images open through the shared image filesystem API.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Reject image-edit operations that would silently rebuild an Xbox filesystem as ISO 9660, and record the validated reader milestone.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Teach image-info and extract to select XDVDFS, and record the shared browse/extract path verified by the app build.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add XDVDFS image creation and CLI routing with round-trip coverage, while keeping existing XISO edits explicitly read-only.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Recognize FAT12/16/32 superfloppies and primary MBR partitions so raw disk images can use the existing image-info, browse, and extract flows. Keep FAT edits explicitly read-only until writing is implemented.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Expose fixed and dynamic VHD disks as validated sector sources, including sparse block semantics and exact virtual lengths. Add malformed-container fixtures to guard the bounds checks.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Write 512-byte-aligned virtual disks to a new fixed VHD using validated metadata, exact source lengths, and cancellation-safe temporary output. Preserve existing destinations and round-trip the final partial logical sector.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Write dynamic VHD block maps and allocated blocks from a sector source, leaving zero-only blocks sparse. Reopen through the reader and verify byte accuracy, cancellation cleanup, and source-error cleanup.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Expose a source-read-only disk imaging flow for physical disks and image files, including optional limits, progress, and cancellable file reads. Keep physical disk reads under the existing helper path.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Make raw FAT12/16/32 and supported fixed/dynamic VHD images usable through the shared browse, extract, and edit paths. Keep edits isolated to new output images and document preserved metadata and unsupported layouts.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Separate the released 1.0.1 scope from current development features, remove stale roadmap status, and make capability descriptions match tested behavior and documented limitations.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@SeanShaffer88
SeanShaffer88 merged commit 98e29a1 into main Nov 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant