Skip to content

Commit f40a5fb

Browse files
committed
Add logging to spu readRegister
1 parent 5e7c81d commit f40a5fb

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

src/spu/registers.cc

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -506,32 +506,48 @@ uint16_t PCSX::SPU::impl::readRegister(uint32_t reg) {
506506
{
507507
const int ch = (r >> 4) - 0xc0;
508508

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+
}
510513
if (s_chan[ch].ADSRX.get<exVolume>().value && // same here... we haven't decoded one sample yet, so no
511514
// envelope yet.
512515
// 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);
514518
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);
515522
return (uint16_t)s_chan[ch].ADSRX.get<exEnvelopeVol>().value;
516523
}
517524

518525
case 14: // get loop address
519526
{
520527
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));
522534
return (uint16_t)((s_chan[ch].pLoop - spuMemC) >> 3);
523535
}
524536
}
525537
}
526538

527539
switch (r) {
528540
case H_SPUctrl:
541+
PCSX::PSXSPU_LOGGER::Log("SPU.read, CTRL = %04x\n", spuCtrl);
529542
return spuCtrl;
530543

531544
case H_SPUstat:
545+
PCSX::PSXSPU_LOGGER::Log("SPU.read, STAT = %04x\n",
546+
(spuStat & ~StatusFlags::SPUModeMask) | (spuCtrl & StatusFlags::SPUModeMask));
532547
return (spuStat & ~StatusFlags::SPUModeMask) | (spuCtrl & StatusFlags::SPUModeMask);
533548

534549
case H_SPUaddr:
550+
PCSX::PSXSPU_LOGGER::Log("SPU.read, Data Transfer Address = %04x\n", (uint16_t)(spuAddr >> 3));
535551
return (uint16_t)(spuAddr >> 3);
536552

537553
case H_SPUdata: {
@@ -541,13 +557,16 @@ uint16_t PCSX::SPU::impl::readRegister(uint32_t reg) {
541557
if (spuAddr > 0x7ffff) {
542558
spuAddr = 0;
543559
}
560+
PCSX::PSXSPU_LOGGER::Log("SPU.read, Data Transfer Fifo = %04x\n", s);
544561
return s;
545562
}
546563

547564
case H_SPUirqAddr:
565+
PCSX::PSXSPU_LOGGER::Log("SPU.read, Data Transfer Fifo = %04x\n", spuIrq);
548566
return spuIrq;
549567
}
550568

569+
PCSX::PSXSPU_LOGGER::Log("SPU.read, regArea[%03x] = %04x\n",r, regArea[(r - 0xc00) >> 1]);
551570
return regArea[(r - 0xc00) >> 1];
552571
}
553572

0 commit comments

Comments
 (0)