X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2F32x%2Fsh2soc.c;h=daa48da2dfdbbd77a809bb2d1a6bb68e2477ba87;hb=77e58d93fe3fd60f3b0adc4b7364713db714c904;hp=bdf349f27b16b54ca04df85503fee96eb14ddc83;hpb=f8675e282e7aa72bc6ab0edbb1dada4395d1c44c;p=picodrive.git diff --git a/pico/32x/sh2soc.c b/pico/32x/sh2soc.c index bdf349f..daa48da 100644 --- a/pico/32x/sh2soc.c +++ b/pico/32x/sh2soc.c @@ -150,6 +150,10 @@ static void dmac_trigger(SH2 *sh2, struct dma_chan *chan) return; } + // DREQ1 + if ((chan->dar & 0xc7fffff0) == 0x00004030) + return; + elprintf(EL_32XP|EL_ANOMALY, "unhandled DMA: " "%08x->%08x, cnt %d, chcr %04x @%06x", chan->sar, chan->dar, chan->tcr, chan->chcr, sh2->pc); @@ -497,8 +501,19 @@ void p32x_dreq1_trigger(void) hit = 1; } - if (!hit) - elprintf(EL_32XP|EL_ANOMALY, "dreq1: nobody cared"); + // debug +#if (EL_LOGMASK & (EL_32XP|EL_ANOMALY)) + { + static int miss_count; + if (!hit) { + if (++miss_count == 4) + elprintf(EL_32XP|EL_ANOMALY, "dreq1: nobody cared"); + } + else + miss_count = 0; + } +#endif + (void)hit; } // vim:shiftwidth=2:ts=2:expandtab