#ifndef __PCFX_SCSICD_H
#define __PCFX_SCSICD_H
void SCSICD_Power(void);
void SCSICD_SetDB(uint8 data);
uint8 SCSICD_GetDB(void);
void SCSICD_SetACK(bool set);
void SCSICD_SetMSG(bool set);
void SCSICD_SetREQ(bool set);
void SCSICD_SetSEL(bool set);
void SCSICD_SetRST(bool set);
void SCSICD_SetBSY(bool set);
void SCSICD_SetCD(bool set);
void SCSICD_SetIO(bool set);
void SCSICD_SetATN(bool set);

bool SCSICD_GetBSY(void);

bool SCSICD_GetACK(void);
bool SCSICD_GetRST(void);
bool SCSICD_GetMSG(void);
bool SCSICD_GetSEL(void);
bool SCSICD_GetCD(void);
bool SCSICD_GetREQ(void);
bool SCSICD_GetIO(void);
bool SCSICD_GetATN(void);

bool SCSICD_GetkingBSY(void);
bool SCSICD_GetkingCD(void);
bool SCSICD_GetkingIO(void);
bool SCSICD_GetkingMSG(void);

void SCSICD_Run(void);
void SCSICD_ResetTS(void);

void SCSICD_Init(void);

void SCSICD_SetCDDAVolume(int left, int right); // 0 - 63

bool SCSICD_StealByte(uint8 &stolen);

int SCSICD_StateAction(StateMem *sm, int load, int data_only);

#endif
