[PR #37] [MERGED] CD-ROM (Volume Descriptor Set) support #69

Closed
opened 2026-01-29 21:16:52 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/SabreTools/SabreTools.Serialization/pull/37
Author: @Deterous
Created: 11/2/2025
Status: Merged
Merged: 11/3/2025
Merged by: @mnadareski

Base: mainHead: main


📝 Commits (3)

📊 Changes

14 files changed (+513 additions, -0 deletions)

View changed files

📝 ExtractionTool/Features/MainFeature.cs (+5 -0)
SabreTools.Serialization/Models/CDROM/CDROM.cs (+17 -0)
SabreTools.Serialization/Models/CDROM/DataTrack.cs (+22 -0)
SabreTools.Serialization/Models/CDROM/Enums.cs (+42 -0)
SabreTools.Serialization/Models/CDROM/Mode1.cs (+31 -0)
SabreTools.Serialization/Models/CDROM/Mode2Form1.cs (+31 -0)
SabreTools.Serialization/Models/CDROM/Mode2Form2.cs (+27 -0)
SabreTools.Serialization/Models/CDROM/Sector.cs (+26 -0)
SabreTools.Serialization/Readers/CDROMVolume.cs (+171 -0)
📝 SabreTools.Serialization/WrapperFactory.cs (+10 -0)
SabreTools.Serialization/Wrappers/CDROM.Extraction.cs (+9 -0)
SabreTools.Serialization/Wrappers/CDROM.Printing.cs (+27 -0)
SabreTools.Serialization/Wrappers/CDROM.cs (+90 -0)
📝 SabreTools.Serialization/Wrappers/WrapperType.cs (+5 -0)

📄 Description

  • CDROM Models
  • CDROMVolume Reader (Only supports reading the Volume Descriptor Set)
  • CDROM Wrapper (CDROMVolume only)
  • CDROM Printer (uses ISO9660 printer)
  • Detected with magic AND bin/skeleton extension
  • Does not support extraction due to Volume Descriptor Set only (no Directories/File Extents)

For support of CD-ROM models and directories/file extents, a custom Stream would need to be made that extracts the CDROM header/EDC/ECC, and pass the user data to the ISO9660 Reader.
This would mean CDROMVolume would become deprecated with a proper CDROM reader parsing a CDROM.DataTrack model.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/SabreTools/SabreTools.Serialization/pull/37 **Author:** [@Deterous](https://github.com/Deterous) **Created:** 11/2/2025 **Status:** ✅ Merged **Merged:** 11/3/2025 **Merged by:** [@mnadareski](https://github.com/mnadareski) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (3) - [`f27e07b`](https://github.com/SabreTools/SabreTools.Serialization/commit/f27e07b9ceb3b1b340269ce65848c0922cf11f71) CD-ROM Wrapper - [`515c2d3`](https://github.com/SabreTools/SabreTools.Serialization/commit/515c2d35b889e1d8e04e2874b5bb64b74d53023d) Fix CDROMVolume Reader - [`0b248ae`](https://github.com/SabreTools/SabreTools.Serialization/commit/0b248ae07b1425568a38dc2397774504bd7f7384) Fix SectorMode enum ### 📊 Changes **14 files changed** (+513 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `ExtractionTool/Features/MainFeature.cs` (+5 -0) ➕ `SabreTools.Serialization/Models/CDROM/CDROM.cs` (+17 -0) ➕ `SabreTools.Serialization/Models/CDROM/DataTrack.cs` (+22 -0) ➕ `SabreTools.Serialization/Models/CDROM/Enums.cs` (+42 -0) ➕ `SabreTools.Serialization/Models/CDROM/Mode1.cs` (+31 -0) ➕ `SabreTools.Serialization/Models/CDROM/Mode2Form1.cs` (+31 -0) ➕ `SabreTools.Serialization/Models/CDROM/Mode2Form2.cs` (+27 -0) ➕ `SabreTools.Serialization/Models/CDROM/Sector.cs` (+26 -0) ➕ `SabreTools.Serialization/Readers/CDROMVolume.cs` (+171 -0) 📝 `SabreTools.Serialization/WrapperFactory.cs` (+10 -0) ➕ `SabreTools.Serialization/Wrappers/CDROM.Extraction.cs` (+9 -0) ➕ `SabreTools.Serialization/Wrappers/CDROM.Printing.cs` (+27 -0) ➕ `SabreTools.Serialization/Wrappers/CDROM.cs` (+90 -0) 📝 `SabreTools.Serialization/Wrappers/WrapperType.cs` (+5 -0) </details> ### 📄 Description - CDROM Models - CDROMVolume Reader (Only supports reading the Volume Descriptor Set) - CDROM Wrapper (CDROMVolume only) - CDROM Printer (uses ISO9660 printer) - Detected with magic AND bin/skeleton extension - Does not support extraction due to Volume Descriptor Set only (no Directories/File Extents) For support of CD-ROM models and directories/file extents, a custom Stream would need to be made that extracts the CDROM header/EDC/ECC, and pass the user data to the ISO9660 Reader. This would mean CDROMVolume would become deprecated with a proper CDROM reader parsing a CDROM.DataTrack model. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 21:16:52 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SabreTools/SabreTools.Serialization#69