X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fcdrom.h;h=543c619dbf0362ef8f722d9beca915c8f2014c04;hb=HEAD;hp=e12c39aa6cb51dc22a5c261554715262ddfa612d;hpb=af93c8bee18e35d9316d6f64ab4ede52479108d6;p=pcsx_rearmed.git diff --git a/libpcsxcore/cdrom.h b/libpcsxcore/cdrom.h index e12c39aa..b762738c 100644 --- a/libpcsxcore/cdrom.h +++ b/libpcsxcore/cdrom.h @@ -38,23 +38,32 @@ extern "C" { #define MIN_VALUE(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; }) #define MAX_VALUE(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a > _b ? _a : _b; }) -#define MSF2SECT(m, s, f) (((m) * 60 + (s) - 2) * 75 + (f)) - #define CD_FRAMESIZE_RAW 2352 #define DATA_SIZE (CD_FRAMESIZE_RAW - 12) +/* CD_FRAMESIZE_RAW aligned to a cache line for DMA buffers + * (assuming a cache line of max. 64 bytes) */ +#define CD_FRAMESIZE_RAW_ALIGNED 2368 + #define SUB_FRAMESIZE 96 +#define MSF2SECT(m, s, f) (((m) * 60 + (s) - 2) * 75 + (f)) + +static inline void lba2msf(unsigned int lba, u8 *m, u8 *s, u8 *f) { + *m = lba / 75 / 60; + lba = lba - *m * 75 * 60; + *s = lba / 75; + lba = lba - *s * 75; + *f = lba; +} + void cdrReset(); -void cdrAttenuate(s16 *buf, int samples, int stereo); -void cdrInterrupt(); -void cdrReadInterrupt(); -void cdrRepplayInterrupt(); -void cdrLidSeekInterrupt(); -void cdrPlayInterrupt(); -void cdrDmaInterrupt(); -void LidInterrupt(); +void cdrInterrupt(void); +void cdrPlayReadInterrupt(void); +void cdrLidSeekInterrupt(void); +void cdrDmaInterrupt(void); +void LidInterrupt(void); unsigned char cdrRead0(void); unsigned char cdrRead1(void); unsigned char cdrRead2(void);