Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CD-ROM: volume control and mode changes #228

Merged
merged 8 commits into from May 28, 2023
Merged

Conversation

saybur
Copy link
Contributor

@saybur saybur commented May 27, 2023

This includes changes to support CD-ROM volume control from software. There are three main proposals:

  • Shift the previously-added CD-ROM pages out of the SCSI2SD library,
  • Add audio subsystem volume control,
  • Implement a more full-featured 0x0E CD audio control page to tie things together.

Any corrections or suggestions are welcome!

Idea is to allow dynamic mode pages that call into other parts of the program and limit the need for further customization of the SCSI2SD library.
These are reserved for CD devices in MMC-1. Using sg_modes on Linux, 0x03 is parsed as a Mount Rainer rewritable page and 0x04 is unparsed.
In addition to trying to fix vendor-specific mode pages that won't be understood, this works around a problem on modern Linux: with block descriptors present in MODE SENSE, changing volume via mmc_io_cdrom_volume() in cdrom.c appears to send block descriptor information following the 0x0E page update.
This appears to match the behavior expected from old drives, even though it does not appear within the specifications.
@aperezbios aperezbios merged commit e8e0849 into ZuluSCSI:main May 28, 2023
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.

None yet

2 participants