diff options
| author | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-02-14 19:18:22 +0000 |
|---|---|---|
| committer | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-02-14 19:18:22 +0000 |
| commit | 111ada78b7d179e115466c726ae1d7d05fed9ddb (patch) | |
| tree | 300aa4b88b4cafdf036891cebc5ffc9b9c5156c5 /gui | |
| parent | 1b05b0e9736ab40e15190e608d1662921903a0c6 (diff) | |
| download | pcsxr-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-x | gui/ConfDlg.c | 106 | ||||
| -rwxr-xr-x | gui/ConfDlg.h | 4 | ||||
| -rwxr-xr-x | gui/Config.c | 10 | ||||
| -rwxr-xr-x | gui/LnxMain.c | 3 | ||||
| -rwxr-xr-x | gui/Plugin.c | 4 |
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); |
