X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2FVideoPort.c;h=62f487a762f3ac6dbc9c65d292d34ae0388019be;hb=d26dc685a40a0ee8db48d3375b2f59ad515af8eb;hp=10656184aca771d28ee900abc3e6fd5cd223f317;hpb=f8ef8ff7100baa0ac0ecfcacb47aea3a9e24bc38;p=picodrive.git diff --git a/Pico/VideoPort.c b/Pico/VideoPort.c index 1065618..62f487a 100644 --- a/Pico/VideoPort.c +++ b/Pico/VideoPort.c @@ -22,7 +22,7 @@ typedef unsigned int u32; #define UTYPES_DEFINED #endif -int (*PicoDmaHook)(unsigned int source, unsigned short **srcp, unsigned short **limitp) = NULL; +int (*PicoDmaHook)(unsigned int source, int len, unsigned short **srcp, unsigned short **limitp) = NULL; static __inline void AutoIncrement(void) { @@ -41,7 +41,7 @@ static void VideoWrite(u16 d) case 3: Pico.m.dirtyPal = 1; Pico.cram [(a>>1)&0x003f]=d; break; // wraps (Desert Strike) case 5: Pico.vsram[(a>>1)&0x003f]=d; break; - default:elprintf(EL_ANOMALY, "VDP write %04x with bad type %i", d, Pico.video.type); break; + //default:elprintf(EL_ANOMALY, "VDP write %04x with bad type %i", d, Pico.video.type); break; } //dprintf("w[%i] @ %04x, inc=%i [%i|%i]", Pico.video.type, a, Pico.video.reg[0xf], Pico.m.scanline, SekCyclesDone()); @@ -138,7 +138,7 @@ static void DmaSlow(int len) pd=(u16 *)(Pico.rom+(source&~1)); pdend=(u16 *)(Pico.rom+Pico.romsize); } - else if (PicoDmaHook && PicoDmaHook(source, &pd, &pdend)); + else if (PicoDmaHook && PicoDmaHook(source, len, &pd, &pdend)); else { elprintf(EL_VDPDMA|EL_ANOMALY, "DmaSlow[%i] %06x->%04x: invalid src", Pico.video.type, source, a); return;