X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fdfsound%2Fspu.c;h=f5dc406279d15d8aa3fc232fba3c1f4ca5445176;hb=5c5e6c0c5f739de80b7f8f9d6c36dda0c2fa579d;hp=8edcd4db9069e765b6d9471c33ed26835aba3fe1;hpb=0de2ae236e4f4cd7c9fb0ee648037f93753c02ff;p=pcsx_rearmed.git diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index 8edcd4db..f5dc4062 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -203,7 +203,7 @@ static void do_irq(void) //if(!(spu.spuStat & STAT_IRQ)) { spu.spuStat |= STAT_IRQ; // asserted status? - if(spu.irqCallback) spu.irqCallback(); + if(spu.irqCallback) spu.irqCallback(0); } } @@ -211,7 +211,7 @@ static int check_irq(int ch, unsigned char *pos) { if((spu.spuCtrl & (CTRL_ON|CTRL_IRQ)) == (CTRL_ON|CTRL_IRQ) && pos == spu.pSpuIrq) { - //printf("ch%d irq %04x\n", ch, pos - spu.spuMemC); + //printf("ch%d irq %04zx\n", ch, pos - spu.spuMemC); do_irq(); return 1; } @@ -1338,12 +1338,12 @@ void CALLBACK SPUupdate(void) // XA AUDIO -void CALLBACK SPUplayADPCMchannel(xa_decode_t *xap, unsigned int cycle, int is_start) +void CALLBACK SPUplayADPCMchannel(xa_decode_t *xap, unsigned int cycle, int unused) { if(!xap) return; if(!xap->freq) return; // no xa freq ? bye - if (is_start) + if (spu.XAPlay == spu.XAFeed) do_samples(cycle, 1); // catch up to prevent source underflows later FeedXA(xap); // call main XA feeder @@ -1351,12 +1351,12 @@ void CALLBACK SPUplayADPCMchannel(xa_decode_t *xap, unsigned int cycle, int is_s } // CDDA AUDIO -int CALLBACK SPUplayCDDAchannel(short *pcm, int nbytes, unsigned int cycle, int is_start) +int CALLBACK SPUplayCDDAchannel(short *pcm, int nbytes, unsigned int cycle, int unused) { if (!pcm) return -1; if (nbytes<=0) return -1; - if (is_start) + if (spu.CDDAPlay == spu.CDDAFeed) do_samples(cycle, 1); // catch up to prevent source underflows later FeedCDDA((unsigned char *)pcm, nbytes); @@ -1602,14 +1602,14 @@ long CALLBACK SPUshutdown(void) // SETUP CALLBACKS // this functions will be called once, // passes a callback that should be called on SPU-IRQ/cdda volume change -void CALLBACK SPUregisterCallback(void (CALLBACK *callback)(void)) +void CALLBACK SPUregisterCallback(void (CALLBACK *callback)(int)) { spu.irqCallback = callback; } void CALLBACK SPUregisterCDDAVolume(void (CALLBACK *CDDAVcallback)(short, short)) { - spu.cddavCallback = CDDAVcallback; + //spu.cddavCallback = CDDAVcallback; } void CALLBACK SPUregisterScheduleCb(void (CALLBACK *callback)(unsigned int))