#ifdef'ed out Sio1 interface for now (using uninitialized ptr in plugins.c could result in potential bad thing)

git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@54254 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
SND\weimingzhi_cp 2010-07-07 05:25:19 +00:00
parent dd4b2eaa7f
commit 14b4acb831
4 changed files with 82 additions and 40 deletions

View File

@ -1,3 +1,9 @@
July 7, 2010 Wei Mingzhi <whistler_wmz@users.sf.net>
* libpcsxcore/plugins.c: #ifdef'ed out the currently unused Sio1 API.
* libpcsxcore/plugins.h: Likewise.
* libpcsxcore/psxhw.c: Likewise.
July 4, 2010 edgbla <edgbla@yandex.ru>
* libpcsxcore/plugins.c: GPUvBlank (for gpuBladeSoft now, experimental).

View File

@ -136,6 +136,8 @@ NETrecvPadData NET_recvPadData;
NETsetInfo NET_setInfo;
NETkeypressed NET_keypressed;
#ifdef ENABLE_SIO1API
SIO1init SIO1_init;
SIO1shutdown SIO1_shutdown;
SIO1open SIO1_open;
@ -170,6 +172,8 @@ SIO1readBaud16 SIO1_readBaud16;
SIO1readBaud32 SIO1_readBaud32;
SIO1registerCallback SIO1_registerCallback;
#endif
static const char *err;
#define CheckErr(func) { \
@ -596,6 +600,8 @@ static int LoadNETplugin(const char *NETdll) {
return 0;
}
#ifdef ENABLE_SIO1API
void *hSIO1Driver = NULL;
long CALLBACK SIO1__init(void) { return 0; }
@ -648,13 +654,13 @@ void CALLBACK SIO1irq(void) {
static int LoadSIO1plugin(const char *SIO1dll) {
void *drv;
/*
hSIO1Driver = SysLoadLibrary(SIO1dll);
if (hSIO1Driver == NULL) {
SysMessage (_("Could not load SIO1 plugin %s!"), SIO1dll); return -1;
}
drv = hSIO1Driver;
*/
LoadSio1Sym0(init, "SIO1init");
LoadSio1Sym0(shutdown, "SIO1shutdown");
LoadSio1Sym0(open, "SIO1open");
@ -691,6 +697,8 @@ static int LoadSIO1plugin(const char *SIO1dll) {
return 0;
}
#endif
void CALLBACK clearDynarec(void) {
psxCpu->Reset();
}
@ -727,9 +735,11 @@ int LoadPlugins() {
sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Net);
if (LoadNETplugin(Plugin) == -1) Config.UseNet = FALSE;
}
#ifdef ENABLE_SIO1API
sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Sio1);
if (LoadSIO1plugin(Plugin) == -1) return -1;
if (LoadSIO1plugin(Plugin) == -1) return -1;
#endif
ret = CDR_init();
if (ret < 0) { SysMessage (_("Error initializing CD-ROM plugin: %d"), ret); return -1; }
@ -746,9 +756,11 @@ int LoadPlugins() {
ret = NET_init();
if (ret < 0) { SysMessage (_("Error initializing NetPlay plugin: %d"), ret); return -1; }
}
#ifdef ENABLE_SIO1API
ret = SIO1_init();
if (ret < 0) { SysMessage (_("Error initializing SIO1 plugin: %d"), ret); return -1; }
if (ret < 0) { SysMessage (_("Error initializing SIO1 plugin: %d"), ret); return -1; }
#endif
SysPrintf(_("Plugins loaded.\n"));
return 0;
@ -766,7 +778,6 @@ void ReleasePlugins() {
if (hSPUDriver != NULL) SPU_shutdown();
if (hPAD1Driver != NULL) PAD1_shutdown();
if (hPAD2Driver != NULL) PAD2_shutdown();
if (hSIO1Driver != NULL) SIO1_shutdown();
if (Config.UseNet && hNETDriver != NULL) NET_shutdown();
@ -775,11 +786,18 @@ void ReleasePlugins() {
if (hSPUDriver != NULL) SysCloseLibrary(hSPUDriver); hSPUDriver = NULL;
if (hPAD1Driver != NULL) SysCloseLibrary(hPAD1Driver); hPAD1Driver = NULL;
if (hPAD2Driver != NULL) SysCloseLibrary(hPAD2Driver); hPAD2Driver = NULL;
if (hSIO1Driver != NULL) SysCloseLibrary(hSIO1Driver); hSIO1Driver = NULL;
if (Config.UseNet && hNETDriver != NULL) {
SysCloseLibrary(hNETDriver); hNETDriver = NULL;
}
#ifdef ENABLE_SIO1API
if (hSIO1Driver != NULL) {
SIO1_shutdown();
SysCloseLibrary(hSIO1Driver);
hSIO1Driver = NULL;
}
#endif
}
void SetIsoFile(const char *filename) {

View File

@ -26,6 +26,8 @@ extern "C" {
#include "psxcommon.h"
//#define ENABLE_SIO1API 1
#ifndef _WIN32
typedef void* HWND;
@ -322,6 +324,8 @@ extern NETrecvPadData NET_recvPadData;
extern NETsetInfo NET_setInfo;
extern NETkeypressed NET_keypressed;
#ifdef ENABLE_SIO1API
// SIO1 Functions (link cable)
typedef long (CALLBACK* SIO1init)(void);
typedef long (CALLBACK* SIO1shutdown)(void);
@ -391,6 +395,8 @@ extern SIO1readBaud16 SIO1_readBaud16;
extern SIO1readBaud32 SIO1_readBaud32;
extern SIO1registerCallback SIO1_registerCallback;
#endif
void CALLBACK clearDynarec(void);
void SetIsoFile(const char *filename);

View File

@ -40,8 +40,10 @@ u8 psxHwRead8(u32 add) {
unsigned char hard;
switch (add) {
case 0x1f801040: hard = sioRead8();break;
case 0x1f801050: hard = SIO1_readData8(); break;
case 0x1f801040: hard = sioRead8();break;
#ifdef ENABLE_SIO1API
case 0x1f801050: hard = SIO1_readData8(); break;
#endif
case 0x1f801800: hard = cdrRead0(); break;
case 0x1f801801: hard = cdrRead1(); break;
case 0x1f801802: hard = cdrRead2(); break;
@ -103,19 +105,21 @@ u16 psxHwRead16(u32 add) {
#ifdef PAD_LOG
PAD_LOG("sio read16 %x; ret = %x\n", add&0xf, hard);
#endif
return hard;
#ifdef ENABLE_SIO1API
case 0x1f801050:
hard = SIO1_readData16();
return hard;
case 0x1f801050:
hard = SIO1_readData16();
return hard;
case 0x1f801054:
hard = SIO1_readStat16();
return hard;
case 0x1f80105a:
hard = SIO1_readCtrl16();
return hard;
case 0x1f80105e:
hard = SIO1_readBaud16();
return hard;
case 0x1f801054:
hard = SIO1_readStat16();
return hard;
case 0x1f80105a:
hard = SIO1_readCtrl16();
return hard;
case 0x1f80105e:
hard = SIO1_readBaud16();
return hard;
#endif
case 0x1f801100:
hard = psxRcntRcount(0);
#ifdef PSXHW_LOG
@ -204,10 +208,12 @@ u32 psxHwRead32(u32 add) {
#ifdef PAD_LOG
PAD_LOG("sio read32 ;ret = %x\n", hard);
#endif
return hard;
return hard;
#ifdef ENABLE_SIO1API
case 0x1f801050:
hard = SIO1_readData32();
return hard;
hard = SIO1_readData32();
return hard;
#endif
#ifdef PSXHW_LOG
case 0x1f801060:
PSXHW_LOG("RAM size read %x\n", psxHu32(0x1060));
@ -342,8 +348,10 @@ u32 psxHwRead32(u32 add) {
void psxHwWrite8(u32 add, u8 value) {
switch (add) {
case 0x1f801040: sioWrite8(value); break;
case 0x1f801050: SIO1_writeData8(value); break;
case 0x1f801040: sioWrite8(value); break;
#ifdef ENABLE_SIO1API
case 0x1f801050: SIO1_writeData8(value); break;
#endif
case 0x1f801800: cdrWrite0(value); break;
case 0x1f801801: cdrWrite1(value); break;
case 0x1f801802: cdrWrite2(value); break;
@ -394,19 +402,21 @@ void psxHwWrite16(u32 add, u16 value) {
#ifdef PAD_LOG
PAD_LOG ("sio write16 %x, %x\n", add&0xf, value);
#endif
return;
#ifdef ENABLE_SIO1API
case 0x1f801050:
SIO1_writeData16(value);
return;
case 0x1f801054:
SIO1_writeStat16(value);
return;
case 0x1f801050:
SIO1_writeData16(value);
return;
case 0x1f801054:
SIO1_writeStat16(value);
return;
case 0x1f80105a:
SIO1_writeCtrl16(value);
return;
SIO1_writeCtrl16(value);
return;
case 0x1f80105e:
SIO1_writeBaud16(value);
return;
SIO1_writeBaud16(value);
return;
#endif
case 0x1f801070:
#ifdef PSXHW_LOG
PSXHW_LOG("IREG 16bit write %x\n", value);
@ -507,10 +517,12 @@ void psxHwWrite32(u32 add, u32 value) {
#ifdef PAD_LOG
PAD_LOG("sio write32 %x\n", value);
#endif
return;
return;
#ifdef ENABLE_SIO1API
case 0x1f801050:
SIO1_writeData32(value);
return;
SIO1_writeData32(value);
return;
#endif
#ifdef PSXHW_LOG
case 0x1f801060:
PSXHW_LOG("RAM size write %x\n", value);