Skip to content

WIP: Support mounting a physical CD-ROM drive on Windows#277

Draft
beholdnec wants to merge 18 commits intotwvd:masterfrom
beholdnec:windows_drive
Draft

WIP: Support mounting a physical CD-ROM drive on Windows#277
beholdnec wants to merge 18 commits intotwvd:masterfrom
beholdnec:windows_drive

Conversation

@beholdnec
Copy link
Copy Markdown
Contributor

@beholdnec beholdnec commented Apr 12, 2026

At the risk of suffering burnout... here's a PR to support mounting a physical CD-ROM drive on Windows, so you can play real discs in Snow.

TODO:

  • Support mounting and opening a data CD
  • Support mounting and playing an audio CD
  • Support mounting and playing a multi-session CD (at least the audio portion should be playable)
  • Add a menu for listing and selecting physical drives
  • Handle gracefully if the user ejects the CD

Known issues:

  • The emulator will briefly freeze on each access; Snow can't (yet) do anything else while a SCSI read is in progress.
  • If you mount an iso via Microsoft Virtual DVD-ROM (i.e. when you double-click the iso file in Explorer), Mac OS will report "This disk is unreadable by this Macintosh." Loading the iso file directly in Snow works fine.

Notes:

  • I don't have access to a Linux or Mac machine for testing. This PR will implement this feature for Windows only.

@beholdnec beholdnec force-pushed the windows_drive branch 2 times, most recently from ac645f2 to e0de989 Compare April 12, 2026 16:52
@twvd
Copy link
Copy Markdown
Owner

twvd commented Apr 12, 2026

"Allow emulator to continue running while disc accesses are in progress" will probably be pretty involved because you'd need to implement all the delay/busy logic in the SCSI controller, which is a bit of a project of its own. Snow now only responds to any SCSI command immediately. I wouldn't recommend you try to tackle that as part of this PR.

@beholdnec beholdnec force-pushed the windows_drive branch 6 times, most recently from 30d07df to d01f0b5 Compare April 17, 2026 22:07
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.

2 participants