Repository navigation
UWP/CDVD: Add support for the Xbox disc drive - #11
Open
skitzellez wants to merge 1 commit into
Open
skitzellez wants to merge 1 commit into
skitzellez wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Thank you for submitting a contribution to XBSX2
As this is your first pull request, please be aware of the contributing guidelines.
Additionally, as per recent changes in GitHub Actions, your pull request will need to be approved by a maintainer before GitHub Actions can run against it. You can find more information about this change here.
Please be patient until this happens. In the meantime if you'd like to confirm the builds are passing, you have the option of opening a PR on your own fork, just make sure your fork's master branch is up to date!
Reads discs in the console's own drive through its device interface (Windows.Devices.Custom + SCSI pass-through), since apps are refused the usual drive letter and CDROM/DVD ioctls. The drive is listed only when the console has one, so nothing changes on Series S. A "disc:" launch link boots the disc.
skitzellez
force-pushed
the
pr/xbox-disc-drive
branch
from
October 20, 2026 18:29
b7eed63 to
fd5c638
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of Changes
Adds support for the disc drive on Xbox consoles (Series X / One X / One S).
IOCtlSrcXbox.inlreplacesIOCtlSrcwhenWINRT_XBOXis set. It opens the drive through its device interface (Windows.Devices.Custom) and reads it with SCSI pass-through: READ(10), READ CD, READ TOC, READ DVD STRUCTURE (READ CAPACITY as a fallback) and TEST UNIT READY.DriveUtility.cpplists the drive asdisc:, but only when the console has one, so nothing changes on Series S.main.cpp: a launch link withcmd=xbsx2.exe disc:boots the disc.Package.appxmanifest: adds theopticaldevice capability and the CD-ROM interface class, which the drive needs before it will open.Rationale behind Changes
On the console, apps are refused the normal routes to the drive (CreateFile on
\\.\X:and the IOCTL_CDROM / IOCTL_DVD requests), so the existing Windows reader can't see a disc. The device interface route is the one that opens in Dev Mode.Suggested Testing Steps
disc:link (or Start Game > Start Disc in the menu). Tested on a Series X with this exact branch (v2.0.9.2-1-gb7eed636d) and a PS2 DVD (American Chopper, SLUS-21069), started with the link: the log showsCDVD: disc in the console's drive: DVD, 1338384 sectors, the ELF loads and the game runs into its intro video. I haven't tried the menu route yet.Did you use AI to help find, test, or implement this issue or feature?
Yes. The code was written with Claude (AI) and tested by me on my Series X. The same code has been in use in my XBSX2 for Game Vault builds since 2.0.9.6. Edits from maintainers are enabled, so feel free to change anything.