summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authorSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-11-30 15:46:36 +0000
committerSND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-11-30 15:46:36 +0000
commitca4066b2fb81c66a1a478b3c24ef463b6107cefe (patch)
tree1a4e07bd56189bd8a7dd24067c8a918914b114bb /libpcsxcore
parent85ba8b161a5974b78de6876faf81389b3064d812 (diff)
downloadpcsxr-ca4066b2fb81c66a1a478b3c24ef463b6107cefe.tar.gz
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@72730 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/plugins.c19
-rw-r--r--libpcsxcore/plugins.h10
-rw-r--r--libpcsxcore/psxcounters.c2
-rw-r--r--libpcsxcore/r3000a.c8
4 files changed, 8 insertions, 31 deletions
diff --git a/libpcsxcore/plugins.c b/libpcsxcore/plugins.c
index 28c9c327..9db5421b 100644
--- a/libpcsxcore/plugins.c
+++ b/libpcsxcore/plugins.c
@@ -49,9 +49,8 @@ GPUfreeze GPU_freeze;
GPUgetScreenPic GPU_getScreenPic;
GPUshowScreenPic GPU_showScreenPic;
GPUclearDynarec GPU_clearDynarec;
+GPUhSync GPU_hSync;
GPUvBlank GPU_vBlank;
-GPUregisterCallback GPU_registerCallback;
-GPUidle GPU_idle;
GPUvisualVibration GPU_visualVibration;
GPUcursor GPU_cursor;
GPUaddVertex GPU_addVertex;
@@ -201,16 +200,6 @@ void CALLBACK GPU__displayText(char *pText) {
SysPrintf("%s\n", pText);
}
-void CALLBACK GPUbusy( int ticks )
-{
- //printf( "GPUbusy( %i )\n", ticks );
- //fflush( 0 );
-
- psxRegs.interrupt |= (1 << PSXINT_GPUBUSY);
- psxRegs.intCycle[PSXINT_GPUBUSY].cycle = ticks;
- psxRegs.intCycle[PSXINT_GPUBUSY].sCycle = psxRegs.cycle;
-}
-
long CALLBACK GPU__configure(void) { return 0; }
long CALLBACK GPU__test(void) { return 0; }
void CALLBACK GPU__about(void) {}
@@ -219,9 +208,8 @@ void CALLBACK GPU__keypressed(int key) {}
long CALLBACK GPU__getScreenPic(unsigned char *pMem) { return -1; }
long CALLBACK GPU__showScreenPic(unsigned char *pMem) { return -1; }
void CALLBACK GPU__clearDynarec(void (CALLBACK *callback)(void)) {}
+void CALLBACK GPU__hSync(int val) {}
void CALLBACK GPU__vBlank(int val) {}
-void CALLBACK GPU__registerCallback(void (CALLBACK *callback)(int)) {}
-void CALLBACK GPU__idle(void) {}
void CALLBACK GPU__visualVibration(unsigned long iSmall, unsigned long iBig) {}
void CALLBACK GPU__cursor(int player, int x, int y) {}
void CALLBACK GPU__addVertex(short sx,short sy,s64 fx,s64 fy,s64 fz) {}
@@ -264,9 +252,8 @@ static int LoadGPUplugin(const char *GPUdll) {
LoadGpuSym0(getScreenPic, "GPUgetScreenPic");
LoadGpuSym0(showScreenPic, "GPUshowScreenPic");
LoadGpuSym0(clearDynarec, "GPUclearDynarec");
+ LoadGpuSym0(hSync, "GPUhSync");
LoadGpuSym0(vBlank, "GPUvBlank");
- LoadGpuSym0(registerCallback, "GPUregisterCallback");
- LoadGpuSym0(idle, "GPUidle");
LoadGpuSym0(visualVibration, "GPUvisualVibration");
LoadGpuSym0(cursor, "GPUcursor");
LoadGpuSym0(addVertex, "GPUaddVertex");
diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h
index cf2dbdff..bf55e65f 100644
--- a/libpcsxcore/plugins.h
+++ b/libpcsxcore/plugins.h
@@ -93,12 +93,11 @@ typedef long (CALLBACK* GPUfreeze)(uint32_t, GPUFreeze_t *);
typedef long (CALLBACK* GPUgetScreenPic)(unsigned char *);
typedef long (CALLBACK* GPUshowScreenPic)(unsigned char *);
typedef void (CALLBACK* GPUclearDynarec)(void (CALLBACK *callback)(void));
+typedef void (CALLBACK* GPUhSync)(int);
typedef void (CALLBACK* GPUvBlank)(int);
-typedef void (CALLBACK* GPUregisterCallback)(void (CALLBACK *callback)(int));
-typedef void (CALLBACK* GPUidle)(void);
typedef void (CALLBACK* GPUvisualVibration)(uint32_t, uint32_t);
typedef void (CALLBACK* GPUcursor)(int, int, int);
- typedef void (CALLBACK* GPUaddVertex)(short,short,s64,s64,s64);
+typedef void (CALLBACK* GPUaddVertex)(short,short,s64,s64,s64);
// GPU function pointers
extern GPUupdateLace GPU_updateLace;
@@ -123,9 +122,8 @@ extern GPUfreeze GPU_freeze;
extern GPUgetScreenPic GPU_getScreenPic;
extern GPUshowScreenPic GPU_showScreenPic;
extern GPUclearDynarec GPU_clearDynarec;
+extern GPUhSync GPU_hSync;
extern GPUvBlank GPU_vBlank;
-extern GPUregisterCallback GPU_registerCallback;
-extern GPUidle GPU_idle;
extern GPUvisualVibration GPU_visualVibration;
extern GPUcursor GPU_cursor;
extern GPUaddVertex GPU_addVertex;
@@ -415,8 +413,6 @@ extern SIO1registerCallback SIO1_registerCallback;
void CALLBACK clearDynarec(void);
-void CALLBACK GPUbusy( int ticks );
-
void SetIsoFile(const char *filename);
const char *GetIsoFile(void);
boolean UsingIso(void);
diff --git a/libpcsxcore/psxcounters.c b/libpcsxcore/psxcounters.c
index 51694aa4..8ecb629f 100644
--- a/libpcsxcore/psxcounters.c
+++ b/libpcsxcore/psxcounters.c
@@ -270,6 +270,8 @@ void psxRcntUpdate()
{
psxRcntReset( 3 );
+ GPU_hSync(hSyncCount);
+
spuSyncCount++;
hSyncCount++;
diff --git a/libpcsxcore/r3000a.c b/libpcsxcore/r3000a.c
index a44bc369..9a37abe6 100644
--- a/libpcsxcore/r3000a.c
+++ b/libpcsxcore/r3000a.c
@@ -186,13 +186,6 @@ void psxBranchTest() {
spuInterrupt();
}
}
- if (psxRegs.interrupt & (1 << PSXINT_GPUBUSY)) { // gpu busy
- if ((psxRegs.cycle - psxRegs.intCycle[PSXINT_GPUBUSY].sCycle) >= psxRegs.intCycle[PSXINT_GPUBUSY].cycle) {
- psxRegs.interrupt &= ~(1 << PSXINT_GPUBUSY);
- GPU_idle();
- }
- }
-
if (psxRegs.interrupt & (1 << PSXINT_MDECINDMA)) { // mdec in
if ((psxRegs.cycle - psxRegs.intCycle[PSXINT_MDECINDMA].sCycle) >= psxRegs.intCycle[PSXINT_MDECINDMA].cycle) {
psxRegs.interrupt &= ~(1 << PSXINT_MDECINDMA);
@@ -272,4 +265,3 @@ void psxExecuteBios() {
while (psxRegs.pc != 0x80030000)
psxCpu->ExecuteBlock();
}
-