extern void SPUabout(void);
extern long SPUfreeze(unsigned int, void *);
extern void SPUasync(unsigned int);
-extern void SPUplayCDDAchannel(short *, int);
+extern int SPUplayCDDAchannel(short *, int);
/* PAD */
static long PADreadPort1(PadDataS *pad)
{
- pad->controllerType = in_type;
+ pad->controllerType = in_type1;
pad->buttonStatus = ~in_keystate;
- if (in_type == PSE_PAD_TYPE_ANALOGPAD) {
+ if (in_type1 == PSE_PAD_TYPE_ANALOGPAD) {
pad->leftJoyX = in_a1[0];
pad->leftJoyY = in_a1[1];
pad->rightJoyX = in_a2[0];
static long PADreadPort2(PadDataS *pad)
{
- pad->controllerType = PSE_PAD_TYPE_STANDARD;
+ pad->controllerType = in_type2;
pad->buttonStatus = ~in_keystate >> 16;
return 0;
}
extern long GPUdmaChain(uint32_t *,uint32_t);
extern void GPUupdateLace(void);
extern long GPUfreeze(uint32_t, void *);
-extern void GPUvBlank(int, uint32_t *);
+extern void GPUvBlank(int, int);
extern void GPUrearmedCallbacks(const struct rearmed_cbs *cbs);
pc_hook_func (SPU_readDMAMem, (unsigned short *a0, int a1), (a0, a1), PCNT_SPU)
pc_hook_func (SPU_playADPCMchannel, (void *a0), (a0), PCNT_SPU)
pc_hook_func (SPU_async, (unsigned int a0), (a0), PCNT_SPU)
-pc_hook_func (SPU_playCDDAchannel, (short *a0, int a1), (a0, a1), PCNT_SPU)
+pc_hook_func_ret(int, SPU_playCDDAchannel, (short *a0, int a1), (a0, a1), PCNT_SPU)
#define hook_it(name) { \
o_##name = name; \
hook_it(SPU_playCDDAchannel);
}
+// hooked into recompiler
+void pcnt_gte_start(int op)
+{
+ pcnt_start(PCNT_GTE);
+}
+
+void pcnt_gte_end(int op)
+{
+ pcnt_end(PCNT_GTE);
+}
+
#endif