X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fcdrom.h;h=543c619dbf0362ef8f722d9beca915c8f2014c04;hp=c5d448cd3775dd2cf5646e0263be51b84ea3a29c;hb=ba10822d813767632c528102055e3eeb54730b2c;hpb=ef79bbde537d6b9c745a7d86cb9df1d04c35590d diff --git a/libpcsxcore/cdrom.h b/libpcsxcore/cdrom.h index c5d448cd..543c619d 100644 --- a/libpcsxcore/cdrom.h +++ b/libpcsxcore/cdrom.h @@ -51,12 +51,20 @@ typedef struct { unsigned char StatP; - unsigned char Transfer[CD_FRAMESIZE_RAW]; - unsigned char *pTransfer; + unsigned char Transfer[DATA_SIZE]; + struct { + unsigned char Track; + unsigned char Index; + unsigned char Relative[3]; + unsigned char Absolute[3]; + } subq; + unsigned char TrackChanged; + unsigned char pad1[3]; + unsigned int freeze_ver; unsigned char Prev[4]; unsigned char Param[8]; - unsigned char Result[8]; + unsigned char Result[16]; unsigned char ParamC; unsigned char ParamP; @@ -65,12 +73,14 @@ typedef struct { unsigned char ResultReady; unsigned char Cmd; unsigned char Readed; + unsigned char SetlocPending; u32 Reading; unsigned char ResultTN[6]; unsigned char ResultTD[4]; + unsigned char SetSectorPlay[4]; + unsigned char SetSectorEnd[4]; unsigned char SetSector[4]; - unsigned char SetSectorSeek[4]; unsigned char Track; boolean Play, Muted; int CurTrack; @@ -83,17 +93,35 @@ typedef struct { int Init; - unsigned char Irq; + u16 Irq; + u8 IrqRepeated; u32 eCycle; - boolean Seeked; + u8 Seeked; + + u8 DriveState; + u8 FastForward; + u8 FastBackward; + u8 pad; + + u8 AttenuatorLeftToLeft, AttenuatorLeftToRight; + u8 AttenuatorRightToRight, AttenuatorRightToLeft; + u8 AttenuatorLeftToLeftT, AttenuatorLeftToRightT; + u8 AttenuatorRightToRightT, AttenuatorRightToLeftT; } cdrStruct; extern cdrStruct cdr; void cdrReset(); +void cdrAttenuate(s16 *buf, int samples, int stereo); + void cdrInterrupt(); void cdrReadInterrupt(); +void cdrRepplayInterrupt(); +void cdrLidSeekInterrupt(); +void cdrPlayInterrupt(); +void cdrDmaInterrupt(); +void LidInterrupt(); unsigned char cdrRead0(void); unsigned char cdrRead1(void); unsigned char cdrRead2(void); @@ -102,7 +130,7 @@ void cdrWrite0(unsigned char rt); void cdrWrite1(unsigned char rt); void cdrWrite2(unsigned char rt); void cdrWrite3(unsigned char rt); -int cdrFreeze(gzFile f, int Mode); +int cdrFreeze(void *f, int Mode); #ifdef __cplusplus }