notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
svp compiler: jump fixup
[picodrive.git]
/
Pico
/
VideoPort.c
diff --git
a/Pico/VideoPort.c
b/Pico/VideoPort.c
index
59a57b2
..
cceab7c
100644
(file)
--- a/
Pico/VideoPort.c
+++ b/
Pico/VideoPort.c
@@
-134,11
+134,12
@@
static void DmaSlow(int len)
return;
\r
}
\r
} else {
\r
return;
\r
}
\r
} else {
\r
- if (source<Pico.romsize) { // Rom
\r
+ // if we have DmaHook, let it handle ROM because of possible DMA delay
\r
+ if (PicoDmaHook && PicoDmaHook(source, len, &pd, &pdend));
\r
+ else if (source<Pico.romsize) { // Rom
\r
pd=(u16 *)(Pico.rom+(source&~1));
\r
pdend=(u16 *)(Pico.rom+Pico.romsize);
\r
}
\r
pd=(u16 *)(Pico.rom+(source&~1));
\r
pdend=(u16 *)(Pico.rom+Pico.romsize);
\r
}
\r
- else if (PicoDmaHook && PicoDmaHook(source, len, &pd, &pdend));
\r
else {
\r
elprintf(EL_VDPDMA|EL_ANOMALY, "DmaSlow[%i] %06x->%04x: invalid src", Pico.video.type, source, a);
\r
return;
\r
else {
\r
elprintf(EL_VDPDMA|EL_ANOMALY, "DmaSlow[%i] %06x->%04x: invalid src", Pico.video.type, source, a);
\r
return;
\r
@@
-398,7
+399,7
@@
PICO_INTERNAL_ASM void PicoVideoWrite(unsigned int a,unsigned short d)
else if(pints & 0x10) irq = 4;
\r
SekInterrupt(irq); // update line
\r
\r
else if(pints & 0x10) irq = 4;
\r
SekInterrupt(irq); // update line
\r
\r
- if (irq) SekEndRun(24); // make it delayed
\r
+ if (irq
&& Pico.m.scanline!=-1
) SekEndRun(24); // make it delayed
\r
}
\r
}
\r
#endif
\r
}
\r
}
\r
#endif
\r