BlueSCSI_cdrom.h 1.0 KB

123456789101112131415161718192021222324252627282930
  1. // Advanced CD-ROM drive emulation.
  2. // Adds a few capabilities on top of the SCSI2SD CD-ROM emulation:
  3. //
  4. // - bin/cue support for support of multiple tracks
  5. // - on the fly image switching
  6. #pragma once
  7. #include "BlueSCSI_disk.h"
  8. // Called by scsi.c from SCSI2SD
  9. extern "C" int scsiCDRomCommand(void);
  10. // Eject the given CD-ROM
  11. void cdromPerformEject(image_config_t &img);
  12. // Reinsert ejected CD-ROM and restart from first image
  13. void cdromReinsertFirstImage(image_config_t &img);
  14. // Switch to next CD-ROM image if multiple have been configured
  15. bool cdromSwitchNextImage(image_config_t &img);
  16. // Check if the currently loaded cue sheet for the image can be parsed
  17. // and print warnings about unsupported track types
  18. bool cdromValidateCueSheet(image_config_t &img);
  19. // Audio playback status
  20. // boolean flag is true if just basic mechanism status (playback true/false)
  21. // is desired, or false if historical audio status codes should be returned
  22. void cdromGetAudioPlaybackStatus(uint8_t *status, uint32_t *current_lba, bool current_only);