games/snes: minor oam bugs
This commit is contained in:
parent
52cb2d472b
commit
26777f4cef
2 changed files with 3 additions and 2 deletions
|
@ -231,7 +231,7 @@ regwrite(u16int p, u8int v)
|
||||||
oamaddr = (reg[0x2103] & 1) << 9 | v << 1;
|
oamaddr = (reg[0x2103] & 1) << 9 | v << 1;
|
||||||
break;
|
break;
|
||||||
case 0x2103:
|
case 0x2103:
|
||||||
oamaddr = (v & 1) << 9 | reg[0x2102];
|
oamaddr = (v & 1) << 9 | reg[0x2102] << 1;
|
||||||
break;
|
break;
|
||||||
case 0x2104:
|
case 0x2104:
|
||||||
if((oamaddr & 1) == 0)
|
if((oamaddr & 1) == 0)
|
||||||
|
|
|
@ -877,7 +877,8 @@ ppustep(void)
|
||||||
reg[RDNMI] |= VBLANK;
|
reg[RDNMI] |= VBLANK;
|
||||||
if((reg[NMITIMEN] & VBLANK) != 0)
|
if((reg[NMITIMEN] & VBLANK) != 0)
|
||||||
nmi = 2;
|
nmi = 2;
|
||||||
oamaddr = reg[0x2102] << 1 | (reg[0x2103] & 1) << 9;
|
if((reg[INIDISP] & 0x80) == 0)
|
||||||
|
oamaddr = reg[0x2102] << 1 | (reg[0x2103] & 1) << 9;
|
||||||
if((reg[NMITIMEN] & AUTOJOY) != 0){
|
if((reg[NMITIMEN] & AUTOJOY) != 0){
|
||||||
memwrite(0x4016, 1);
|
memwrite(0x4016, 1);
|
||||||
memwrite(0x4016, 0);
|
memwrite(0x4016, 0);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue