32#ifndef __DC_SYSCALLS_H
33#define __DC_SYSCALLS_H
201typedef enum cd_stat {
222typedef enum cd_disc_types {
234typedef struct cd_check_drive_status {
253typedef enum cd_cmd_code {
290typedef struct cd_read_params {
304typedef enum cd_area {
316typedef struct cd_toc {
329typedef struct cd_cmd_toc_params {
340typedef struct cd_cmd_play_params {
352typedef enum cd_sub_type {
363typedef struct cd_cmd_getscd_params {
375typedef enum cd_sub_audio {
438typedef enum cd_cmd_chk {
454typedef enum cd_cmd_chk_ata_status {
470typedef struct cd_cmd_chk_status {
528typedef enum cd_read_sec_part {
540typedef struct cd_sec_mode_params {
577typedef struct cd_transfer_params {
int mode
Definition 2ndmix.c:539
pvr_init_params_t params
Definition 2ndmix.c:821
void hnd(const char *file, int line, const char *expr, const char *msg, const char *func)
Definition asserthnd.c:53
Various common macros used throughout the codebase.
object * dest
Definition nehe26.c:54
cd_area_t
Disc area to read TOC from.
Definition syscalls.h:304
cd_cmd_chk_t syscall_gdrom_check_command(gdc_cmd_hnd_t hnd, cd_cmd_chk_status_t *status)
Check status of queued command for the GDROM.
int32_t gdc_cmd_hnd_t
Handle for a requested command.
Definition syscalls.h:245
int syscall_gdrom_check_drive(cd_check_drive_status_t *status)
Checks the GDROM drive status.
cd_sub_audio_t
Subcode Audio Statuses.
Definition syscalls.h:375
gdc_cmd_hnd_t syscall_gdrom_send_command(cd_cmd_code_t cmd, void *params)
Send a command to the GDROM command queue.
int syscall_gdrom_dma_check(gdc_cmd_hnd_t hnd, size_t *size)
Checks a GDROM DMA transfer.
void syscall_gdrom_dma_callback(uintptr_t callback, void *param)
Setup GDROM DMA callback.
void syscall_gdrom_pio_callback(uintptr_t callback, void *param)
Setup GDROM PIO callback.
int syscall_gdrom_sector_mode(cd_sec_mode_params_t *mode)
Sets/gets the sector mode for read commands.
cd_read_sec_part_t
Read Sector Part.
Definition syscalls.h:528
int syscall_gdrom_pio_check(gdc_cmd_hnd_t hnd, size_t *size)
Checks a GDROM PIO transfer.
void syscall_gdrom_exec_server(void)
Process queued GDROM commands.
cd_sub_type_t
Types of data to read from sector subcode.
Definition syscalls.h:352
void syscall_gdrom_reset(void)
Reset the GDROM drive.
int syscall_gdrom_pio_transfer(gdc_cmd_hnd_t hnd, const cd_transfer_params_t *params)
Initiates a GDROM PIO transfer.
cd_disc_types_t
Disc types the GDROM can identify.
Definition syscalls.h:222
cd_cmd_chk_ata_status_t
ATA Statuses.
Definition syscalls.h:454
cd_stat_t
Status of GDROM drive.
Definition syscalls.h:201
void syscall_gdrom_init(void)
Initialize the GDROM drive.
int syscall_gdrom_abort_command(gdc_cmd_hnd_t hnd)
Abort a queued GDROM command.
int syscall_gdrom_dma_transfer(gdc_cmd_hnd_t hnd, const cd_transfer_params_t *params)
Initiates a GDROM DMA transfer.
cd_cmd_chk_t
Responses from GDROM check command syscall.
Definition syscalls.h:438
cd_cmd_code_t
Command codes for GDROM syscalls.
Definition syscalls.h:253
@ CD_AREA_HIGH
Definition syscalls.h:306
@ CD_AREA_LOW
Definition syscalls.h:305
@ CD_SUB_AUDIO_STATUS_ENDED
Definition syscalls.h:379
@ CD_SUB_AUDIO_STATUS_ERROR
Definition syscalls.h:380
@ CD_SUB_AUDIO_STATUS_PLAYING
Definition syscalls.h:377
@ CD_SUB_AUDIO_STATUS_NO_INFO
Definition syscalls.h:381
@ CD_SUB_AUDIO_STATUS_PAUSED
Definition syscalls.h:378
@ CD_SUB_AUDIO_STATUS_INVALID
Definition syscalls.h:376
@ CDROM_READ_DATA_AREA
Read the data area.
Definition syscalls.h:530
@ CDROM_READ_WHOLE_SECTOR
Read the whole sector.
Definition syscalls.h:529
@ CDROM_READ_DEFAULT
cdrom_reinit default
Definition syscalls.h:531
@ CD_SUB_Q_ALL
Read all Subcode Data.
Definition syscalls.h:353
@ CD_SUB_MEDIA_CATALOG
Read the Media Catalog Subcode Data.
Definition syscalls.h:355
@ CD_SUB_TRACK_ISRC
Read the ISRC Subcode Data.
Definition syscalls.h:356
@ CD_SUB_RESERVED
Reserved.
Definition syscalls.h:357
@ CD_SUB_Q_CHANNEL
Read Q Channel Subcode Data.
Definition syscalls.h:354
@ CD_CDDA
Audio CD (Red book) or no disc.
Definition syscalls.h:223
@ CD_GDROM
GD-ROM.
Definition syscalls.h:227
@ CD_CDROM_XA
CD-ROM XA (Yellow book extension)
Definition syscalls.h:225
@ CD_FAIL
Need reset syscalls.
Definition syscalls.h:228
@ CD_CDI
CD-i (Green book)
Definition syscalls.h:226
@ CD_CDROM
CD-ROM or CD-R (Yellow book)
Definition syscalls.h:224
@ ATA_STAT_IRQ
Definition syscalls.h:456
@ ATA_STAT_BUSY
Definition syscalls.h:459
@ ATA_STAT_DRQ_1
Definition syscalls.h:458
@ ATA_STAT_DRQ_0
Definition syscalls.h:457
@ ATA_STAT_INTERNAL
Definition syscalls.h:455
@ CD_STATUS_STANDBY
Drive is in standby.
Definition syscalls.h:205
@ CD_STATUS_SCANNING
Drive is scanning.
Definition syscalls.h:208
@ CD_STATUS_RETRY
Retry is needed.
Definition syscalls.h:211
@ CD_STATUS_OPEN
Disc tray is open.
Definition syscalls.h:209
@ CD_STATUS_PAUSED
Disc is paused.
Definition syscalls.h:204
@ CD_STATUS_SEEKING
Drive is currently seeking.
Definition syscalls.h:207
@ CD_STATUS_BUSY
Drive is busy.
Definition syscalls.h:203
@ CD_STATUS_ERROR
System error.
Definition syscalls.h:212
@ CD_STATUS_PLAYING
Drive is currently playing.
Definition syscalls.h:206
@ CD_STATUS_FATAL
Need reset syscalls.
Definition syscalls.h:213
@ CD_STATUS_NO_DISC
No disc inserted.
Definition syscalls.h:210
@ CD_STATUS_READ_FAIL
Can't read status.
Definition syscalls.h:202
@ 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
#define __noreturn
Identify a function that will never return.
Definition cdefs.h:49
int syscall_misc_setvector(uint32_t super, uintptr_t handler)
Set/Clear a user defined super function.
void syscall_system_bios_menu(void) __noreturn
Go to the BIOS menu.
uint8_t * syscall_font_address(void)
Gets the romfont address.
uint64_t syscall_sysinfo_id(void)
Reads the ID of the Dreamcast.
void syscall_sysinfo_init(void)
Inits data needed by sysinfo id/icon.
int syscall_flashrom_write(uint32_t pos, const void *src, size_t n)
Write data to the flashrom.
void syscall_system_cd_menu(void) __noreturn
Exit to CD menu.
int syscall_misc_init(void)
Initializes all the syscall vectors.
void syscall_system_reset(void) __noreturn
Resets the Dreamcast.
int syscall_flashrom_info(uint32_t part, void *info)
Gets info on partition in the flashrom.
void syscall_font_unlock(void)
Unlocks access to ROM font.
int syscall_sysinfo_icon(uint32_t icon, uint8_t *dest)
Reads an icon from the flashrom.
int syscall_flashrom_delete(uint32_t pos)
Delete a partition of the flashrom.
int syscall_flashrom_read(uint32_t pos, void *dest, size_t n)
Read data from the flashrom.
int syscall_font_lock(void)
Locks access to ROM font.
static float pos
Definition sdl_sound.c:32
Status filled by Check Drive syscall.
Definition syscalls.h:234
cd_stat_t status
Definition syscalls.h:235
cd_disc_types_t disc_type
Definition syscalls.h:236
GDROM Command Extra Status.
Definition syscalls.h:470
size_t size
Transferred size.
Definition syscalls.h:473
cd_cmd_chk_ata_status_t ata
ATA status.
Definition syscalls.h:474
int32_t err1
Error code 1.
Definition syscalls.h:471
int32_t err2
Error code 2.
Definition syscalls.h:472
Params for GETSCD command.
Definition syscalls.h:363
size_t buflen
The size of the buffer we provide.
Definition syscalls.h:365
void * buffer
The buffer to put the subcode data in.
Definition syscalls.h:366
cd_sub_type_t which
The type of subcode read to perform.
Definition syscalls.h:364
Params for PLAY command.
Definition syscalls.h:340
uint32_t end
Track to play to.
Definition syscalls.h:342
uint32_t start
Track to play from.
Definition syscalls.h:341
uint32_t repeat
Times to repeat (0-15, 15=infinite)
Definition syscalls.h:343
Params for GETTOC commands.
Definition syscalls.h:329
cd_toc_t * buffer
Definition syscalls.h:331
cd_area_t area
Definition syscalls.h:330
Params for READ commands.
Definition syscalls.h:290
uint32_t is_test
Definition syscalls.h:294
size_t num_sec
Definition syscalls.h:292
void * buffer
Definition syscalls.h:293
uint32_t start_sec
Definition syscalls.h:291
Sector mode params.
Definition syscalls.h:540
int track_type
Definition syscalls.h:543
int sector_size
Definition syscalls.h:544
cd_read_sec_part_t sector_part
Definition syscalls.h:542
uint32_t rw
Definition syscalls.h:541
TOC structure returned by the BIOS.
Definition syscalls.h:316
uint32_t first
Point A0 information (1st track)
Definition syscalls.h:318
uint32_t leadout_sector
Point A2 information (leadout)
Definition syscalls.h:320
uint32_t last
Point A1 information (last track)
Definition syscalls.h:319
Parameters for transfer.
Definition syscalls.h:577
void * addr
Destination address of transfer.
Definition syscalls.h:578
size_t size
How many bytes to transfer.
Definition syscalls.h:579