mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
AICA: EFREG is mapped every other word, not every word. Fixes memory trashing in all Naomi/DC/AW games. [O. Galibert, R. Belmont]
This commit is contained in:
parent
6ecea67cfa
commit
1bf2b1bde7
@ -1067,7 +1067,7 @@ static void AICA_w16(aica_state *AICA,address_space &space,unsigned int addr,uns
|
||||
AICA->DSP.MIXS[(addr >> 3) & 0xf] = (AICA->DSP.MIXS[(addr >> 3) & 0xf] & 0xffff) | (val << 16);
|
||||
}
|
||||
else if(addr<0x45c0)
|
||||
*((unsigned short *) (AICA->DSP.EFREG+(addr-0x4580)/2))=val;
|
||||
*((unsigned short *) (AICA->DSP.EFREG+(addr-0x4580)/4))=val;
|
||||
else if(addr<0x45c8)
|
||||
*((unsigned short *) (AICA->DSP.EXTS+(addr-0x45c0)/2))=val;
|
||||
}
|
||||
@ -1141,7 +1141,7 @@ static unsigned short AICA_r16(aica_state *AICA, address_space &space, unsigned
|
||||
v= AICA->DSP.MIXS[(addr >> 3) & 0xf] >> 16;
|
||||
}
|
||||
else if(addr<0x45c0)
|
||||
v = *((unsigned short *) (AICA->DSP.EFREG+(addr-0x4580)/2));
|
||||
v = *((unsigned short *) (AICA->DSP.EFREG+(addr-0x4580)/4));
|
||||
else if(addr<0x45c8)
|
||||
v = *((unsigned short *) (AICA->DSP.EXTS+(addr-0x45c0)/2));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user