diff options
| author | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-04-16 18:04:29 +0000 |
|---|---|---|
| committer | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-04-16 18:04:29 +0000 |
| commit | b3f5eecbcd660065b8d1c92029e5e6fa0a74ecdb (patch) | |
| tree | 57c3edede233016ba0464665e1af127794fa1e29 /libpcsxcore | |
| parent | e09dfb4e415fa52df9aaeed4b8c1d3ea06d880ce (diff) | |
| download | pcsxr-b3f5eecbcd660065b8d1c92029e5e6fa0a74ecdb.tar.gz | |
Big endian CDDA support. Uses Config.Cdda (previously bool). Now enum. Gtk gui was modified for new enum, but compatibility was kept so that other guis don't go nuts.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@90008 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
| -rwxr-xr-x | libpcsxcore/cdriso.c | 6 | ||||
| -rwxr-xr-x | libpcsxcore/cdrom.c | 6 | ||||
| -rwxr-xr-x | libpcsxcore/psxcommon.h | 8 |
3 files changed, 13 insertions, 7 deletions
diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c index 4481b33d..95a787b4 100755 --- a/libpcsxcore/cdriso.c +++ b/libpcsxcore/cdriso.c @@ -1980,8 +1980,8 @@ long CALLBACK ISOreadCDDA(unsigned char m, unsigned char s, unsigned char f, uns break; } - // data tracks play silent - if (ti[track].type != CDDA) { + // data tracks play silent (or CDDA set to silent) + if (ti[track].type != CDDA || Config.Cdda == CDDA_DISABLED) { memset(buffer, 0, CD_FRAMESIZE_RAW); return 0; } @@ -2006,7 +2006,7 @@ long CALLBACK ISOreadCDDA(unsigned char m, unsigned char s, unsigned char f, uns return -1; } - if (cddaBigEndian) { + if (Config.Cdda == CDDA_ENABLED_BE || cddaBigEndian) { int i; unsigned char tmp; diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 69d665a6..2aa6f9ad 100755 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -703,7 +703,7 @@ void cdrInterrupt() { ReadTrack(cdr.SetSectorPlay); cdr.TrackChanged = FALSE; - if (!Config.Cdda) + if (Config.Cdda != CDDA_DISABLED) CDR_play(cdr.SetSectorPlay); // Vib Ribbon: gameplay checks flag @@ -1582,7 +1582,7 @@ void cdrReset() { int cdrFreeze(gzFile f, int Mode) { u8 tmpp[3]; - if (Mode == 0 && !Config.Cdda) + if (Mode == 0 && Config.Cdda != CDDA_DISABLED) CDR_stop(); gzfreeze(&cdr, sizeof(cdr)); @@ -1600,7 +1600,7 @@ int cdrFreeze(gzFile f, int Mode) { if (cdr.Play) { Find_CurTrack(cdr.SetSectorPlay); - if (!Config.Cdda) + if (Config.Cdda != CDDA_DISABLED) CDR_play(cdr.SetSectorPlay); } } diff --git a/libpcsxcore/psxcommon.h b/libpcsxcore/psxcommon.h index b6f83e74..8def3612 100755 --- a/libpcsxcore/psxcommon.h +++ b/libpcsxcore/psxcommon.h @@ -141,7 +141,7 @@ typedef struct { boolean SioIrq; boolean Mdec; boolean PsxAuto; - boolean Cdda; + u8 Cdda; boolean HLE; boolean SlowBoot; boolean Debug; @@ -189,6 +189,12 @@ enum { CPU_INTERPRETER }; // CPU Types +enum { + CDDA_ENABLED_LE = 0, + CDDA_DISABLED, + CDDA_ENABLED_BE +}; // CDDA Types + int EmuInit(); void EmuReset(); void EmuShutdown(); |
