70static const uint8_t
CMD_NOP __depr(
"Please use the new CD_ prefixed versions.") =
CD_CMD_NOP;
82static const uint8_t
CMD_MAX __depr(
"Please use the new CD_ prefixed versions.") =
CD_CMD_MAX;
96#define ERR_NO_ACTIVE 5
106static const uint8_t
BUSY __depr(
"Please use the new CD_CMD_ prefixed versions.") =
CD_CMD_BUSY;
117#define CDDA_SECTORS 2
121static const bool CDROM_READ_PIO __depr(
"Please just use false to not use dma.") =
false;
122static const bool CDROM_READ_DMA __depr(
"Please just use true to use dma.") =
true;
125#define CDROM_TOC __depr("Use the type cd_toc_t rather than CDROM_TOC.") cd_toc_t
138#define TOC_LBA(n) FIELD_GET(n, 0x00ffffff)
144#define TOC_ADR(n) FIELD_GET(n, 0x0f000000)
150#define TOC_CTRL(n) FIELD_GET(n, 0xf0000000)
156#define TOC_TRACK(n) FIELD_GET(n, 0x00ff0000)
int mode
Definition 2ndmix.c:539
static struct @69 data[BARRIER_COUNT]
Various common macros used throughout the codebase.
static const uint8_t CMD_DMAREAD_STREAM
Definition cdrom.h:69
static const uint8_t CMD_MAX
Definition cdrom.h:82
static const uint8_t CMD_STOP
Definition cdrom.h:74
static const uint8_t FAILED
Definition cdrom.h:101
static const uint8_t CMD_PLAY
Definition cdrom.h:61
static const uint8_t CMD_GETTOC2
Definition cdrom.h:60
static const uint8_t BUSY
Definition cdrom.h:106
static const uint8_t CMD_PIOREAD_STREAM_EX
Definition cdrom.h:80
static const uint8_t CMD_GETSCD
Definition cdrom.h:75
static const uint8_t CMD_DMAREAD
Definition cdrom.h:58
static const uint8_t STREAMING
Definition cdrom.h:105
static const uint8_t CMD_NOP
Definition cdrom.h:70
static const uint8_t CMD_CHECK_LICENSE
Definition cdrom.h:55
static const uint8_t COMPLETED
Definition cdrom.h:104
static const uint8_t CMD_GETTOC
Definition cdrom.h:59
static const uint8_t CMD_REQ_SPI_CMD
Definition cdrom.h:56
static const uint8_t CMD_GETSES
Definition cdrom.h:76
static const uint8_t CMD_SET_MODE
Definition cdrom.h:72
static const uint8_t CMD_PAUSE
Definition cdrom.h:63
static const uint8_t CMD_SEEK
Definition cdrom.h:68
static const uint8_t CMD_RELEASE
Definition cdrom.h:64
static const uint8_t CMD_PLAY2
Definition cdrom.h:62
static const uint8_t CMD_SCAN_CD
Definition cdrom.h:73
static const uint8_t CMD_PIOREAD
Definition cdrom.h:57
static const bool CDROM_READ_DMA
Definition cdrom.h:122
static const uint8_t CMD_GET_VERS
Definition cdrom.h:81
static const uint8_t CMD_OPEN_TRAY
Definition cdrom.h:67
static const uint8_t CMD_DMA_ABORT
Definition cdrom.h:66
static const uint8_t CMD_DMAREAD_STREAM_EX
Definition cdrom.h:79
static const uint8_t CMD_REQ_MODE
Definition cdrom.h:71
static const uint8_t PROCESSING
Definition cdrom.h:103
static const uint8_t NO_ACTIVE
Definition cdrom.h:102
static const bool CDROM_READ_PIO
Definition cdrom.h:121
static const uint8_t CMD_PIOREAD_STREAM
Definition cdrom.h:78
static const uint8_t CMD_REQ_STAT
Definition cdrom.h:77
static const uint8_t CMD_INIT
Definition cdrom.h:65
void(* cdrom_stream_callback_t)(void *data)
CD-ROM streams callback.
Definition cdrom.h:161
cd_read_sec_part_t
Read Sector Part.
Definition syscalls.h:528
cd_sub_type_t
Types of data to read from sector subcode.
Definition syscalls.h:352
cd_cmd_code_t
Command codes for GDROM syscalls.
Definition syscalls.h:253
@ CD_CMD_COMPLETED
Command completed successfully.
Definition syscalls.h:442
@ CD_CMD_FAILED
Command failed.
Definition syscalls.h:439
@ CD_CMD_NOT_FOUND
Command requested not found.
Definition syscalls.h:440
@ CD_CMD_BUSY
GD syscalls is busy.
Definition syscalls.h:444
@ CD_CMD_PROCESSING
Processing command.
Definition syscalls.h:441
@ CD_CMD_STREAMING
Stream type command is in progress.
Definition syscalls.h:443
@ CD_CMD_INIT
Initialize the drive.
Definition syscalls.h:264
@ CD_CMD_GETSCD
Get subcode data.
Definition syscalls.h:274
@ CD_CMD_PAUSE
Pause playback.
Definition syscalls.h:262
@ CD_CMD_GETTOC
Read TOC.
Definition syscalls.h:258
@ CD_CMD_RELEASE
Resume from pause.
Definition syscalls.h:263
@ CD_CMD_DMAREAD_STREAM_EX
Stream DMA transfer.
Definition syscalls.h:278
@ CD_CMD_DMAREAD_STREAM
Stream DMA until end/abort.
Definition syscalls.h:268
@ CD_CMD_GETSES
Get session.
Definition syscalls.h:275
@ CD_CMD_NOP
No operation.
Definition syscalls.h:269
@ CD_CMD_SET_MODE
Setup mode.
Definition syscalls.h:271
@ CD_CMD_MAX
Max of GD syscall commands.
Definition syscalls.h:281
@ CD_CMD_PLAY_SECTORS
Play sectors.
Definition syscalls.h:261
@ CD_CMD_DMAREAD
Read via DMA.
Definition syscalls.h:257
@ CD_CMD_PIOREAD_STREAM
Stream PIO until end/abort.
Definition syscalls.h:277
@ CD_CMD_DMA_ABORT
Abort DMA transfer.
Definition syscalls.h:265
@ CD_CMD_REQ_STAT
Request stat.
Definition syscalls.h:276
@ CD_CMD_SEEK
Seek to a new position.
Definition syscalls.h:267
@ CD_CMD_GET_VERS
Get syscall driver version.
Definition syscalls.h:280
@ CD_CMD_STOP
Stop the disc from spinning.
Definition syscalls.h:273
@ CD_CMD_REQ_SPI_CMD
Request to Sega Packet Interface.
Definition syscalls.h:255
@ CD_CMD_PIOREAD
Read via PIO.
Definition syscalls.h:256
@ CD_CMD_GETTOC2
Read TOC.
Definition syscalls.h:259
@ CD_CMD_SCAN_CD
Scan CD.
Definition syscalls.h:272
@ CD_CMD_CHECK_LICENSE
Check license.
Definition syscalls.h:254
@ CD_CMD_OPEN_TRAY
Open CD tray (on DevBox?)
Definition syscalls.h:266
@ CD_CMD_PLAY_TRACKS
Play track.
Definition syscalls.h:260
@ CD_CMD_REQ_MODE
Request mode.
Definition syscalls.h:270
@ CD_CMD_PIOREAD_STREAM_EX
Stream PIO transfer.
Definition syscalls.h:279
int cdrom_exec_cmd_timed(cd_cmd_code_t cmd, void *param, uint32_t timeout)
Execute a CD-ROM command with timeout.
int cdrom_spin_down(void)
Spin down the CD.
int cdrom_stream_start(int sector, int cnt, bool dma)
Start streaming from a CD-ROM.
int cdrom_stream_request(void *buffer, size_t size, bool block)
Request stream transfer.
int cdrom_change_datatype(cd_read_sec_part_t sector_part, int track_type, int sector_size)
Change the datatype of disc.
uint32_t cdrom_locate_data_track(cd_toc_t *toc)
Locate the sector of the data track.
int cdrom_stream_progress(size_t *size)
Check requested stream transfer.
int cdrom_cdda_resume(void)
Resume CDDA audio playback after a pause.
int cdrom_abort_cmd(uint32_t timeout, bool abort_dma)
Abort a CD-ROM command with timeout.
int cdrom_cdda_pause(void)
Pause CDDA audio playback.
void cdrom_stream_set_callback(cdrom_stream_callback_t callback, void *param)
Setting up a callback for transfers.
int cdrom_reinit(void)
Re-initialize the GD-ROM drive.
void cdrom_init(void)
Initialize the GD-ROM for reading CDs.
int cdrom_get_subcode(void *buffer, size_t buflen, cd_sub_type_t which)
Read subcode data from the most recently read sectors.
int cdrom_set_sector_size(int size)
Set the sector size for read sectors.
void cdrom_shutdown(void)
Shutdown the CD reading system.
int cdrom_get_status(int *status, int *disc_type)
Get the status of the GD-ROM drive.
int cdrom_cdda_play(uint32_t start, uint32_t end, uint32_t loops, int mode)
Play CDDA audio tracks or sectors.
int cdrom_read_toc(cd_toc_t *toc_buffer, bool high_density)
Read the table of contents from the disc.
int cdrom_exec_cmd(cd_cmd_code_t cmd, void *param)
Execute a CD-ROM command.
int cdrom_read_sectors(void *buffer, uint32_t sector, size_t cnt)
Read one or more sector from a CD-ROM in PIO mode.
int cdrom_stream_stop(bool abort_dma)
Stop streaming from a CD-ROM.
int cdrom_read_sectors_ex(void *buffer, uint32_t sector, size_t cnt, bool dma)
Read one or more sector from a CD-ROM.
int cdrom_reinit_ex(cd_read_sec_part_t sector_part, int cdxa, int sector_size)
Re-initialize the GD-ROM drive with custom parameters.
static uint8_t block[4096]
Definition mke2fs.c:45
static int buflen
Definition porthelper.c:12
static char buffer[256]
Definition porthelper.c:11
Macros to help dealing with register fields.
TOC structure returned by the BIOS.
Definition syscalls.h:316
Functions to access the system calls of the Dreamcast ROM.