Skip to content
Merged
24 changes: 24 additions & 0 deletions CAPABILITY-MAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Capability Map: IsoFoundry

This map expands the existing 1.x roadmap to cover the user's disc, image, archive, and USB feature catalog. It is an index and build-order proposal, not a promise that every proprietary format, device, or hardware workflow can be supported. Existing features and in-progress work remain in place.

| Module id | Responsibility | Depends on |
|---|---|---|
| `image-foundation` | Shared image I/O, filesystem/container support, safe editing, integrity primitives, and VHD support. Builds on ISO/UDF, XISO, and FAT work already in the repository. | — |
| `image-operations` | Create images from files or readable media; browse and extract; edit; convert; compare and verify; sector-level inspection/editing where safe and format-defined. | `image-foundation` |
| `archive-formats` | Add practical compressed, split, encrypted, and additional image/container formats with explicit capability and compatibility reporting. | `image-foundation` |
| `usb-creation` | Format and create bootable USB media, BIOS/UEFI layouts, multiboot menus, write verification, and protections against selecting system or otherwise unsafe disks. | `image-foundation` |
| `optical-media` | Read and write supported optical media, including data-disc authoring, image-to-disc, disc-to-image, duplication, rewritable-media erase, and applicable write/media diagnostics. | `image-foundation` |
| `media-conversion` | Extract audio from unprotected media and convert supported user-provided or readable audio/video content using legally distributable codecs. | `image-foundation`, `optical-media` |
| `virtual-mounting` | Mount, browse, and unmount supported images through operating-system virtual-drive facilities, including multiple mounts where the OS supports them. | `image-foundation` |
| `workflow-surfaces` | Consistent GUI and CLI workflows, scripting and batch queues, portable operation, localization (including Spanish), and user-facing capability/limitation documentation. | `image-operations`, `archive-formats`, `usb-creation`, `optical-media`, `media-conversion`, `virtual-mounting` |

Build order: `image-foundation` → `image-operations`, `archive-formats`, `usb-creation`, `optical-media`, and `virtual-mounting` → `media-conversion` → `workflow-surfaces`. The existing FAT editor and USB-to-image work remain part of the current progress; the previously approved VHD, multiboot USB, and Spanish UI roadmap work is retained.

## Boundaries and delivery rules

- Do not implement copy-protection circumvention or claim support for encrypted commercial media.
- Treat formatting, disc erasure, and raw writes as destructive operations: require clear target identification, proportionate confirmation, cancellation/error handling, and safe output behavior.
- Hardware testing is not a completion gate. Verify with fixtures, simulated/image-backed devices, and software integration tests; document hardware-dependent behavior as unverified where appropriate.
- Prefer formats and operations with reliable specifications, existing project architecture, and redistributable dependencies. Report unsupported formats or OS-dependent behavior rather than claiming universal compatibility.
- Deliver one end-to-end vertical slice at a time, with focused tests and user documentation. A module is not complete merely because one code path exists.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ All notable changes are listed here. Versions follow [Semantic Versioning](https

## [Unreleased]

### Added

- XDVDFS/Xbox XISO support: identify, browse, and extract existing images, and create new XISOs with `create-image --fs xdvdfs` (or `xiso`). Existing XISOs are read-only; ISO-specific labels and boot-entry options are not supported.
- FAT12/16/32 support for raw floppy and primary MBR-partitioned images: identify, browse, extract, and edit volumes while retaining boot/partition sectors. Fixed and dynamic VHD 1.0 containers with FAT volumes are also supported for browse, extract, and edit; new fixed or sparse dynamic VHDs can be written. Per-file timestamps and attributes reset on edit; GPT/extended partitions, VHDX, differencing VHDs, and exFAT are not supported.
- **Save USB drive to image file** now has a task window with physical-disk and disk-image sources, optional byte limits, progress, and cancellable disk-image reads. Physical-disk reads continue until the helper finishes; the source is read-only and real USB hardware remains unverified.

## [1.0.1] - 2026-11-08

Patch release: one robustness fix from the panic-path review, plus documentation. No feature changes.
Expand Down
10 changes: 5 additions & 5 deletions DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Description

IsoFoundry is a free, open-source Windows tool for burning discs, making and checking disc images, and writing bootable USB drives. It aims to match AnyBurn Pro's task-grid simplicity while adding features from other burning and imaging tools, and later the Windows ISO customization from WinISOPilot.
IsoFoundry is a free, open-source Windows tool for supported disc, image, audio, backup, and USB workflows. It uses a task grid and command-line tools. Windows ISO customization is a future roadmap item.

**Short (≤ 80 chars):** Open source disc burning, imaging and bootable USB suite for Windows.
**Short (≤ 80 chars):** Open-source Windows suite for discs, images, and bootable USB.

**Medium:** IsoFoundry burns CDs, DVDs and Blu-rays, rips and burns audio, creates and converts disc images, and builds bootable USB drives, all from one compact task grid or the command line.
**Medium:** IsoFoundry handles supported CD, DVD, and Blu-ray workflows; creates, checks, and edits supported images; and creates or reads bootable USB images from one task grid and command line.

**Long:** IsoFoundry is a free, open-source (MIT) suite for Windows 10 and 11. Pick a task from a single window: burn images or files to any optical disc, copy discs, rip audio CDs securely to FLAC, MP3 or Opus, burn audio CDs with CD-Text, create, edit, browse, convert and mount disc images, verify checksums, back up large folders across several discs, test disc surfaces, and create bootable or Windows-to-Go USB drives. Every task is also available from the command line. It works offline, collects no telemetry, and asks for administrator rights only for the tasks that need them.
**Long:** IsoFoundry is a free, open-source (MIT) suite for Windows 10 and 11. Its task grid and command-line tools cover supported optical-disc operations, audio conversion and ripping, backups, image creation and conversion, checksum verification, and bootable USB workflows. Image support includes ISO/UDF, Xbox XISO, raw FAT12/16/32, and fixed or dynamic VHDs containing supported FAT volumes. The USB-to-image workflow can read a physical disk or disk-image file to an image file. Audio encoding supports WAV, FLAC, MP3, and AAC/M4A; Opus and Vorbis are decode-only. Physical optical and USB hardware paths remain unverified; supported formats and other limits are documented in the README and limitations guide. The app works offline, collects no telemetry, and requests administrator rights only for tasks that need them.

**Keywords:** burn, iso, cd, dvd, blu-ray, rip, flac, bootable usb, disc image, bin cue, checksum, open source
**Keywords:** burn, iso, xiso, fat, vhd, cd, dvd, blu-ray, rip, flac, bootable usb, usb imaging, disc image, bin cue, checksum, open source
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ IsoFoundry is a single free Windows program for working with CDs, DVDs, Blu-rays
- **0.4.0** — M2 USB and M3 audio together (0.3.0 was never released separately): Create bootable USB, Install Windows to USB, and batch audio conversion with tags and ReplayGain. USB is tested end-to-end against disk-image files; writing a physical disk and booting from it are still to be confirmed. MP3 needs `libmp3lame.dll` at runtime; AAC uses Windows Media Foundation; both encode paths are **Unverified** on real hardware.
- **0.2.0** — M1 image toolkit (create, browse, extract, edit, convert, mount, checksum, verify) in task windows and on the command line.
- **0.1.0** — M0 shell: main window, command line and elevated helper.
- **Next** — 1.x: multiboot USB, FAT/VHD image editing, Xbox XISO, Spanish UI. See the [roadmap](#roadmap).
- **Next** — 1.x: multiboot USB, Spanish UI, and a native Windows 11 context menu. FAT/VHD image editing, Xbox XISO support, and the USB-to-image task window are implemented after 1.0.1; see the [roadmap](#roadmap).

## What the program does today

Expand All @@ -33,21 +33,21 @@ IsoFoundry is a single free Windows program for working with CDs, DVDs, Blu-rays

These jobs run from the task windows and the command line:

- **`create-image`** — build an ISO from files and folders: ISO 9660 + Joliet + UDF 1.02 in one image sharing a single copy of the data, files over 4 GB, El Torito boot entries for BIOS (optional boot information table) and UEFI. Written to a `.part` file and renamed only when complete, so a cancelled build never leaves a half-written image.
- **`image-info`** — an image's container format, tracks, file systems, label and boot entries.
- **`extract`** — copy files out of an image (everything, or one file/folder), renaming names Windows cannot store, and keeping nothing half-written on cancel.
- **`edit-image`** — add, remove, rename, create folders, change the label, saved as a new image; untouched files are copied straight from the source, and BIOS/UEFI boot entries are kept.
- **`create-image`** — build an ISO from files and folders: ISO 9660 + Joliet + UDF 1.02 in one image sharing a single copy of the data, files over 4 GB, El Torito boot entries for BIOS (optional boot information table) and UEFI. `--fs xdvdfs` (or `xiso`) creates an Xbox XISO. Written to a `.part` file and renamed only when complete, so a cancelled build never leaves a half-written image.
- **`image-info`** — an image's container format, tracks, file systems, label and boot entries; recognizes XDVDFS/XISO, FAT, and fixed/dynamic VHD containers.
- **`extract`** — copy files out of an image (everything, or one file/folder), renaming names Windows cannot store, and keeping nothing half-written on cancel. XISO browsing and extraction also work in the GUI browse task; raw FAT12/16/32 and fixed/dynamic VHDs containing supported FAT volumes are supported too.
- **`edit-image`** — add, remove, rename, create folders, and change the label, saved as a new image. FAT12/16/32 floppy and primary MBR volumes can be edited while retaining their image size and boot/partition sectors; fixed/dynamic VHD inputs are saved back as the same VHD type. Per-file timestamps and attributes reset. XDVDFS/XISO images remain read-only.
- **`convert-image`** — any readable image to ISO, BIN/CUE, CloneCD (CCD/IMG/SUB) or CHD.
- **`checksum`** — CRC32, MD5, SHA-1 and SHA-256 in one pass; `--dat` also writes a Logiqx-style `.dat` hash file.
- **`verify --dat`** — look a file's hashes up in a known-good `.dat` list (for example a redump list) and report match or no match.
- **`compare`** — byte-for-byte comparison of two files.
- **`mount` / `unmount`** — mount an image read-only with Windows' built-in virtual disk support; other formats are converted to a temporary ISO first, which is removed on unmount.

Formats: ISO 9660 (with Rock Ridge names), Joliet, UDF 1.02–2.60 (physical, sparable and metadata partitions), multi-extent files, El Torito boot catalogs (BIOS and UEFI). CD images: BIN/CUE (single and multi-file; MODE1, MODE2 and audio tracks), CloneCD CCD/IMG/SUB, sheetless raw `.bin`/`.img`, and MAME CHD v5 — reading `zlib`/`cdzl` discs and writing CD (`cdzl`) and DVD (`zlib`) CHDs whose SHA-1s match chdman 0.264 byte for byte on the test images. Nero NRG and Alcohol MDS/MDF are read-only and marked unverified. Raw sector ECC/EDC generation and checks, and Q-subchannel generation, are included. Known format limits are listed in [docs/LIMITATIONS.md](docs/LIMITATIONS.md).
Formats: ISO 9660 (with Rock Ridge names), Joliet, UDF 1.02–2.60 (physical, sparable and metadata partitions), XDVDFS/Xbox XISO (browse, extract and create), FAT12/16/32 raw floppy or primary MBR partitions, and fixed/dynamic VHD 1.0 containers with FAT12/16/32 (browse, extract and edit); multi-extent files, El Torito boot catalogs (BIOS and UEFI). CD images: BIN/CUE (single and multi-file; MODE1, MODE2 and audio tracks), CloneCD CCD/IMG/SUB, sheetless raw `.bin`/`.img`, and MAME CHD v5 — reading `zlib`/`cdzl` discs and writing CD (`cdzl`) and DVD (`zlib`) CHDs whose SHA-1s match chdman 0.264 byte for byte on the test images. Nero NRG and Alcohol MDS/MDF are read-only and marked unverified. Raw sector ECC/EDC generation and checks, and Q-subchannel generation, are included. Known format limits are listed in [docs/LIMITATIONS.md](docs/LIMITATIONS.md).

## USB tools

- **`bootable-usb`** — turn an ISO into a bootable USB drive: partition it (MBR or GPT), format FAT32 and copy the image's files, or copy the image byte-for-byte in raw mode with an optional SHA-256 verify afterwards. `usb read` copies a drive back to an image file.
- **`bootable-usb`** — turn an ISO into a bootable USB drive: partition it (MBR or GPT), format FAT32 and copy the image's files, or copy the image byte-for-byte in raw mode with an optional SHA-256 verify afterwards. Its **Save USB drive to image file** variant reads a physical disk or disk-image file byte-for-byte, with an optional byte limit; it is also available as `usb read`.
- **`install-windows-usb`** — the same write with Windows installer layouts: MBR+FAT32 (default), GPT+FAT32, or GPT+NTFS for install images over the FAT32 file limit. The boot files are Microsoft's own, copied unchanged from the ISO, so Secure Boot keeps working.

Writing is guarded: the system disk, the boot/pagefile disk and fixed disks are refused, and a target with mounted volumes or over 64 GB needs a typed ERASE confirmation. The engine is tested against disk-image files (the VHDX route); physical disks are **Unverified** until exercised on real hardware.
Expand Down Expand Up @@ -200,13 +200,13 @@ The 0.x milestones shipped as public pre-releases; **1.0** (2026-11-08) is the f
|---|---|---|
| M0 Shell | 0.1.0 ✅ | Window, task grid, CLI skeleton, settings, logs, elevated helper, packaging |
| M1 Image tools | 0.2.0 | Create / browse / extract / edit / convert / mount images, checksums + `.dat`, verify — released in 0.2.0 |
| M2 USB | 0.3.0 | Bootable USB (GPT/MBR, UEFI/BIOS), Windows installer layouts, install Windows to USB, USB ↔ image |
| M2 USB | 0.4.0 | Bootable USB (GPT/MBR, UEFI/BIOS), Windows installer layouts, install Windows to USB, USB ↔ image |
| M3 Audio convert | 0.4.0 | Decode/encode pipeline, tags, batch convert, ReplayGain |
| M4 Burning (IMAPI2) | 0.5.0 | Burn image and files, multisession, erase, verify after burn |
| M5 Disc & ripping (MMC) | 0.5.0 | Disc → image (raw + subchannel), disc → disc, secure audio ripping, audio CD burning, surface/quality scans, recovery |
| M6 Integration | 0.9.0 | Spanning backup, auto-action on disc insert, Explorer verbs, opt-in update check, MusicBrainz, completion actions |
| RC / 1.0 | 0.9.0 / 1.0 | Audit pass, failure drills, accessibility pass, measured budgets, release |
| 1.x | — | Multiboot USB, FAT/VHD image editing, Xbox XISO, Spanish UI, native Windows 11 context menu |
| 1.x | — | Multiboot USB, Spanish UI, native Windows 11 context menu |
| 2.0 | — | Windows ISO customization integrated from [WinISOPilot](https://github.com/SeanShaffer88/WinISOPilot) |

Full detail: [docs/roadmap.md](docs/roadmap.md).
Expand Down
Loading
Loading