summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Roberto Zandona <robertoz@mamedev.org>2011-01-22 19:30:11 +0000
committer Roberto Zandona <robertoz@mamedev.org>2011-01-22 19:30:11 +0000
commitd5f2a3933bda17725ba90d22d973b926549388cf (patch)
tree238f1be50585722a3cede3419e2e3cff351c9a8b
parentebcfde1e9caec5dbf205b63463227a0f2d62cc2e (diff)
cb2001: reworked interrupt [Alex Jackson]
-rw-r--r--src/mame/drivers/cb2001.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index 0aac0ce9059..f3d643c3343 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -44,6 +44,7 @@ this seems more like 8-bit hardware, maybe it should be v25, not v35...
#include "cpu/nec/nec.h"
#include "sound/ay8910.h"
#include "machine/8255ppi.h"
+#include "deprecat.h"
#define xxxx 0x90 /* Unknown */
@@ -51,7 +52,7 @@ static const UINT8 cb2001_decryption_table[256] = {
0xe8,xxxx,xxxx,xxxx,0x80,0xe4,0x12,0x2f, 0x3c,xxxx,xxxx,0x23,xxxx,xxxx,xxxx,0x5f, /* 00 */
// ssss ---- **** pppp pppp ssss pppp pppp
0x86,xxxx,xxxx,0x27,0x1c,xxxx,xxxx,xxxx, 0x32,0x40,0xa0,0xd3,0x3a,0x14,0x89,0x1f, /* 10 */
-// wwww **** pppp pppp pppp pppp pppp ppp? pppp pppp ssss
+// rrrr **** pppp pppp pppp pppp pppp ppp? pppp pppp ssss
xxxx,0x8e,xxxx,0x0f,xxxx,0x49,0xb5,xxxx, 0x56,xxxx,xxxx,0x75,0x33,0xb6,xxxx,0x39, /* 20 */
// ssss ssss pppp pppp pppp ssss pppp pppp ****
0x89,xxxx,xxxx,xxxx,xxxx,0x22,0x5b,xxxx, xxxx,xxxx,0x74,xxxx,xxxx,0xa6,xxxx,0x74, /* 30 */
@@ -717,7 +718,10 @@ INPUT_PORTS_END
static INTERRUPT_GEN( vblank_irq )
{
- cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x60/4);
+ if (cpu_getiloops(device) == 0)
+ cpu_set_input_line(device, NEC_INPUT_LINE_INTP0, ASSERT_LINE);
+ else
+ cpu_set_input_line(device, NEC_INPUT_LINE_INTP0, CLEAR_LINE);
}
static const gfx_layout cb2001_layout =
@@ -813,7 +817,7 @@ static MACHINE_CONFIG_START( cb2001, driver_device )
MCFG_CPU_CONFIG(cb2001_config)
MCFG_CPU_PROGRAM_MAP(cb2001_map)
MCFG_CPU_IO_MAP(cb2001_io)
- MCFG_CPU_VBLANK_INT("screen", vblank_irq)
+ MCFG_CPU_VBLANK_INT_HACK(vblank_irq, 2)
MCFG_PPI8255_ADD( "ppi8255_0", cb2001_ppi8255_intf[0] )
MCFG_PPI8255_ADD( "ppi8255_1", cb2001_ppi8255_intf[1] )
@@ -872,3 +876,7 @@ GAME( 2001, scherrym, 0, cb2001, cb2001, 0, ROT0, "Dyna", "Super C
+
+
+
+