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
This commit is contained in:
SND\ckain_cp 2013-11-28 11:34:19 +00:00
parent 5ba533776f
commit bfc8e12c52
5 changed files with 32 additions and 8 deletions

View File

@ -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">

View File

@ -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

View File

@ -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);

View File

@ -150,6 +150,7 @@ typedef struct {
boolean RCntFix;
boolean UseNet;
boolean VSyncWA;
boolean NoMemcard;
boolean Widescreen;
boolean HideCursor;
boolean SaveWindowPos;

View File

@ -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;