From: notaz Date: Sat, 26 Jan 2008 15:49:24 +0000 (+0000) Subject: fixed the arrow problem in VR X-Git-Tag: v1.85~593 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50483b5330e31812fc75f397ae639f6ab03f7978;hp=0ffefdb8bd172c258497ce0cd14d1f2ea1358f69;p=picodrive.git fixed the arrow problem in VR git-svn-id: file:///home/notaz/opt/svn/PicoDrive@331 be3aeb3a-fb24-0410-a615-afba39da0efa --- diff --git a/Pico/VideoPort.c b/Pico/VideoPort.c index 59a57b2a..c448873f 100644 --- a/Pico/VideoPort.c +++ b/Pico/VideoPort.c @@ -134,11 +134,12 @@ static void DmaSlow(int len) return; } } else { - if (source%04x: invalid src", Pico.video.type, source, a); return; diff --git a/Pico/carthw/svp/svp.c b/Pico/carthw/svp/svp.c index bc7cddbd..a196fa1c 100644 --- a/Pico/carthw/svp/svp.c +++ b/Pico/carthw/svp/svp.c @@ -26,7 +26,13 @@ static void PicoSVPLine(int count) static int PicoSVPDma(unsigned int source, int len, unsigned short **srcp, unsigned short **limitp) { - if ((source & 0xfe0000) == 0x300000) + if (source < Pico.romsize) { // Rom + source -= 2; + *srcp = (unsigned short *)(Pico.rom + (source&~1)); + *limitp = (unsigned short *)(Pico.rom + Pico.romsize); + return 1; + } + else if ((source & 0xfe0000) == 0x300000) { elprintf(EL_VDPDMA|EL_SVP, "SVP DmaSlow from %06x, len=%i", source, len); source &= 0x1fffe;