diff options
| author | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-11-28 11:34:19 +0000 |
|---|---|---|
| committer | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-11-28 11:34:19 +0000 |
| commit | bfc8e12c52df1f7cbe8fafaf7804b56db3103f8f (patch) | |
| tree | 863705c68b3e5432f41ebe866565ca0431799b5b | |
| parent | 5ba533776f6e8a3a0e56b104fc95e2c85ba09b3d (diff) | |
| download | pcsxr-bfc8e12c52df1f7cbe8fafaf7804b56db3103f8f.tar.gz | |
Added option to not have memory card plugged. Chronicles of the Sword password screen can now be accessed.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@88004 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | data/pcsxr.ui | 21 | ||||
| -rwxr-xr-x | gui/ConfDlg.c | 3 | ||||
| -rwxr-xr-x | gui/Config.c | 2 | ||||
| -rwxr-xr-x | libpcsxcore/psxcommon.h | 1 | ||||
| -rwxr-xr-x | libpcsxcore/sio.c | 13 |
5 files changed, 32 insertions, 8 deletions
diff --git a/data/pcsxr.ui b/data/pcsxr.ui index 5ac053e6..439c5302 100644 --- a/data/pcsxr.ui +++ b/data/pcsxr.ui @@ -1830,8 +1830,8 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="GtkCheckButton_Widescreen"> - <property name="label" translatable="yes">Widescreen (GTE Hack)</property> + <object class="GtkCheckButton" id="GtkCheckButton_NoMemcard"> + <property name="label" translatable="yes">No memcard (COTS password option)</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> @@ -1846,6 +1846,23 @@ <property name="y_options"></property> </packing> </child> + <child> + <object class="GtkCheckButton" id="GtkCheckButton_Widescreen"> + <property name="label" translatable="yes">Widescreen (GTE Hack)</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">12</property> + <property name="bottom_attach">13</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> </object> </child> <child type="label"> diff --git a/gui/ConfDlg.c b/gui/ConfDlg.c index 5b869c3b..163e75a3 100755 --- a/gui/ConfDlg.c +++ b/gui/ConfDlg.c @@ -925,7 +925,7 @@ void OnCpu_Clicked(GtkDialog *dialog, gint arg1, gpointer user_data) { Config.PsxOut = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_PsxOut"))); Config.SpuIrq = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SpuIrq"))); Config.RCntFix = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_RCntFix"))); - Config.VSyncWA = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_VSyncWA"))); + Config.NoMemcard = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_NoMemcard"))); Config.Widescreen = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Widescreen"))); SaveConfig(); @@ -981,6 +981,7 @@ void OnConf_Cpu() { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SpuIrq")), Config.SpuIrq); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_RCntFix")), Config.RCntFix); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_VSyncWA")), Config.VSyncWA); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_NoMemcard")), Config.NoMemcard); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Widescreen")), Config.Widescreen); // Setup a handler for when Close or Cancel is clicked diff --git a/gui/Config.c b/gui/Config.c index bce65ac3..1f370a82 100755 --- a/gui/Config.c +++ b/gui/Config.c @@ -137,6 +137,7 @@ int LoadConfig(PcsxConfig *Conf) { Config.SpuIrq = GetValueb(data, "SpuIrq"); Config.RCntFix = GetValueb(data, "RCntFix"); Config.VSyncWA = GetValueb(data, "VSyncWA"); + Config.NoMemcard = GetValueb(data, "NoMemcard"); Config.Widescreen = GetValueb(data, "Widescreen"); Config.Cpu = GetValuel(data, "Cpu"); @@ -183,6 +184,7 @@ void SaveConfig() { SetValueb("SpuIrq", Config.SpuIrq); SetValueb("RCntFix", Config.RCntFix); SetValueb("VSyncWA", Config.VSyncWA); + SetValueb("NoMemcard", Config.NoMemcard); SetValueb("Widescreen", Config.Widescreen); SetValuel("Cpu", Config.Cpu); diff --git a/libpcsxcore/psxcommon.h b/libpcsxcore/psxcommon.h index 9fc1628b..bd12ef51 100755 --- a/libpcsxcore/psxcommon.h +++ b/libpcsxcore/psxcommon.h @@ -150,6 +150,7 @@ typedef struct { boolean RCntFix; boolean UseNet; boolean VSyncWA; + boolean NoMemcard; boolean Widescreen; boolean HideCursor; boolean SaveWindowPos; diff --git a/libpcsxcore/sio.c b/libpcsxcore/sio.c index deca287a..22ca23e5 100755 --- a/libpcsxcore/sio.c +++ b/libpcsxcore/sio.c @@ -718,19 +718,22 @@ void sioWrite8(unsigned char value) { SIO_INT(SIO_CYCLES); return; case 0x81: // start memcard + //case 0x82: case 0x83: case 0x84: // Multitap memcard access StatReg |= RX_RDY; -#if 0 + // Chronicles of the Sword - no memcard = password options - if( Config.Memcard == 1 ) return; -#endif - memcpy(buf, cardh, 4); + if( Config.NoMemcard || ((strlen(Config.Mcd1) <=0) && (strlen(Config.Mcd2) <=0)) ) { + memset(buf, 0x00, 4); + } else { + memcpy(buf, cardh, 4); + } + parp = 0; bufcount = 3; mcdst = 1; rdwr = 0; SIO_INT(SIO_CYCLES); return; - case 0xae: // GameShark CDX - start dongle StatReg |= RX_RDY; gsdonglest = 1; |
