BlueSCSI_cdrom.h 932 B

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. // Reinsert ejected CD-ROM and restart from first image
  11. void cdromReinsertFirstImage(image_config_t &img);
  12. // Switch to next CD-ROM image if multiple have been configured
  13. bool cdromSwitchNextImage(image_config_t &img);
  14. // Check if the currently loaded cue sheet for the image can be parsed
  15. // and print warnings about unsupported track types
  16. bool cdromValidateCueSheet(image_config_t &img);
  17. // Audio playback status
  18. enum CDROMAudioPlaybackStatus {
  19. CDROMAudio_Stopped = 0,
  20. CDROMAudio_Playing = 1,
  21. CDROMAudio_Paused = 2
  22. };
  23. void cdromGetAudioPlaybackStatus(CDROMAudioPlaybackStatus *status, uint32_t *current_lba);