summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2017-09-17 07:22:59 +0200
committer angelosa <salese_corp_ltd@email.it>2017-09-17 07:22:59 +0200
commit093ae135572d78b5ec35671b86d1b1e52f61b17a (patch)
treee4468b1310bd585d18ce54070b05edd171145eae
parent669b8bee9872e057f1fe6bebd5c8e8da20965983 (diff)
saturn.cpp: fire a VDP1 irq when a sprite illegal opcode is encountered, fixes Sexy Parodius booting [Angelo Salese]
-rw-r--r--src/devices/video/stvvdp1.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/devices/video/stvvdp1.cpp b/src/devices/video/stvvdp1.cpp
index 7ee8d2e0723..97f9f260863 100644
--- a/src/devices/video/stvvdp1.cpp
+++ b/src/devices/video/stvvdp1.cpp
@@ -1987,8 +1987,10 @@ void saturn_state::stv_vdp1_process_list( void )
default:
popmessage ("VDP1: Sprite List Illegal %02x, contact MAMEdev",stv2_current_sprite.CMDCTRL & 0xf);
m_vdp1.lopr = (position * 0x20) >> 3;
- m_vdp1.copr = (position * 0x20) >> 3;
- return;
+ //m_vdp1.copr = (position * 0x20) >> 3;
+ // prematurely kill the VDP1 process if an illegal opcode is executed
+ // Sexy Parodius calls multiple illegals and expects VDP1 irq to be fired anyway!
+ goto end;
}
}