@@ -506,32 +506,48 @@ uint16_t PCSX::SPU::impl::readRegister(uint32_t reg) {
506
506
{
507
507
const int ch = (r >> 4 ) - 0xc0 ;
508
508
509
- if (s_chan[ch].data .get <Chan::New>().value ) return 1 ; // we are started, but not processed? return 1
509
+ if (s_chan[ch].data .get <Chan::New>().value ) {
510
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Voice[%02i] Current ADSR Volume = 00001\n " , ch);
511
+ return 1 ; // we are started, but not processed? return 1
512
+ }
510
513
if (s_chan[ch].ADSRX .get <exVolume>().value && // same here... we haven't decoded one sample yet, so no
511
514
// envelope yet.
512
515
// return 1 as well
513
- !s_chan[ch].ADSRX .get <exEnvelopeVol>().value )
516
+ !s_chan[ch].ADSRX .get <exEnvelopeVol>().value ) {
517
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Voice[%02i] Current ADSR Volume = 00001\n " , ch);
514
518
return 1 ;
519
+ }
520
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Voice[%02i] Current ADSR Volume = %04x\n " , ch,
521
+ (uint16_t )s_chan[ch].ADSRX .get <exEnvelopeVol>().value );
515
522
return (uint16_t )s_chan[ch].ADSRX .get <exEnvelopeVol>().value ;
516
523
}
517
524
518
525
case 14 : // get loop address
519
526
{
520
527
const int ch = (r >> 4 ) - 0xc0 ;
521
- if (s_chan[ch].pLoop == nullptr ) return 0 ;
528
+ if (s_chan[ch].pLoop == nullptr ) {
529
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Voice[%02i] ADPCM Repeat Address = 00000\n " , ch);
530
+ return 0 ;
531
+ }
532
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Voice[%02i] ADPCM Repeat Address = %04x\n " , ch,
533
+ (uint16_t )((s_chan[ch].pLoop - spuMemC) >> 3 ));
522
534
return (uint16_t )((s_chan[ch].pLoop - spuMemC) >> 3 );
523
535
}
524
536
}
525
537
}
526
538
527
539
switch (r) {
528
540
case H_SPUctrl:
541
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, CTRL = %04x\n " , spuCtrl);
529
542
return spuCtrl;
530
543
531
544
case H_SPUstat:
545
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, STAT = %04x\n " ,
546
+ (spuStat & ~StatusFlags::SPUModeMask) | (spuCtrl & StatusFlags::SPUModeMask));
532
547
return (spuStat & ~StatusFlags::SPUModeMask) | (spuCtrl & StatusFlags::SPUModeMask);
533
548
534
549
case H_SPUaddr:
550
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Data Transfer Address = %04x\n " , (uint16_t )(spuAddr >> 3 ));
535
551
return (uint16_t )(spuAddr >> 3 );
536
552
537
553
case H_SPUdata: {
@@ -541,13 +557,16 @@ uint16_t PCSX::SPU::impl::readRegister(uint32_t reg) {
541
557
if (spuAddr > 0x7ffff ) {
542
558
spuAddr = 0 ;
543
559
}
560
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Data Transfer Fifo = %04x\n " , s);
544
561
return s;
545
562
}
546
563
547
564
case H_SPUirqAddr:
565
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, Data Transfer Fifo = %04x\n " , spuIrq);
548
566
return spuIrq;
549
567
}
550
568
569
+ PCSX::PSXSPU_LOGGER::Log (" SPU.read, regArea[%03x] = %04x\n " ,r, regArea[(r - 0xc00 ) >> 1 ]);
551
570
return regArea[(r - 0xc00 ) >> 1 ];
552
571
}
553
572
0 commit comments