summaryrefslogtreecommitdiff
path: root/libpcsxcore/cdrom.h
diff options
context:
space:
mode:
authorSND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-01-09 00:54:51 +0000
committerSND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-01-09 00:54:51 +0000
commit1a252f87fff3d084bd3e936d5e3b68abbc19cfdd (patch)
tree20934dd8c3f5a17b02fb4946d19b66bed1291c59 /libpcsxcore/cdrom.h
parent05e0c2b22ce4340c990446557ab720740af0edf7 (diff)
downloadpcsxr-1a252f87fff3d084bd3e936d5e3b68abbc19cfdd.tar.gz
cdrom: merge code from PCSX ReARMed
- lots of hacks cleaned up - removes port3 reschedule (fixes FMVs with Brave Fencer Musashi, etc still working) - based on new information from Mednafen, nocash, and a few tests of my own git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@82129 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/cdrom.h')
-rwxr-xr-xlibpcsxcore/cdrom.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/libpcsxcore/cdrom.h b/libpcsxcore/cdrom.h
index 943564e2..c0534e71 100755
--- a/libpcsxcore/cdrom.h
+++ b/libpcsxcore/cdrom.h
@@ -70,7 +70,7 @@ typedef struct {
unsigned char ResultTN[6];
unsigned char ResultTD[4];
unsigned char SetSector[4];
- unsigned char SetSectorSeek[4];
+ unsigned char SetSectorEnd[4];
unsigned char SetSectorPlay[4];
unsigned char Track;
boolean Play, Muted;
@@ -87,24 +87,38 @@ typedef struct {
unsigned char Irq;
u32 eCycle;
- boolean Seeked;
+ u8 Seeked;
u8 LidCheck;
u8 FastForward;
u8 FastBackward;
- u8 AttenuatorLeft[2], AttenuatorRight[2];
+ u8 AttenuatorLeftToLeft, AttenuatorLeftToRight;
+ u8 AttenuatorRightToRight, AttenuatorRightToLeft;
+ u8 AttenuatorLeftToLeftT, AttenuatorLeftToRightT;
+ u8 AttenuatorRightToRightT, AttenuatorRightToLeftT;
+
+ struct {
+ unsigned char Track;
+ unsigned char Index;
+ unsigned char Relative[3];
+ unsigned char Absolute[3];
+ } subq;
+ unsigned char TrackChanged;
} cdrStruct;
extern cdrStruct cdr;
-void cdrDecodedBufferInterrupt();
-
void cdrReset();
+void cdrAttenuate(s16 *buf, int samples, int stereo);
+
void cdrInterrupt();
void cdrReadInterrupt();
+void cdrDecodedBufferInterrupt();
void cdrLidSeekInterrupt();
void cdrPlayInterrupt();
+void cdrDmaInterrupt();
+void LidInterrupt();
unsigned char cdrRead0(void);
unsigned char cdrRead1(void);
unsigned char cdrRead2(void);