summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2014-04-16 18:04:29 +0000
committerSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2014-04-16 18:04:29 +0000
commitb3f5eecbcd660065b8d1c92029e5e6fa0a74ecdb (patch)
tree57c3edede233016ba0464665e1af127794fa1e29
parente09dfb4e415fa52df9aaeed4b8c1d3ea06d880ce (diff)
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
-rw-r--r--data/pcsxr.ui97
-rwxr-xr-xgui/ConfDlg.c4
-rwxr-xr-xgui/Config.c4
-rwxr-xr-xlibpcsxcore/cdriso.c6
-rwxr-xr-xlibpcsxcore/cdrom.c6
-rwxr-xr-xlibpcsxcore/psxcommon.h8
6 files changed, 91 insertions, 34 deletions
diff --git a/data/pcsxr.ui b/data/pcsxr.ui
index 2a7ed4c3..573f07fb 100644
--- a/data/pcsxr.ui
+++ b/data/pcsxr.ui
@@ -1711,23 +1711,6 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="GtkCheckButton_CDDA">
- <property name="label" translatable="yes">Disable CD Audio</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
<object class="GtkCheckButton" id="GtkCheckButton_SlowBoot">
<property name="label" translatable="yes">Slow Boot</property>
<property name="visible">True</property>
@@ -1881,6 +1864,57 @@
</packing>
</child>
<child>
+ <object class="GtkFrame" id="frame_pref">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <child>
+ <object class="GtkHBox" id="hbox51">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkLabel" id="label_cdda">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">CD Audio</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="GtkCombo_CDDA">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="model">liststore5</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext5"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkFrame" id="frame16">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -1939,11 +1973,11 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame_rew">
+ <object class="GtkFrame" id="frame_rew">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
@@ -1952,7 +1986,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
- <property name="spacing">4</property>
+ <property name="spacing">4</property>
<child>
<object class="GtkLabel" id="label70">
<property name="visible">True</property>
@@ -2018,7 +2052,7 @@
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">4</property>
- </packing>
+ </packing>
</child>
<child>
<object class="GtkEntry" id="GtkEntry_RewindMem">
@@ -2061,7 +2095,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
@@ -2453,7 +2487,7 @@
<object class="GtkMenuItem" id="GtkMenuItem_LoadSlotRecent">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Most _Recent</property>
+ <property name="label" translatable="yes">Slot _Recent</property>
<property name="use_underline">True</property>
<accelerator key="R" signal="activate" modifiers="GDK_MOD1_MASK"/>
</object>
@@ -4355,4 +4389,21 @@
</row>
</data>
</object>
+ <object class="GtkListStore" id="liststore5">
+ <columns>
+ <!-- ITEMS HERE MUST MATCH psxcommon.h ENUM !-->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Enabled (Little endian)</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Disabled</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Enabled (Big endian)</col>
+ </row>
+ </data>
+ </object>
</interface>
diff --git a/gui/ConfDlg.c b/gui/ConfDlg.c
index 9b414f79..7041c259 100755
--- a/gui/ConfDlg.c
+++ b/gui/ConfDlg.c
@@ -900,7 +900,7 @@ void OnCpu_Clicked(GtkDialog *dialog, gint arg1, gpointer user_data) {
Config.Xa = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Xa")));
Config.SioIrq = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SioIrq")));
Config.Mdec = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Mdec")));
- Config.Cdda = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_CDDA")));
+ Config.Cdda = gtk_combo_box_get_active(GTK_COMBO_BOX(gtk_builder_get_object(builder, "GtkCombo_CDDA")));
Config.SlowBoot = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SlowBoot")));
Config.PsxAuto = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_PsxAuto")));
@@ -981,7 +981,7 @@ void OnConf_Cpu() {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Xa")), Config.Xa);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SioIrq")), Config.SioIrq);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Mdec")), Config.Mdec);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_CDDA")), Config.Cdda);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(gtk_builder_get_object(builder, "GtkCombo_CDDA")), Config.Cdda);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SlowBoot")), Config.SlowBoot);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_PsxAuto")), Config.PsxAuto);
diff --git a/gui/Config.c b/gui/Config.c
index 5f9a0c99..8d6253c2 100755
--- a/gui/Config.c
+++ b/gui/Config.c
@@ -130,7 +130,7 @@ int LoadConfig(PcsxConfig *Conf) {
Config.SioIrq = GetValueb(data, "SioIrq");
Config.Mdec = GetValueb(data, "Mdec");
Config.PsxAuto = GetValueb(data, "PsxAuto");
- Config.Cdda = GetValueb(data, "Cdda");
+ Config.Cdda = GetValuel(data, "Cdda");
Config.SlowBoot= GetValueb(data, "SlowBoot");
Config.Debug = GetValueb(data, "Dbg");
Config.PsxOut = (Config.PsxOut || GetValueb(data, "PsxOut"));
@@ -179,7 +179,7 @@ void SaveConfig() {
SetValueb("SioIrq", Config.SioIrq);
SetValueb("Mdec", Config.Mdec);
SetValueb("PsxAuto", Config.PsxAuto);
- SetValueb("Cdda", Config.Cdda);
+ SetValuel("Cdda", Config.Cdda);
SetValueb("SlowBoot",Config.SlowBoot);
SetValueb("Dbg", Config.Debug);
SetValueb("PsxOut", Config.PsxOut);
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();