From 1a252f87fff3d084bd3e936d5e3b68abbc19cfdd Mon Sep 17 00:00:00 2001 From: "SND\\notaz_cp" Date: Wed, 9 Jan 2013 00:54:51 +0000 Subject: 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 --- libpcsxcore/cdrom.h | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'libpcsxcore/cdrom.h') 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); -- cgit v1.2.3