X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2Fcarthw%2Fsvp%2Fsvp.c;h=a196fa1c1a48218852ee9d007d4e3cc140e0ee06;hb=50483b5330e31812fc75f397ae639f6ab03f7978;hp=bc7cddbd52b13e0cccd043cff9eeb161b462ac89;hpb=0ffefdb8bd172c258497ce0cd14d1f2ea1358f69;p=picodrive.git diff --git a/Pico/carthw/svp/svp.c b/Pico/carthw/svp/svp.c index bc7cddb..a196fa1 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;