spu: fix first sample, don't play ahead
[pcsx_rearmed.git] / libpcsxcore / cdrom.h
index 541a12b..543c619 100644 (file)
@@ -73,13 +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 SetSector[4];
-       unsigned char SetSectorEnd[4];
        unsigned char SetSectorPlay[4];
+       unsigned char SetSectorEnd[4];
+       unsigned char SetSector[4];
        unsigned char Track;
        boolean Play, Muted;
        int CurTrack;
@@ -92,23 +93,28 @@ typedef struct {
 
        int Init;
 
-       unsigned char Irq;
+       u16 Irq;
+       u8 IrqRepeated;
        u32 eCycle;
 
        u8 Seeked;
 
-       u8 LidCheck;
+       u8 DriveState;
        u8 FastForward;
        u8 FastBackward;
        u8 pad;
 
-       u8 AttenuatorLeft[2], AttenuatorRight[2];
-       u32 pad2;
+       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();