Linux: Some work on the plugin code.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@697 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2009-03-06 07:20:16 +00:00
parent 8d5b2cf6a9
commit 5d971b5931
8 changed files with 949 additions and 487 deletions

View File

@ -47,98 +47,52 @@ static bool GetComboText(GtkWidget *combo, char plist[255][255], char *conf)
return TRUE;
}
static void ConfPlugin(PluginConf confs, char* plugin, const char* name)
static void ConfPlugin(plugin_types type, plugin_callback call, bool pullcombo = true)
{
void *drv;
void (*conf)();
GetComboText(confs.Combo, confs.plist, plugin);
drv = SysLoadLibrary( Path::Combine( Config.PluginsDir, plugin ).c_str() );
if (drv == NULL) return;
//#ifndef LOCAL_PLUGIN_INIS
// chdir(Config.PluginsDir); /* change dirs so that plugins can find their config file*/
//#endif
conf = (void (*)()) SysLoadSym(drv, name);
if (SysLibError() == NULL) conf();
//#ifndef LOCAL_PLUGIN_INIS
// chdir(MAIN_DIR); /* change back*/
//#endif
SysCloseLibrary(drv);
}
static void TestPlugin(PluginConf confs, char* plugin, const char* name)
{
void *drv;
s32(* (*conf)())();
int ret = 0;
GetComboText(confs.Combo, confs.plist, plugin);
PluginConf *confs = ConfS(type);
char* plugin = (char*)PluginName(type);
const char* name = PluginCallbackName(type, call);
if (pullcombo) GetComboText(confs->Combo, confs->plist, plugin);
if (plugin == NULL) return;
drv = SysLoadLibrary( Path::Combine( Config.PluginsDir, plugin ).c_str() );
if (drv == NULL) return;
conf = (s32(* (*)())()) SysLoadSym(drv, name);
if (SysLibError() == NULL) ret = (s32) conf();
SysCloseLibrary(drv);
if (ret == 0)
Msgbox::Alert("This plugin reports that should work correctly");
if (call != PLUGIN_TEST)
{
void (*conf)();
conf = (void (*)()) SysLoadSym(drv, name);
if (SysLibError() == NULL) conf();
SysCloseLibrary(drv);
}
else
Msgbox::Alert("This plugin reports that should not work correctly");
{
s32(* (*conf)())();
conf = (s32(* (*)())()) SysLoadSym(drv, name);
if (SysLibError() == NULL) ret = (s32) conf();
SysCloseLibrary(drv);
if (ret == 0)
Msgbox::Alert("This plugin reports that should work correctly");
else
Msgbox::Alert("This plugin reports that should not work correctly");
}
}
void OnConf_Gs(GtkMenuItem *menuitem, gpointer user_data)
void OnConf_Menu(GtkMenuItem *menuitem, gpointer user_data)
{
char file[255];
// chdir(Config.PluginsDir);
char *name = gtk_widget_get_name(GTK_WIDGET(menuitem));
plugin_types type = strToPluginType(name);
gtk_widget_set_sensitive(MainWindow, FALSE);
GSconfigure();
gtk_widget_set_sensitive(MainWindow, TRUE);
}
void OnConf_Pads(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_set_sensitive(MainWindow, FALSE);
PAD1configure();
if (strcmp(Config.PAD1, Config.PAD2)) PAD2configure();
gtk_widget_set_sensitive(MainWindow, TRUE);
}
void OnConf_Spu2(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_set_sensitive(MainWindow, FALSE);
SPU2configure();
gtk_widget_set_sensitive(MainWindow, TRUE);
}
void OnConf_Cdvd(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_set_sensitive(MainWindow, FALSE);
CDVDconfigure();
gtk_widget_set_sensitive(MainWindow, TRUE);
}
void OnConf_Dev9(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_set_sensitive(MainWindow, FALSE);
DEV9configure();
gtk_widget_set_sensitive(MainWindow, TRUE);
}
void OnConf_Usb(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_set_sensitive(MainWindow, FALSE);
USBconfigure();
gtk_widget_set_sensitive(MainWindow, TRUE);
}
void OnConf_Fw(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_set_sensitive(MainWindow, FALSE);
FWconfigure();
ConfPlugin(type, PLUGIN_CONFIG, false);
gtk_widget_set_sensitive(MainWindow, TRUE);
}
@ -177,26 +131,16 @@ void SetActiveComboItem(GtkComboBox *widget, char plist[255][255], GList *list,
void OnConfConf_Ok(GtkButton *button, gpointer user_data)
{
plugin_types type;
applychanges = TRUE;
if (!GetComboText(GSConfS.Combo, GSConfS.plist, Config.GS))
applychanges = FALSE;
if (!GetComboText(PAD1ConfS.Combo, PAD1ConfS.plist, Config.PAD1))
applychanges = FALSE;
if (!GetComboText(PAD2ConfS.Combo, PAD2ConfS.plist, Config.PAD2))
applychanges = FALSE;
if (!GetComboText(SPU2ConfS.Combo, SPU2ConfS.plist, Config.SPU2))
applychanges = FALSE;
if (!GetComboText(CDVDConfS.Combo, CDVDConfS.plist, Config.CDVD))
applychanges = FALSE;
if (!GetComboText(DEV9ConfS.Combo, DEV9ConfS.plist, Config.DEV9))
applychanges = FALSE;
if (!GetComboText(USBConfS.Combo, USBConfS.plist, Config.USB))
applychanges = FALSE;
if (!GetComboText(FWConfS.Combo, FWConfS.plist, Config.FW))
applychanges = FALSE;
if (!GetComboText(BiosConfS.Combo, BiosConfS.plist, Config.Bios))
applychanges = FALSE;
for (type = GS; type <= BIOS; type = type + 1)
{
PluginConf *confs = ConfS(type);
if (!GetComboText(confs->Combo, confs->plist, PluginName(type)))
applychanges = FALSE;
}
SaveConfig();
SysRestorableReset();
@ -207,127 +151,18 @@ void OnConfConf_Ok(GtkButton *button, gpointer user_data)
gtk_main_quit();
}
void OnConfConf_GsConf(GtkButton *button, gpointer user_data)
void OnConfButton(GtkButton *button, gpointer user_data)
{
ConfPlugin(GSConfS, Config.GS, "GSconfigure");
char *name = gtk_widget_get_name(GTK_WIDGET(button));
plugin_types type = strToPluginType(name);
plugin_callback call = strToPluginCall(name);
// Don't uncomment till fixing CDVDIso's dialog box.
//gtk_widget_set_sensitive(ConfDlg, FALSE);
ConfPlugin(type, call, false);
//gtk_widget_set_sensitive(ConfDlg, TRUE);
}
void OnConfConf_GsTest(GtkButton *button, gpointer user_data)
{
TestPlugin(GSConfS, Config.GS, "GStest");
}
void OnConfConf_GsAbout(GtkButton *button, gpointer user_data)
{
ConfPlugin(GSConfS, Config.GS, "GSabout");
}
void OnConfConf_Pad1Conf(GtkButton *button, gpointer user_data)
{
ConfPlugin(PAD1ConfS, Config.PAD1, "PADconfigure");
}
void OnConfConf_Pad1Test(GtkButton *button, gpointer user_data)
{
TestPlugin(PAD1ConfS, Config.PAD1, "PADtest");
}
void OnConfConf_Pad1About(GtkButton *button, gpointer user_data)
{
ConfPlugin(PAD1ConfS, Config.PAD1, "PADabout");
}
void OnConfConf_Pad2Conf(GtkButton *button, gpointer user_data)
{
ConfPlugin(PAD2ConfS, Config.PAD2, "PADconfigure");
}
void OnConfConf_Pad2Test(GtkButton *button, gpointer user_data)
{
TestPlugin(PAD2ConfS, Config.PAD2, "PADtest");
}
void OnConfConf_Pad2About(GtkButton *button, gpointer user_data)
{
ConfPlugin(PAD2ConfS, Config.PAD2, "PADabout");
}
void OnConfConf_Spu2Conf(GtkButton *button, gpointer user_data)
{
ConfPlugin(SPU2ConfS, Config.SPU2, "SPU2configure");
}
void OnConfConf_Spu2Test(GtkButton *button, gpointer user_data)
{
TestPlugin(SPU2ConfS, Config.SPU2, "SPU2test");
}
void OnConfConf_Spu2About(GtkButton *button, gpointer user_data)
{
ConfPlugin(SPU2ConfS, Config.SPU2, "SPU2about");
}
void OnConfConf_CdvdConf(GtkButton *button, gpointer user_data)
{
ConfPlugin(CDVDConfS, Config.CDVD, "CDVDconfigure");
}
void OnConfConf_CdvdTest(GtkButton *button, gpointer user_data)
{
TestPlugin(CDVDConfS, Config.CDVD, "CDVDtest");
}
void OnConfConf_CdvdAbout(GtkButton *button, gpointer user_data)
{
ConfPlugin(CDVDConfS, Config.CDVD, "CDVDabout");
}
void OnConfConf_Dev9Conf(GtkButton *button, gpointer user_data)
{
ConfPlugin(DEV9ConfS, Config.DEV9, "DEV9configure");
}
void OnConfConf_Dev9Test(GtkButton *button, gpointer user_data)
{
TestPlugin(DEV9ConfS, Config.DEV9, "DEV9test");
}
void OnConfConf_Dev9About(GtkButton *button, gpointer user_data)
{
ConfPlugin(DEV9ConfS, Config.DEV9, "DEV9about");
}
void OnConfConf_UsbConf(GtkButton *button, gpointer user_data)
{
ConfPlugin(USBConfS, Config.USB, "USBconfigure");
}
void OnConfConf_UsbTest(GtkButton *button, gpointer user_data)
{
TestPlugin(USBConfS, Config.USB, "USBtest");
}
void OnConfConf_UsbAbout(GtkButton *button, gpointer user_data)
{
ConfPlugin(USBConfS, Config.USB, "USBabout");
}
void OnConfConf_FWConf(GtkButton *button, gpointer user_data)
{
ConfPlugin(FWConfS, Config.FW, "FWconfigure");
}
void OnConfConf_FWTest(GtkButton *button, gpointer user_data)
{
TestPlugin(FWConfS, Config.FW, "FWtest");
}
void OnConfConf_FWAbout(GtkButton *button, gpointer user_data)
{
ConfPlugin(FWConfS, Config.FW, "FWabout");
}
void SetComboToGList(GtkComboBox *widget, GList *list)
{
GList *temp;
@ -349,29 +184,22 @@ void SetComboToGList(GtkComboBox *widget, GList *list)
gtk_combo_box_set_active(GTK_COMBO_BOX(widget), 0);
}
static void ConfCreatePConf(const char *name, PluginConf *confs, char *config)
{
char tmp[50];
sprintf(tmp, "GtkCombo_%s", name);
confs->Combo = lookup_widget(ConfDlg, tmp);
SetComboToGList(GTK_COMBO_BOX(confs->Combo), confs->PluginNameList);
FindComboText(confs->Combo, confs->plist, confs->PluginNameList, config);
}
void UpdateConfDlg()
{
plugin_types type;
FindPlugins();
ConfCreatePConf("Gs", &GSConfS, Config.GS);
ConfCreatePConf("Pad1", &PAD1ConfS, Config.PAD1);
ConfCreatePConf("Pad2", &PAD2ConfS, Config.PAD2);
ConfCreatePConf("Spu2", &SPU2ConfS, Config.SPU2);
ConfCreatePConf("Cdvd", &CDVDConfS, Config.CDVD);
ConfCreatePConf("Dev9", &DEV9ConfS, Config.DEV9);
ConfCreatePConf("Usb", &USBConfS, Config.USB);
ConfCreatePConf("FW", &FWConfS, Config.FW);
ConfCreatePConf("Bios", &BiosConfS, Config.Bios);
for (type = GS; type <= BIOS; type = type + 1)
{
char tmp[50];
PluginConf *confs = ConfS(type);
sprintf(tmp, "GtkCombo_%s", PluginTypeToStr(type));
confs->Combo = lookup_widget(ConfDlg, tmp);
SetComboToGList(GTK_COMBO_BOX(confs->Combo), confs->PluginNameList);
FindComboText(confs->Combo, confs->plist, confs->PluginNameList, PluginName(type));
}
}
void GetDirectory(GtkWidget *topWindow, const char *message, char *reply)
@ -419,7 +247,6 @@ void OnConfConf_BiosPath(GtkButton *button, gpointer user_data)
void OnConf_Conf(GtkMenuItem *menuitem, gpointer user_data)
{
FindPlugins();
ConfDlg = create_ConfDlg();
gtk_window_set_title(GTK_WINDOW(ConfDlg), "Configuration");
@ -446,13 +273,15 @@ void FindPlugins()
struct dirent *ent;
void *Handle;
char plugin[g_MaxPath], name[g_MaxPath];
plugin_types type;
GSConfS.plugins = 0; CDVDConfS.plugins = 0; DEV9ConfS.plugins = 0;
PAD1ConfS.plugins = 0; PAD2ConfS.plugins = 0; SPU2ConfS.plugins = 0;
USBConfS.plugins = 0; FWConfS.plugins = 0; BiosConfS.plugins = 0;
GSConfS.PluginNameList = NULL; CDVDConfS.PluginNameList = NULL; DEV9ConfS.PluginNameList = NULL;
PAD1ConfS.PluginNameList = NULL; PAD2ConfS.PluginNameList = NULL; SPU2ConfS.PluginNameList = NULL;
USBConfS.PluginNameList = NULL; FWConfS.PluginNameList = NULL; BiosConfS.PluginNameList = NULL;
for (type = GS; type <= BIOS; type = type + 1)
{
PluginConf *confs = ConfS(type);
confs->plugins = 0;
confs->PluginNameList = NULL;
}
dir = opendir(Config.PluginsDir);
if (dir == NULL)

View File

@ -25,10 +25,11 @@
typedef enum
{
NO_PLUGIN_TYPE = 0,
GS,
PAD1,
PAD2,
SPU,
SPU2,
CDVD,
DEV9,
USB,
@ -36,6 +37,14 @@ typedef enum
BIOS
} plugin_types;
typedef enum
{
PLUGIN_NULL = 0,
PLUGIN_CONFIG,
PLUGIN_TEST,
PLUGIN_ABOUT
} plugin_callback;
typedef struct
{
GtkWidget *Combo;
@ -54,6 +63,180 @@ PluginConf USBConfS;
PluginConf FWConfS;
PluginConf BiosConfS;
__forceinline PluginConf *ConfS(int type)
{
switch (type)
{
case GS: return &GSConfS;
case PAD1: return &PAD1ConfS;
case PAD2: return &PAD2ConfS;
case SPU2: return &SPU2ConfS;
case CDVD: return &CDVDConfS;
case DEV9: return &DEV9ConfS;
case USB: return &USBConfS;
case FW: return &FWConfS;
case BIOS: return &BiosConfS;
}
}
__forceinline const char *PluginName(int type)
{
switch (type)
{
case GS: return Config.GS;
case PAD1: return Config.PAD1;
case PAD2: return Config.PAD2;
case SPU2: return Config.SPU2;
case CDVD: return Config.CDVD;
case DEV9: return Config.DEV9;
case USB: return Config.USB;
case FW: return Config.FW;
case BIOS: return Config.Bios;
}
return NULL;
}
__forceinline const char *PluginCallbackName(int type, int call)
{
switch (type)
{
case GS:
switch (call)
{
case PLUGIN_CONFIG: return "GSconfigure";
case PLUGIN_TEST: return "GStest";
case PLUGIN_ABOUT: return "GSabout";
default: return NULL;
}
break;
case PAD1:
case PAD2:
switch (call)
{
case PLUGIN_CONFIG: return "PADconfigure";
case PLUGIN_TEST: return "PADtest";
case PLUGIN_ABOUT: return "PADabout";
default: return NULL;
}
break;
case SPU2:
switch (call)
{
case PLUGIN_CONFIG: return "SPU2configure";
case PLUGIN_TEST: return "SPU2test";
case PLUGIN_ABOUT: return "SPU2about";
default: return NULL;
}
break;
case CDVD:
switch (call)
{
case PLUGIN_CONFIG: return "CDVDconfigure";
case PLUGIN_TEST: return "CDVDtest";
case PLUGIN_ABOUT: return "CDVDabout";
default: return NULL;
}
break;
case DEV9:
switch (call)
{
case PLUGIN_CONFIG: return "DEV9configure";
case PLUGIN_TEST: return "DEV9test";
case PLUGIN_ABOUT: return "DEV9about";
default: return NULL;
}
break;
case USB:
switch (call)
{
case PLUGIN_CONFIG: return "USBconfigure";
case PLUGIN_TEST: return "USBtest";
case PLUGIN_ABOUT: return "USBabout";
default: return NULL;
}
break;
case FW:
switch (call)
{
case PLUGIN_CONFIG: return "FWconfigure";
case PLUGIN_TEST: return "FWtest";
case PLUGIN_ABOUT: return "FWabout";
default: return NULL;
}
break;
default:
return NULL;
break;
}
return NULL;
}
__forceinline int strToPluginCall(char *s)
{
char *sub = NULL;
sub = strstr(s, "about");
if (sub != NULL) return PLUGIN_ABOUT;
sub = strstr(s, "test");
if (sub != NULL) return PLUGIN_TEST;
sub = strstr(s, "configure");
if (sub != NULL) return PLUGIN_CONFIG;
return PLUGIN_NULL;
}
__forceinline int strToPluginType(char *s)
{
char *sub = NULL;
sub = strstr(s, "GS");
if (sub != NULL) return GS;
sub = strstr(s, "SPU2");
if (sub != NULL) return SPU2;
sub = strstr(s, "PAD1");
if (sub != NULL) return PAD1;
sub = strstr(s, "PAD2");
if (sub != NULL) return PAD2;
sub = strstr(s, "CDVD");
if (sub != NULL) return CDVD;
sub = strstr(s, "DEV9");
if (sub != NULL) return DEV9;
sub = strstr(s, "USB");
if (sub != NULL) return USB;
sub = strstr(s, "FW");
if (sub != NULL) return FW;
sub = strstr(s, "Bios");
if (sub != NULL) return BIOS;
return NO_PLUGIN_TYPE;
}
__forceinline const char *PluginTypeToStr(int type)
{
switch (type)
{
case GS: return "GS";
case SPU2: return "SPU2";
case PAD1: return "PAD1";
case PAD2: return "PAD2";
case CDVD: return "CDVD";
case DEV9: return "DEV9";
case USB: return "USB";
case FW: return "FW";
case BIOS: return "Bios";
default: return "";
}
return "";
}
GtkWidget *ConfDlg;
_PS2EgetLibType PS2EgetLibType = NULL;

View File

@ -134,75 +134,7 @@ OnConfConf_Pad1About (GtkButton *button,
gpointer user_data);
void
OnConfConf_GsConf (GtkButton *button,
gpointer user_data);
void
OnConfConf_GsTest (GtkButton *button,
gpointer user_data);
void
OnConfConf_GsAbout (GtkButton *button,
gpointer user_data);
void
OnConfConf_Spu2Conf (GtkButton *button,
gpointer user_data);
void
OnConfConf_Spu2Test (GtkButton *button,
gpointer user_data);
void
OnConfConf_Spu2About (GtkButton *button,
gpointer user_data);
void
OnConfConf_Dev9Conf (GtkButton *button,
gpointer user_data);
void
OnConfConf_Dev9Test (GtkButton *button,
gpointer user_data);
void
OnConfConf_Dev9About (GtkButton *button,
gpointer user_data);
void
OnConfConf_CdvdConf (GtkButton *button,
gpointer user_data);
void
OnConfConf_CdvdTest (GtkButton *button,
gpointer user_data);
void
OnConfConf_CdvdAbout (GtkButton *button,
gpointer user_data);
void
OnConfConf_UsbConf (GtkButton *button,
gpointer user_data);
void
OnConfConf_UsbTest (GtkButton *button,
gpointer user_data);
void
OnConfConf_UsbAbout (GtkButton *button,
gpointer user_data);
void
OnConfConf_FWConf (GtkButton *button,
gpointer user_data);
void
OnConfConf_FWTest (GtkButton *button,
gpointer user_data);
void
OnConfConf_FWAbout (GtkButton *button,
OnConfButton (GtkButton *button,
gpointer user_data);
void
@ -271,31 +203,7 @@ OnConf_Conf (GtkMenuItem *menuitem,
gpointer user_data);
void
OnConf_Gs (GtkMenuItem *menuitem,
gpointer user_data);
void
OnConf_Pads (GtkMenuItem *menuitem,
gpointer user_data);
void
OnConf_Spu2 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnConf_Cdvd (GtkMenuItem *menuitem,
gpointer user_data);
void
OnConf_Dev9 (GtkMenuItem *menuitem,
gpointer user_data);
void
OnConf_Usb (GtkMenuItem *menuitem,
gpointer user_data);
void
OnConf_Fw (GtkMenuItem *menuitem,
OnConf_Menu (GtkMenuItem *menuitem,
gpointer user_data);
void

File diff suppressed because it is too large Load Diff

View File

@ -3682,7 +3682,7 @@ Configure them here.&lt;/b&gt;</property>
</child>
<child>
<widget class="GtkComboBox" id="GtkCombo_Gs">
<widget class="GtkComboBox" id="GtkCombo_GS">
<property name="visible">True</property>
<property name="items" translatable="yes"></property>
<property name="add_tearoffs">False</property>
@ -3697,7 +3697,7 @@ Configure them here.&lt;/b&gt;</property>
</child>
<child>
<widget class="GtkComboBox" id="GtkCombo_Spu2">
<widget class="GtkComboBox" id="GtkCombo_SPU2">
<property name="visible">True</property>
<property name="items" translatable="yes"></property>
<property name="add_tearoffs">False</property>
@ -3712,7 +3712,7 @@ Configure them here.&lt;/b&gt;</property>
</child>
<child>
<widget class="GtkComboBox" id="GtkCombo_Pad1">
<widget class="GtkComboBox" id="GtkCombo_PAD1">
<property name="visible">True</property>
<property name="items" translatable="yes"></property>
<property name="add_tearoffs">False</property>
@ -3727,7 +3727,7 @@ Configure them here.&lt;/b&gt;</property>
</child>
<child>
<widget class="GtkComboBox" id="GtkCombo_Pad2">
<widget class="GtkComboBox" id="GtkCombo_PAD2">
<property name="visible">True</property>
<property name="items" translatable="yes"></property>
<property name="add_tearoffs">False</property>
@ -3742,7 +3742,7 @@ Configure them here.&lt;/b&gt;</property>
</child>
<child>
<widget class="GtkComboBox" id="GtkCombo_Dev9">
<widget class="GtkComboBox" id="GtkCombo_DEV9">
<property name="visible">True</property>
<property name="items" translatable="yes"></property>
<property name="add_tearoffs">False</property>
@ -3757,7 +3757,7 @@ Configure them here.&lt;/b&gt;</property>
</child>
<child>
<widget class="GtkComboBox" id="GtkCombo_Cdvd">
<widget class="GtkComboBox" id="GtkCombo_CDVD">
<property name="visible">True</property>
<property name="items" translatable="yes"></property>
<property name="add_tearoffs">False</property>
@ -3772,7 +3772,7 @@ Configure them here.&lt;/b&gt;</property>
</child>
<child>
<widget class="GtkComboBox" id="GtkCombo_Usb">
<widget class="GtkComboBox" id="GtkCombo_USB">
<property name="visible">True</property>
<property name="items" translatable="yes"></property>
<property name="add_tearoffs">False</property>
@ -3816,7 +3816,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Pad2Conf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -3829,7 +3829,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Pad2Test"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -3842,7 +3842,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Pad2About"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -3870,7 +3870,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Pad1Conf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -3883,7 +3883,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Pad1Test"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -3896,7 +3896,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Pad1About"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -3925,7 +3925,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_GsConf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -3938,7 +3938,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_GsTest"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -3951,7 +3951,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_GsAbout"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -4091,7 +4091,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Spu2Conf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4104,7 +4104,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Spu2Test"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4117,7 +4117,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Spu2About"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -4146,7 +4146,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Dev9Conf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4159,7 +4159,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Dev9Test"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4172,7 +4172,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_Dev9About"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -4256,7 +4256,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_CdvdConf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4269,7 +4269,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_CdvdTest"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4282,7 +4282,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_CdvdAbout"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -4339,7 +4339,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_UsbConf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4352,7 +4352,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_UsbTest"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4365,7 +4365,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_UsbAbout"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -4393,7 +4393,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_FWConf"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4406,7 +4406,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_FWTest"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
@ -4419,7 +4419,7 @@ Configure them here.&lt;/b&gt;</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="OnConfConf_FWAbout"/>
<signal name="clicked" handler="OnConfButton"/>
</widget>
</child>
</widget>
@ -5059,47 +5059,47 @@ Version x.x</property>
</child>
<child>
<widget class="GtkMenuItem" id="GtkMenuItem_Graphics">
<widget class="GtkMenuItem" id="GtkMenuItem_GS">
<property name="visible">True</property>
<property name="label" translatable="yes">_Graphics</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnConf_Gs"/>
<signal name="activate" handler="OnConf_Menu" last_modification_time="Fri, 06 Mar 2009 06:06:06 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="GtkMenuItem_Controllers">
<widget class="GtkMenuItem" id="GtkMenuItem_PAD1">
<property name="visible">True</property>
<property name="label" translatable="yes">C_ontrollers</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnConf_Pads"/>
<signal name="activate" handler="OnConf_Menu" last_modification_time="Fri, 06 Mar 2009 06:06:06 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="GtkMenuItem_Sound">
<widget class="GtkMenuItem" id="GtkMenuItem_SPU2">
<property name="visible">True</property>
<property name="label" translatable="yes">_Sound</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnConf_Spu2"/>
<signal name="activate" handler="OnConf_Menu" last_modification_time="Fri, 06 Mar 2009 06:06:06 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="GtkMenuItem_Cdvdrom">
<widget class="GtkMenuItem" id="GtkMenuItem_CDVD">
<property name="visible">True</property>
<property name="label" translatable="yes">_Cdvdrom</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnConf_Cdvd"/>
<signal name="activate" handler="OnConf_Menu" last_modification_time="Fri, 06 Mar 2009 06:06:06 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="GtkMenuItem_Dev9">
<widget class="GtkMenuItem" id="GtkMenuItem_DEV9">
<property name="visible">True</property>
<property name="label" translatable="yes">D_ev9</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnConf_Dev9"/>
<signal name="activate" handler="OnConf_Menu" last_modification_time="Fri, 06 Mar 2009 06:06:06 GMT"/>
</widget>
</child>
@ -5108,7 +5108,7 @@ Version x.x</property>
<property name="visible">True</property>
<property name="label" translatable="yes">U_SB</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnConf_Usb"/>
<signal name="activate" handler="OnConf_Menu" last_modification_time="Fri, 06 Mar 2009 06:06:06 GMT"/>
</widget>
</child>
@ -5117,7 +5117,7 @@ Version x.x</property>
<property name="visible">True</property>
<property name="label" translatable="yes">Fire_Wire</property>
<property name="use_underline">True</property>
<signal name="activate" handler="OnConf_Fw"/>
<signal name="activate" handler="OnConf_Menu" last_modification_time="Fri, 06 Mar 2009 06:06:06 GMT"/>
</widget>
</child>

View File

@ -11,7 +11,8 @@ R3000AInterpreter.cpp R3000AOpcodeTables.cpp R5900.cpp R5900OpcodeImpl.cpp R5900
SPR.cpp SaveState.cpp Sif.cpp Sio.cpp SourceLog.cpp Stats.cpp System.cpp ThreadTools.cpp \
VU0.cpp VU0micro.cpp VU0microInterp.cpp VU1micro.cpp VU1microInterp.cpp VUflags.cpp VUmicroMem.cpp VUops.cpp \
Vif.cpp VifDma.cpp vssprintf.cpp vtlb.cpp xmlpatchloader.cpp AlignedMalloc.cpp \
RecoverySystem.cpp Saveslots.cpp
RecoverySystem.cpp Saveslots.cpp
#HashTools.cpp
libpcsx2_a_SOURCES += \
@ -19,6 +20,7 @@ CDVD.h CDVDiso.h CDVDisodrv.h CDVDlib.h COP0.h Cache.h CdRom.h Common.h Counters
Elfheader.h Exceptions.h GS.h Hw.h IopBios.h IopBios2.h IopCounters.h IopDma.h IopHw.h IopMem.h IopSio2.h Memcpyfast.h \
Memory.h MemoryCard.h Misc.h Patch.h Paths.h Plugins.h PrecompiledHeader.h PsxCommon.h R3000A.h R5900.h R5900OpcodeTables.h \
SPR.h SamplProf.h SaveState.h Sif.h Sifcmd.h Sio.h SafeArray.h Stats.h StringUtils.h System.h Threading.h \
VU.h VUflags.h VUmicro.h VUops.h Vif.h VifDma.h cheatscpp.h vtlb.h NakedAsm.h R5900Exceptions.h HostGui.h
VU.h VUflags.h VUmicro.h VUops.h Vif.h VifDma.h cheatscpp.h vtlb.h NakedAsm.h R5900Exceptions.h HostGui.h
#HashMap.h
SUBDIRS = x86 . DebugTools IPU RDebug tinyxml Linux

View File

@ -3,16 +3,14 @@ noinst_LIBRARIES = libx86recomp.a
# have to add the sources instead of making a library since the linking is complicated
archfiles = ix86-32/iR5900-32.cpp ix86-32/iR5900AritImm.cpp ix86-32/iR5900Jump.cpp \
ix86-32/iR5900Move.cpp ix86-32/iR5900Shift.cpp ix86-32/iR5900Arit.cpp ix86-32/iR5900Branch.cpp \
ix86-32/iR5900LoadStore.cpp ix86-32/iR5900MultDiv.cpp ix86-32/iCore-32.cpp ix86-32/aR5900-32.S \
ix86-32/iR5900Templates.cpp ix86-32/recVTLB.cpp
archfiles = ix86-32/iR5900-32.cpp ix86-32/iR5900AritImm.cpp ix86-32/iR5900Jump.cpp ix86-32/iR5900Move.cpp \
ix86-32/iR5900Shift.cpp ix86-32/iR5900Arit.cpp ix86-32/iR5900Branch.cpp ix86-32/iR5900LoadStore.cpp \
ix86-32/iR5900MultDiv.cpp ix86-32/iCore-32.cpp ix86-32/aR5900-32.S ix86-32/iR5900Templates.cpp ix86-32/recVTLB.cpp
libx86recomp_a_SOURCES = \
BaseblockEx.cpp iCOP0.cpp iCOP2.cpp iCore.cpp iFPU.cpp iFPUd.cpp iGS.cpp iHw.cpp iIPU.cpp iMMI.cpp iPsxHw.cpp iPsxMem.cpp \
iR3000A.cpp iR3000Atables.cpp iR5900CoissuedLoadStore.cpp iR5900Misc.cpp iVU0micro.cpp iVU1micro.cpp iVUmicro.cpp \
iVUmicroLower.cpp iVUmicroUpper.cpp iVUzerorec.cpp iVif.cpp ir5900tables.cpp fast_routines.S aR3000A.S aVUzerorec.S \
aVif.S $(archfiles)
BaseblockEx.cpp iCOP0.cpp iCOP2.cpp iCore.cpp iFPU.cpp iFPUd.cpp iMMI.cpp iPsxMem.cpp iR3000A.cpp iR3000Atables.cpp \
iR5900Misc.cpp iVU0micro.cpp iVU1micro.cpp iVUmicro.cpp iVUmicroLower.cpp iVUmicroUpper.cpp iVUzerorec.cpp iVif.cpp \
ir5900tables.cpp fast_routines.S aR3000A.S aVUzerorec.S aVif.S $(archfiles)
libx86recomp_a_SOURCES += \
BaseblockEx.h iCOP0.h iCore.h iFPU.h iMMI.h iR3000A.h iR5900.h iR5900Arit.h iR5900AritImm.h iR5900Branch.h iR5900Jump.h \

View File

@ -3207,7 +3207,7 @@ emitterT void ePUSHFD( void ) { write8<I>( 0x9C ); }
/* popfd */
emitterT void ePOPFD( void ) { write8<I>( 0x9D ); }
emitterT void eRET( void ) { /*write8<I>( 0xf3 ); /*<-- K8 opt?*/ write8<I>( 0xC3 ); }
emitterT void eRET( void ) { /*write8<I>( 0xf3 ); <-- K8 opt?*/ write8<I>( 0xC3 ); }
emitterT void eCBW( void ) { write16<I>( 0x9866 ); }
emitterT void eCWD( void ) { write8<I>( 0x98 ); }