Added SCSI CD-ROM emulation.

This commit is contained in:
SarahW 2017-10-07 17:07:20 +01:00
commit ecbdad6b1a
18 changed files with 4825 additions and 3767 deletions

33
src/ide_atapi.h Normal file
View file

@ -0,0 +1,33 @@
#ifndef __IDE_ATAPI__
#define __IDE_ATAPI__
/*ATAPI stuff*/
typedef struct ATAPI
{
int (*ready)(void);
int (*medium_changed)(void);
int (*readtoc)(uint8_t *b, uint8_t starttrack, int msf, int maxlen, int single);
int (*readtoc_session)(uint8_t *b, int msf, int maxlen);
int (*readtoc_raw)(uint8_t *b, int maxlen);
uint8_t (*getcurrentsubchannel)(uint8_t *b, int msf);
int (*readsector)(uint8_t *b, int sector);
void (*readsector_raw)(uint8_t *b, int sector);
void (*playaudio)(uint32_t pos, uint32_t len, int ismsf);
void (*seek)(uint32_t pos);
void (*load)(void);
void (*eject)(void);
void (*pause)(void);
void (*resume)(void);
uint32_t (*size)(void);
int (*status)(void);
int (*is_track_audio)(uint32_t pos, int ismsf);
void (*stop)(void);
void (*exit)(void);
} ATAPI;
extern ATAPI *atapi;
void atapi_discchanged();
void atapi_insert_cdrom();
#endif