summaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-02-14 19:18:22 +0000
committerSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-02-14 19:18:22 +0000
commit111ada78b7d179e115466c726ae1d7d05fed9ddb (patch)
tree300aa4b88b4cafdf036891cebc5ffc9b9c5156c5 /gui
parent1b05b0e9736ab40e15190e608d1662921903a0c6 (diff)
downloadpcsxr-111ada78b7d179e115466c726ae1d7d05fed9ddb.tar.gz
sio;
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@82898 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'gui')
-rwxr-xr-xgui/ConfDlg.c106
-rwxr-xr-xgui/ConfDlg.h4
-rwxr-xr-xgui/Config.c10
-rwxr-xr-xgui/LnxMain.c3
-rwxr-xr-xgui/Plugin.c4
5 files changed, 111 insertions, 16 deletions
diff --git a/gui/ConfDlg.c b/gui/ConfDlg.c
index d71d829e..a92cd958 100755
--- a/gui/ConfDlg.c
+++ b/gui/ConfDlg.c
@@ -62,6 +62,9 @@ PluginConf CdrConfS;
PluginConf Pad1ConfS;
PluginConf Pad2ConfS;
PluginConf NetConfS;
+#ifdef ENABLE_SIO1API
+PluginConf Sio1ConfS;
+#endif
PluginConf BiosConfS;
#define FindComboText(combo, list, conf) \
@@ -144,7 +147,11 @@ void ConfigurePlugins() {
widget = gtk_builder_get_object(builder, "btn_ConfCdr");
g_signal_connect_data(G_OBJECT(widget), "clicked",
G_CALLBACK(on_configure_plugin), (gpointer) PSE_LT_CDR, NULL, G_CONNECT_AFTER);
-
+#ifdef ENABLE_SIO1API
+ widget = gtk_builder_get_object(builder, "btn_ConfSio1");
+ g_signal_connect_data(G_OBJECT(widget), "clicked",
+ G_CALLBACK(on_configure_plugin), (gpointer) PSE_LT_SIO1, NULL, G_CONNECT_AFTER);
+#endif
widget = gtk_builder_get_object(builder, "btn_AboutGpu");
g_signal_connect_data(G_OBJECT(widget), "clicked",
G_CALLBACK(on_about_plugin), (gpointer) PSE_LT_GPU, NULL, G_CONNECT_AFTER);
@@ -164,7 +171,11 @@ void ConfigurePlugins() {
widget = gtk_builder_get_object(builder, "btn_AboutCdr");
g_signal_connect_data(G_OBJECT(widget), "clicked",
G_CALLBACK(on_about_plugin), (gpointer) PSE_LT_CDR, NULL, G_CONNECT_AFTER);
-
+#ifdef ENABLE_SIO1API
+ widget = gtk_builder_get_object(builder, "btn_AboutSio1");
+ g_signal_connect_data(G_OBJECT(widget), "clicked",
+ G_CALLBACK(on_about_plugin), (gpointer) PSE_LT_SIO1, NULL, G_CONNECT_AFTER);
+#endif
widget = gtk_builder_get_object(builder, "GtkFileChooser_Bios");
g_signal_connect_data(G_OBJECT(widget), "current_folder_changed",
G_CALLBACK(OnBiosPath_Changed), builder, NULL, G_CONNECT_AFTER);
@@ -279,7 +290,28 @@ void OnConf_CdRom() {
SysCloseLibrary(drv);
}
+#ifdef ENABLE_SIO1API
+void OnConf_Sio1() {
+ void *drv;
+ SIO1configure conf;
+ char Plugin[MAXPATHLEN];
+
+ sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Sio1);
+ drv = SysLoadLibrary(Plugin);
+ if (drv == NULL) { printf("Error with file %s\n", Plugin); return; }
+
+ while (gtk_events_pending()) gtk_main_iteration();
+
+ conf = (SIO1configure)SysLoadSym(drv, "SIO1configure");
+ if (conf != NULL) {
+ conf();
+ }
+ else
+ SysInfoMessage (_("No configuration required"), _("This plugin doesn't need to be configured."));
+ SysCloseLibrary(drv);
+}
+#endif
void OnConf_Pad() {
void *drv;
PADconfigure conf;
@@ -291,7 +323,7 @@ void OnConf_Pad() {
while (gtk_events_pending()) gtk_main_iteration();
- conf = (GPUconfigure)SysLoadSym(drv, "PADconfigure");
+ conf = (PADconfigure)SysLoadSym(drv, "PADconfigure");
if (conf != NULL) {
conf();
}
@@ -307,7 +339,7 @@ void OnConf_Pad() {
while (gtk_events_pending()) gtk_main_iteration();
- conf = (GPUconfigure)SysLoadSym(drv, "PADconfigure");
+ conf = (PADconfigure)SysLoadSym(drv, "PADconfigure");
if (conf != NULL) {
conf();
}
@@ -322,6 +354,9 @@ static int all_config_set() {
if ((strlen(Config.Gpu) != 0) &&
(strlen(Config.Spu) != 0) &&
(strlen(Config.Cdr) != 0) &&
+#ifdef ENABLE_SIO1API
+ (strlen(Config.Sio1) != 0) &&
+#endif
(strlen(Config.Pad1) != 0) &&
(strlen(Config.Pad2) != 0))
retval = TRUE;
@@ -372,6 +407,11 @@ static void on_configure_plugin(GtkWidget *widget, gpointer user_data) {
case PSE_LT_CDR:
ConfPlugin(CDRconfigure, CdrConfS, Config.Cdr, "CDRconfigure", ConfDlg);
break;
+#ifdef ENABLE_SIO1API
+ case PSE_LT_SIO1:
+ ConfPlugin(SIO1configure, Sio1ConfS, Config.Sio1, "SIO1configure", ConfDlg);
+ break;
+#endif
}
} else
ConfigurePlugins();
@@ -393,6 +433,11 @@ static void on_about_plugin(GtkWidget *widget, gpointer user_data) {
case PSE_LT_CDR:
ConfPlugin(CDRconfigure, CdrConfS, Config.Cdr, "CDRabout", ConfDlg);
break;
+#ifdef ENABLE_SIO1API
+ case PSE_LT_SIO1:
+ ConfPlugin(SIO1configure, Sio1ConfS, Config.Sio1, "SIO1about", ConfDlg);
+ break;
+#endif
}
} else
ConfigurePlugins();
@@ -449,6 +494,9 @@ void OnConf_Clicked(GtkDialog *dialog, gint arg1, gpointer user_data) {
GetComboText(GpuConfS.Combo, GpuConfS.plist, Config.Gpu);
GetComboText(SpuConfS.Combo, SpuConfS.plist, Config.Spu);
GetComboText(CdrConfS.Combo, CdrConfS.plist, Config.Cdr);
+#ifdef ENABLE_SIO1API
+ GetComboText(Sio1ConfS.Combo, Sio1ConfS.plist, Config.Sio1);
+#endif
GetComboText(Pad1ConfS.Combo, Pad1ConfS.plist, Config.Pad1);
GetComboText(Pad2ConfS.Combo, Pad2ConfS.plist, Config.Pad2);
GetComboText(BiosConfS.Combo, BiosConfS.plist, Config.Bios);
@@ -541,6 +589,9 @@ int plugins_configured() {
if (plugin_is_available (Config.Gpu) == FALSE) { Config.Gpu[0] = '\0'; return FALSE; }
if (plugin_is_available (Config.Spu) == FALSE) { Config.Spu[0] = '\0'; return FALSE; }
if (plugin_is_available (Config.Cdr) == FALSE) { Config.Cdr[0] = '\0'; return FALSE; }
+#ifdef ENABLE_SIO1API
+ if (plugin_is_available (Config.Sio1) == FALSE) { Config.Sio1[0] = '\0'; return FALSE; }
+#endif
if (plugin_is_available (Config.Pad1) == FALSE) { Config.Pad1[0] = '\0'; return FALSE; }
if (plugin_is_available (Config.Pad2) == FALSE) { Config.Pad2[0] = '\0'; return FALSE; }
@@ -597,12 +648,33 @@ void UpdatePluginsBIOS() {
char name[256];
gchar *linkname;
- GpuConfS.plugins = 0; SpuConfS.plugins = 0; CdrConfS.plugins = 0;
- Pad1ConfS.plugins = 0; Pad2ConfS.plugins = 0; BiosConfS.plugins = 0;
- GpuConfS.glist = NULL; SpuConfS.glist = NULL; CdrConfS.glist = NULL;
- Pad1ConfS.glist = NULL; Pad2ConfS.glist = NULL; BiosConfS.glist = NULL;
- GpuConfS.plist[0][0] = '\0'; SpuConfS.plist[0][0] = '\0'; CdrConfS.plist[0][0] = '\0';
- Pad1ConfS.plist[0][0] = '\0'; Pad2ConfS.plist[0][0] = '\0'; BiosConfS.plist[0][0] = '\0';
+ GpuConfS.plugins = 0;
+ SpuConfS.plugins = 0;
+ CdrConfS.plugins = 0;
+#ifdef ENABLE_SIO1API
+ Sio1ConfS.plugins = 0;
+#endif
+ Pad1ConfS.plugins = 0;
+ Pad2ConfS.plugins = 0;
+ BiosConfS.plugins = 0;
+ GpuConfS.glist = NULL;
+ SpuConfS.glist = NULL;
+ CdrConfS.glist = NULL;
+#ifdef ENABLE_SIO1API
+ Sio1ConfS.glist = NULL;
+#endif
+ Pad1ConfS.glist = NULL;
+ Pad2ConfS.glist = NULL;
+ BiosConfS.glist = NULL;
+ GpuConfS.plist[0][0] = '\0';
+ SpuConfS.plist[0][0] = '\0';
+ CdrConfS.plist[0][0] = '\0';
+#ifdef ENABLE_SIO1API
+ Sio1ConfS.plist[0][0] = '\0';
+#endif
+ Pad1ConfS.plist[0][0] = '\0';
+ Pad2ConfS.plist[0][0] = '\0';
+ BiosConfS.plist[0][0] = '\0';
// Load and get plugin info
dir = opendir(Config.PluginsDir);
@@ -629,6 +701,9 @@ void UpdatePluginsBIOS() {
if (PSE_getLibType == NULL) {
if (strstr(linkname, "gpu") != NULL) type = PSE_LT_GPU;
else if (strstr(linkname, "cdr") != NULL) type = PSE_LT_CDR;
+#ifdef ENABLE_SIO1API
+ else if (strstr(linkname, "sio1") != NULL) type = PSE_LT_SIO1;
+#endif
else if (strstr(linkname, "spu") != NULL) type = PSE_LT_SPU;
else if (strstr(linkname, "pad") != NULL) type = PSE_LT_PAD;
else { g_free(linkname); continue; }
@@ -651,6 +726,10 @@ void UpdatePluginsBIOS() {
if (type & PSE_LT_CDR)
ComboAddPlugin(Cdr);
+#ifdef ENABLE_SIO1API
+ if (type & PSE_LT_SIO1)
+ ComboAddPlugin(Sio1);
+#endif
if (type & PSE_LT_GPU)
ComboAddPlugin(Gpu);
if (type & PSE_LT_SPU)
@@ -681,6 +760,9 @@ static void UpdatePluginsBIOS_UpdateGUI() {
ConfCreatePConf("Pad1", Pad1);
ConfCreatePConf("Pad2", Pad2);
ConfCreatePConf("Cdr", Cdr);
+#ifdef ENABLE_SIO1API
+ ConfCreatePConf("Sio1", Sio1);
+#endif
ConfCreatePConf("Bios", Bios);
}
@@ -792,7 +874,7 @@ void OnCpu_Clicked(GtkDialog *dialog, gint arg1, gpointer user_data) {
Config.PsxType = PSX_TYPE_PAL;
Config.Xa = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Xa")));
- Config.Sio = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_Sio")));
+ 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.SlowBoot = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SlowBoot")));
@@ -855,7 +937,7 @@ void OnConf_Cpu() {
gtk_widget_set_sensitive(GTK_WIDGET (PsxCombo), !Config.PsxAuto);
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_Sio")), Config.Sio);
+ 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_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "GtkCheckButton_SlowBoot")), Config.SlowBoot);
diff --git a/gui/ConfDlg.h b/gui/ConfDlg.h
index 22ea0263..ef1c0203 100755
--- a/gui/ConfDlg.h
+++ b/gui/ConfDlg.h
@@ -29,6 +29,7 @@ void OnConf_CdRom();
void OnConf_Pad();
void OnConf_Cpu();
void OnConf_Net();
+void OnConf_Sio1();
void ConfigurePlugins();
@@ -45,6 +46,9 @@ extern PluginConf CdrConfS;
extern PluginConf Pad1ConfS;
extern PluginConf Pad2ConfS;
extern PluginConf NetConfS;
+#ifdef ENABLE_SIO1API
+extern PluginConf Sio1ConfS;
+#endif
extern PluginConf BiosConfS;
#endif
diff --git a/gui/Config.c b/gui/Config.c
index 8c03a69c..bce65ac3 100755
--- a/gui/Config.c
+++ b/gui/Config.c
@@ -114,6 +114,9 @@ int LoadConfig(PcsxConfig *Conf) {
GetValue(data, "Gpu", Config.Gpu);
GetValue(data, "Spu", Config.Spu);
GetValue(data, "Cdr", Config.Cdr);
+#ifdef ENABLE_SIO1API
+ GetValue(data, "Sio1", Config.Sio1);
+#endif
GetValue(data, "Pad1", Config.Pad1);
GetValue(data, "Pad2", Config.Pad2);
GetValue(data, "Net", Config.Net);
@@ -124,7 +127,7 @@ int LoadConfig(PcsxConfig *Conf) {
GetValue(data, "IsoImgDir", Config.IsoImgDir);
Config.Xa = GetValueb(data, "Xa");
- Config.Sio = GetValueb(data, "Sio");
+ Config.SioIrq = GetValueb(data, "SioIrq");
Config.Mdec = GetValueb(data, "Mdec");
Config.PsxAuto = GetValueb(data, "PsxAuto");
Config.Cdda = GetValueb(data, "Cdda");
@@ -157,6 +160,9 @@ void SaveConfig() {
SetValue("Gpu", Config.Gpu);
SetValue("Spu", Config.Spu);
SetValue("Cdr", Config.Cdr);
+#ifdef ENABLE_SIO1API
+ SetValue("Sio1", Config.Sio1);
+#endif
SetValue("Net", Config.Net);
SetValue("Pad1", Config.Pad1);
SetValue("Pad2", Config.Pad2);
@@ -167,7 +173,7 @@ void SaveConfig() {
SetValue("IsoImgDir", Config.IsoImgDir);
SetValueb("Xa", Config.Xa);
- SetValueb("Sio", Config.Sio);
+ SetValueb("SioIrq", Config.SioIrq);
SetValueb("Mdec", Config.Mdec);
SetValueb("PsxAuto", Config.PsxAuto);
SetValueb("Cdda", Config.Cdda);
diff --git a/gui/LnxMain.c b/gui/LnxMain.c
index 716b9462..24b883ae 100755
--- a/gui/LnxMain.c
+++ b/gui/LnxMain.c
@@ -386,6 +386,9 @@ int main(int argc, char *argv[]) {
set_default_plugin(GpuConfS.plist[0], Config.Gpu);
set_default_plugin(SpuConfS.plist[0], Config.Spu);
set_default_plugin(CdrConfS.plist[0], Config.Cdr);
+#ifdef ENABLE_SIO1API
+ set_default_plugin(Sio1ConfS.plist[0], Config.Sio1);
+#endif
set_default_plugin(Pad1ConfS.plist[0], Config.Pad1);
set_default_plugin(Pad2ConfS.plist[0], Config.Pad2);
set_default_plugin(BiosConfS.plist[0], Config.Bios);
diff --git a/gui/Plugin.c b/gui/Plugin.c
index 2677677b..62e8feb3 100755
--- a/gui/Plugin.c
+++ b/gui/Plugin.c
@@ -234,8 +234,8 @@ void PADhandleKey(int key) {
gpuShowPic();
break;
case XK_F5:
- Config.Sio ^= 0x1;
- if (Config.Sio)
+ Config.SioIrq ^= 0x1;
+ if (Config.SioIrq)
sprintf(Text, _("SIO IRQ Always Enabled"));
else sprintf(Text, _("SIO IRQ Not Always Enabled"));
GPU_displayText(Text);