notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cdrom: implement xa buffering somewhat
[pcsx_rearmed.git]
/
plugins
/
dfsound
/
spu.c
diff --git
a/plugins/dfsound/spu.c
b/plugins/dfsound/spu.c
index
057502e
..
f5dc406
100644
(file)
--- a/
plugins/dfsound/spu.c
+++ b/
plugins/dfsound/spu.c
@@
-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)
{
{
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 %04
z
x\n", ch, pos - spu.spuMemC);
do_irq();
return 1;
}
do_irq();
return 1;
}
@@
-1338,12
+1338,12
@@
void CALLBACK SPUupdate(void)
// XA AUDIO
// 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(!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
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
}
// 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 (!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);
do_samples(cycle, 1); // catch up to prevent source underflows later
FeedCDDA((unsigned char *)pcm, nbytes);