mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
fixed the arrow problem in VR
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@331 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
0ffefdb8bd
commit
50483b5330
2 changed files with 10 additions and 3 deletions
|
@ -134,11 +134,12 @@ static void DmaSlow(int len)
|
|||
return;
|
||||
}
|
||||
} else {
|
||||
if (source<Pico.romsize) { // Rom
|
||||
// if we have DmaHook, let it handle ROM because of possible DMA delay
|
||||
if (PicoDmaHook && PicoDmaHook(source, len, &pd, &pdend));
|
||||
else if (source<Pico.romsize) { // Rom
|
||||
pd=(u16 *)(Pico.rom+(source&~1));
|
||||
pdend=(u16 *)(Pico.rom+Pico.romsize);
|
||||
}
|
||||
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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue