diff options
| author | 2010-04-15 17:31:37 +0000 | |
|---|---|---|
| committer | 2010-04-15 17:31:37 +0000 | |
| commit | 589ca2c2a4bc28eabc852f985235f07092bbce87 (patch) | |
| tree | 9088b0655a38b94e927e6e75e958143b629c9824 /src | |
| parent | 3ef886a2d64b370e59d4fe2ad8fde75d605d2744 (diff) | |
Fixed ext latch behaviour in the SNES driver [Angelo Salese]
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/video/snes.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mame/video/snes.c b/src/mame/video/snes.c index 31dead87391..01bfb90d4f7 100644 --- a/src/mame/video/snes.c +++ b/src/mame/video/snes.c @@ -2226,11 +2226,10 @@ READ8_HANDLER( snes_ppu_read ) case STAT78: /* PPU status flag and version number */ state->read_ophct = 0; state->read_opvct = 0; - value = snes_ram[offset]; - value |= (snes_ppu.ppu2_open_bus & 0x20); - value |= (snes_ppu.ppu2_version & 0x0f); - snes_ram[offset] = value; // not sure if this is needed... - snes_ppu.ppu2_open_bus = value; + if(snes_ram[WRIO] & 0x80) + snes_ram[STAT78] &= ~0x40; //clear ext latch if bit 7 of WRIO is set + snes_ram[STAT78] = (snes_ram[STAT78] & ~0x2f) | (snes_ppu.ppu2_open_bus & 0x20) | (snes_ppu.ppu2_version & 0x0f); + snes_ppu.ppu2_open_bus = snes_ram[STAT78]; return snes_ppu.ppu2_open_bus; } |
