devcb write8 was in fact enough for rev.31113 (thanks AWJ for noticing). nw.

This commit is contained in:
Fabio Priuli 2014-06-26 07:48:10 +00:00
parent fe28eca130
commit 1fbb700b08
25 changed files with 77 additions and 81 deletions

View File

@ -85,7 +85,8 @@ const device_type KONAMI = &device_creator<konami_cpu_device>;
//------------------------------------------------- //-------------------------------------------------
konami_cpu_device::konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) konami_cpu_device::konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: m6809_base_device(mconfig, "KONAMI CPU", tag, owner, clock, KONAMI, 1, "konami_cpu", __FILE__) : m6809_base_device(mconfig, "KONAMI CPU", tag, owner, clock, KONAMI, 1, "konami_cpu", __FILE__),
m_set_lines(*this)
{ {
} }
@ -98,8 +99,8 @@ void konami_cpu_device::device_start()
{ {
super::device_start(); super::device_start();
// bind callbacks // resolve callbacks
m_set_lines.bind_relative_to(*owner()); m_set_lines.resolve();
} }
@ -347,7 +348,7 @@ ATTR_FORCE_INLINE void konami_cpu_device::divx()
void konami_cpu_device::set_lines(UINT8 data) void konami_cpu_device::set_lines(UINT8 data)
{ {
if (!m_set_lines.isnull()) if (!m_set_lines.isnull())
m_set_lines(data); m_set_lines((offs_t)0, data);
} }

View File

@ -18,11 +18,8 @@
// TYPE DEFINITIONS // TYPE DEFINITIONS
//************************************************************************** //**************************************************************************
typedef device_delegate<void (int lines)> konami_line_cb_delegate; #define MCFG_KONAMICPU_LINE_CB(_devcb) \
#define KONAMICPU_LINE_CB_MEMBER(_name) void _name(int lines) devcb = &konami_cpu_device::set_line_callback(*device, DEVCB_##_devcb);
#define MCFG_KONAMICPU_LINE_CB(_class, _method) \
konami_cpu_device::set_line_callback(*device, konami_line_cb_delegate(&_class::_method, #_class "::" #_method, downcast<_class *>(owner)));
// device type definition // device type definition
@ -37,7 +34,7 @@ public:
konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); konami_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// configuration // configuration
static void set_line_callback(device_t &device, konami_line_cb_delegate callback) { downcast<konami_cpu_device &>(device).m_set_lines = callback; } template<class _Object> static devcb_base &set_line_callback(device_t &device, _Object object) { return downcast<konami_cpu_device &>(device).m_set_lines.set_callback(object); }
protected: protected:
// device-level overrides // device-level overrides
@ -53,7 +50,7 @@ private:
typedef m6809_base_device super; typedef m6809_base_device super;
// incidentals // incidentals
konami_line_cb_delegate m_set_lines; devcb_write8 m_set_lines;
// konami-specific addressing modes // konami-specific addressing modes
UINT16 &ireg(); UINT16 &ireg();

View File

@ -251,25 +251,25 @@ INPUT_PORTS_END
* *
*************************************/ *************************************/
KONAMICPU_LINE_CB_MEMBER( _88games_state::banking_callback ) WRITE8_MEMBER( _88games_state::banking_callback )
{ {
logerror("%04x: bank select %02x\n", machine().device("maincpu")->safe_pc(), lines); logerror("%04x: bank select %02x\n", machine().device("maincpu")->safe_pc(), data);
/* bits 0-2 select ROM bank for 0000-1fff */ /* bits 0-2 select ROM bank for 0000-1fff */
/* bit 3: when 1, palette RAM at 1000-1fff */ /* bit 3: when 1, palette RAM at 1000-1fff */
/* bit 4: when 0, 051316 RAM at 3800-3fff; when 1, work RAM at 2000-3fff (NVRAM 3700-37ff) */ /* bit 4: when 0, 051316 RAM at 3800-3fff; when 1, work RAM at 2000-3fff (NVRAM 3700-37ff) */
int rombank = lines & 0x07; int rombank = data & 0x07;
m_bank0000->set_entry(rombank); m_bank0000->set_entry(rombank);
m_bank1000->set_entry((lines & 0x08) ? 8 : rombank); m_bank1000->set_entry((data & 0x08) ? 8 : rombank);
m_videobank = lines & 0x10; m_videobank = data & 0x10;
/* bit 5 = enable char ROM reading through the video RAM */ /* bit 5 = enable char ROM reading through the video RAM */
m_k052109->set_rmrd_line((lines & 0x20) ? ASSERT_LINE : CLEAR_LINE); m_k052109->set_rmrd_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
/* bit 6 is unknown, 1 most of the time */ /* bit 6 is unknown, 1 most of the time */
/* bit 7 controls layer priority */ /* bit 7 controls layer priority */
m_k88games_priority = lines & 0x80; m_k88games_priority = data & 0x80;
} }
void _88games_state::machine_start() void _88games_state::machine_start()
@ -308,7 +308,7 @@ static MACHINE_CONFIG_START( 88games, _88games_state )
MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */ MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */
MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", _88games_state, k88games_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", _88games_state, k88games_interrupt)
MCFG_KONAMICPU_LINE_CB(_88games_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(_88games_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, 3579545) MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PROGRAM_MAP(sound_map)

View File

@ -186,9 +186,9 @@ void aliens_state::machine_reset()
m_bank0000->set_bank(0); m_bank0000->set_bank(0);
} }
KONAMICPU_LINE_CB_MEMBER( aliens_state::banking_callback ) WRITE8_MEMBER( aliens_state::banking_callback )
{ {
membank("bank1")->set_entry(lines & 0x1f); membank("bank1")->set_entry(data & 0x1f);
} }
static MACHINE_CONFIG_START( aliens, aliens_state ) static MACHINE_CONFIG_START( aliens, aliens_state )
@ -197,7 +197,7 @@ static MACHINE_CONFIG_START( aliens, aliens_state )
MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */ MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */
MCFG_CPU_PROGRAM_MAP(aliens_map) MCFG_CPU_PROGRAM_MAP(aliens_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", aliens_state, aliens_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", aliens_state, aliens_interrupt)
MCFG_KONAMICPU_LINE_CB(aliens_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(aliens_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(aliens_sound_map) MCFG_CPU_PROGRAM_MAP(aliens_sound_map)

View File

@ -181,28 +181,28 @@ void blockhl_state::machine_reset()
m_rombank = 0; m_rombank = 0;
} }
KONAMICPU_LINE_CB_MEMBER( blockhl_state::banking_callback ) WRITE8_MEMBER( blockhl_state::banking_callback )
{ {
/* bits 0-1 = ROM bank */ /* bits 0-1 = ROM bank */
m_rombank = lines & 0x03; m_rombank = data & 0x03;
membank("bank1")->set_entry(m_rombank); membank("bank1")->set_entry(m_rombank);
/* bits 3/4 = coin counters */ /* bits 3/4 = coin counters */
coin_counter_w(machine(), 0, lines & 0x08); coin_counter_w(machine(), 0, data & 0x08);
coin_counter_w(machine(), 1, lines & 0x10); coin_counter_w(machine(), 1, data & 0x10);
/* bit 5 = select palette RAM or work RAM at 5800-5fff */ /* bit 5 = select palette RAM or work RAM at 5800-5fff */
m_palette_selected = ~lines & 0x20; m_palette_selected = ~data & 0x20;
/* bit 6 = enable char ROM reading through the video RAM */ /* bit 6 = enable char ROM reading through the video RAM */
m_k052109->set_rmrd_line((lines & 0x40) ? ASSERT_LINE : CLEAR_LINE); m_k052109->set_rmrd_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
/* bit 7 used but unknown */ /* bit 7 used but unknown */
/* other bits unknown */ /* other bits unknown */
if ((lines & 0x84) != 0x80) if ((data & 0x84) != 0x80)
logerror("%04x: setlines %02x\n", machine().device("maincpu")->safe_pc(), lines); logerror("%04x: setlines %02x\n", machine().device("maincpu")->safe_pc(), data);
} }
static MACHINE_CONFIG_START( blockhl, blockhl_state ) static MACHINE_CONFIG_START( blockhl, blockhl_state )
@ -211,7 +211,7 @@ static MACHINE_CONFIG_START( blockhl, blockhl_state )
MCFG_CPU_ADD("maincpu", KONAMI,3000000) /* Konami custom 052526 */ MCFG_CPU_ADD("maincpu", KONAMI,3000000) /* Konami custom 052526 */
MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", blockhl_state, blockhl_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", blockhl_state, blockhl_interrupt)
MCFG_KONAMICPU_LINE_CB(blockhl_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(blockhl_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, 3579545) MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(audio_map) MCFG_CPU_PROGRAM_MAP(audio_map)

View File

@ -230,10 +230,10 @@ void crimfght_state::machine_start()
membank("bank2")->set_entry(0); membank("bank2")->set_entry(0);
} }
KONAMICPU_LINE_CB_MEMBER( crimfght_state::banking_callback ) WRITE8_MEMBER( crimfght_state::banking_callback )
{ {
/* bit 5 = select work RAM or palette */ /* bit 5 = select work RAM or palette */
if (lines & 0x20) if (data & 0x20)
{ {
m_maincpu->space(AS_PROGRAM).install_read_bank(0x0000, 0x03ff, "bank3"); m_maincpu->space(AS_PROGRAM).install_read_bank(0x0000, 0x03ff, "bank3");
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0000, 0x03ff, write8_delegate(FUNC(palette_device::write), m_palette.target())); m_maincpu->space(AS_PROGRAM).install_write_handler(0x0000, 0x03ff, write8_delegate(FUNC(palette_device::write), m_palette.target()));
@ -243,9 +243,9 @@ KONAMICPU_LINE_CB_MEMBER( crimfght_state::banking_callback )
m_maincpu->space(AS_PROGRAM).install_readwrite_bank(0x0000, 0x03ff, "bank1"); /* RAM */ m_maincpu->space(AS_PROGRAM).install_readwrite_bank(0x0000, 0x03ff, "bank1"); /* RAM */
/* bit 6 = enable char ROM reading through the video RAM */ /* bit 6 = enable char ROM reading through the video RAM */
m_k052109->set_rmrd_line((lines & 0x40) ? ASSERT_LINE : CLEAR_LINE); m_k052109->set_rmrd_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
membank("bank2")->set_entry(lines & 0x0f); membank("bank2")->set_entry(data & 0x0f);
} }
static MACHINE_CONFIG_START( crimfght, crimfght_state ) static MACHINE_CONFIG_START( crimfght, crimfght_state )
@ -254,7 +254,7 @@ static MACHINE_CONFIG_START( crimfght, crimfght_state )
MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */ MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */
MCFG_CPU_PROGRAM_MAP(crimfght_map) MCFG_CPU_PROGRAM_MAP(crimfght_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", crimfght_state, crimfght_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", crimfght_state, crimfght_interrupt)
MCFG_KONAMICPU_LINE_CB(crimfght_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(crimfght_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(crimfght_sound_map) MCFG_CPU_PROGRAM_MAP(crimfght_sound_map)

View File

@ -258,15 +258,15 @@ void gbusters_state::machine_reset()
m_priority = 0; m_priority = 0;
} }
KONAMICPU_LINE_CB_MEMBER( gbusters_state::banking_callback ) WRITE8_MEMBER( gbusters_state::banking_callback )
{ {
/* bits 0-3 ROM bank */ /* bits 0-3 ROM bank */
membank("bank1")->set_entry(lines & 0x0f); membank("bank1")->set_entry(data & 0x0f);
if (lines & 0xf0) if (data & 0xf0)
{ {
//logerror("%04x: (lines) write %02x\n",device->safe_pc(), lines); //logerror("%04x: (lines) write %02x\n",device->safe_pc(), data);
//popmessage("lines = %02x", lines); //popmessage("lines = %02x", data);
} }
/* other bits unknown */ /* other bits unknown */
@ -278,7 +278,7 @@ static MACHINE_CONFIG_START( gbusters, gbusters_state )
MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* Konami custom 052526 */ MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* Konami custom 052526 */
MCFG_CPU_PROGRAM_MAP(gbusters_map) MCFG_CPU_PROGRAM_MAP(gbusters_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", gbusters_state, gbusters_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", gbusters_state, gbusters_interrupt)
MCFG_KONAMICPU_LINE_CB(gbusters_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(gbusters_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */ MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */
MCFG_CPU_PROGRAM_MAP(gbusters_sound_map) MCFG_CPU_PROGRAM_MAP(gbusters_sound_map)

View File

@ -217,12 +217,12 @@ void parodius_state::machine_reset()
m_bank2000->set_bank(0); m_bank2000->set_bank(0);
} }
KONAMICPU_LINE_CB_MEMBER( parodius_state::banking_callback ) WRITE8_MEMBER( parodius_state::banking_callback )
{ {
if (lines & 0xf0) if (data & 0xf0)
logerror("%04x: setlines %02x\n", machine().device("maincpu")->safe_pc(), lines); logerror("%04x: setlines %02x\n", machine().device("maincpu")->safe_pc(), data);
membank("bank1")->set_entry((lines & 0x0f) ^ 0x0f); membank("bank1")->set_entry((data & 0x0f) ^ 0x0f);
} }
static MACHINE_CONFIG_START( parodius, parodius_state ) static MACHINE_CONFIG_START( parodius, parodius_state )
@ -231,11 +231,10 @@ static MACHINE_CONFIG_START( parodius, parodius_state )
MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* 053248 */ MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* 053248 */
MCFG_CPU_PROGRAM_MAP(parodius_map) MCFG_CPU_PROGRAM_MAP(parodius_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", parodius_state, parodius_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", parodius_state, parodius_interrupt)
MCFG_KONAMICPU_LINE_CB(parodius_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(parodius_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, 3579545) MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(parodius_sound_map) MCFG_CPU_PROGRAM_MAP(parodius_sound_map) /* NMIs are triggered by the 053260 */
/* NMIs are triggered by the 053260 */
MCFG_DEVICE_ADD("bank0000", ADDRESS_MAP_BANK, 0) MCFG_DEVICE_ADD("bank0000", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(bank0000_map) MCFG_DEVICE_PROGRAM_MAP(bank0000_map)

View File

@ -235,9 +235,9 @@ void rollerg_state::machine_reset()
m_readzoomroms = 0; m_readzoomroms = 0;
} }
KONAMICPU_LINE_CB_MEMBER( rollerg_state::banking_callback ) WRITE8_MEMBER( rollerg_state::banking_callback )
{ {
membank("bank1")->set_entry(lines & 0x07); membank("bank1")->set_entry(data & 0x07);
} }
@ -247,11 +247,10 @@ static MACHINE_CONFIG_START( rollerg, rollerg_state )
MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */ MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */
MCFG_CPU_PROGRAM_MAP(rollerg_map) MCFG_CPU_PROGRAM_MAP(rollerg_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", rollerg_state, irq0_line_assert) MCFG_CPU_VBLANK_INT_DRIVER("screen", rollerg_state, irq0_line_assert)
MCFG_KONAMICPU_LINE_CB(rollerg_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(rollerg_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, 3579545) MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(rollerg_sound_map) MCFG_CPU_PROGRAM_MAP(rollerg_sound_map) /* NMIs are generated by the 053260 */
/* NMIs are generated by the 053260 */
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)

View File

@ -327,7 +327,7 @@ static MACHINE_CONFIG_START( simpsons, simpsons_state )
MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* 053248, the clock input is 12MHz, and internal CPU divider of 4 */ MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* 053248, the clock input is 12MHz, and internal CPU divider of 4 */
MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", simpsons_state, simpsons_irq) /* IRQ triggered by the 052109, FIRQ by the sprite hardware */ MCFG_CPU_VBLANK_INT_DRIVER("screen", simpsons_state, simpsons_irq) /* IRQ triggered by the 052109, FIRQ by the sprite hardware */
MCFG_KONAMICPU_LINE_CB(simpsons_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(simpsons_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(z80_map) MCFG_CPU_PROGRAM_MAP(z80_map)

View File

@ -154,10 +154,10 @@ void surpratk_state::machine_reset()
m_sprite_colorbase = 0; m_sprite_colorbase = 0;
} }
KONAMICPU_LINE_CB_MEMBER( surpratk_state::banking_callback ) WRITE8_MEMBER( surpratk_state::banking_callback )
{ {
// logerror("%04x: setlines %02x\n", machine().device("maincpu")->safe_pc(), lines); // logerror("%04x: setlines %02x\n", machine().device("maincpu")->safe_pc(), data);
membank("bank1")->set_entry(lines & 0x1f); membank("bank1")->set_entry(data & 0x1f);
} }
static MACHINE_CONFIG_START( surpratk, surpratk_state ) static MACHINE_CONFIG_START( surpratk, surpratk_state )
@ -166,7 +166,7 @@ static MACHINE_CONFIG_START( surpratk, surpratk_state )
MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* 053248, the clock input is 12MHz, and internal CPU divider of 4 */ MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* 053248, the clock input is 12MHz, and internal CPU divider of 4 */
MCFG_CPU_PROGRAM_MAP(surpratk_map) MCFG_CPU_PROGRAM_MAP(surpratk_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", surpratk_state, surpratk_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", surpratk_state, surpratk_interrupt)
MCFG_KONAMICPU_LINE_CB(surpratk_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(surpratk_state, banking_callback))
MCFG_DEVICE_ADD("bank0000", ADDRESS_MAP_BANK, 0) MCFG_DEVICE_ADD("bank0000", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(bank0000_map) MCFG_DEVICE_PROGRAM_MAP(bank0000_map)

View File

@ -659,10 +659,10 @@ static MACHINE_CONFIG_START( scontra, thunderx_state )
MACHINE_CONFIG_END MACHINE_CONFIG_END
KONAMICPU_LINE_CB_MEMBER( thunderx_state::thunderx_banking_callback ) WRITE8_MEMBER( thunderx_state::thunderx_banking_callback )
{ {
//logerror("thunderx %04x: bank select %02x\n", machine().device("maincpu")->safe_pc(), lines); //logerror("thunderx %04x: bank select %02x\n", machine().device("maincpu")->safe_pc(), data);
membank("bank1")->set_entry(((lines & 0x0f) ^ 0x08)); membank("bank1")->set_entry(((data & 0x0f) ^ 0x08));
} }
static MACHINE_CONFIG_START( thunderx, thunderx_state ) static MACHINE_CONFIG_START( thunderx, thunderx_state )
@ -671,7 +671,7 @@ static MACHINE_CONFIG_START( thunderx, thunderx_state )
MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* 052001 (verified on pcb) */ MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* 052001 (verified on pcb) */
MCFG_CPU_PROGRAM_MAP(thunderx_map) MCFG_CPU_PROGRAM_MAP(thunderx_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", thunderx_state, scontra_interrupt) MCFG_CPU_VBLANK_INT_DRIVER("screen", thunderx_state, scontra_interrupt)
MCFG_KONAMICPU_LINE_CB(thunderx_state, thunderx_banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(thunderx_state, thunderx_banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(thunderx_sound_map) MCFG_CPU_PROGRAM_MAP(thunderx_sound_map)

View File

@ -445,12 +445,12 @@ void vendetta_state::machine_reset()
vendetta_video_banking(0); vendetta_video_banking(0);
} }
KONAMICPU_LINE_CB_MEMBER( vendetta_state::banking_callback ) WRITE8_MEMBER( vendetta_state::banking_callback )
{ {
if (lines >= 0x1c) if (data >= 0x1c)
logerror("PC = %04x : Unknown bank selected %02x\n", machine().device("maincpu")->safe_pc(), lines); logerror("PC = %04x : Unknown bank selected %02x\n", machine().device("maincpu")->safe_pc(), data);
else else
membank("bank1")->set_entry(lines); membank("bank1")->set_entry(data);
} }
static MACHINE_CONFIG_START( vendetta, vendetta_state ) static MACHINE_CONFIG_START( vendetta, vendetta_state )
@ -459,7 +459,7 @@ static MACHINE_CONFIG_START( vendetta, vendetta_state )
MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */ MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */
MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", vendetta_state, vendetta_irq) MCFG_CPU_VBLANK_INT_DRIVER("screen", vendetta_state, vendetta_irq)
MCFG_KONAMICPU_LINE_CB(vendetta_state, banking_callback) MCFG_KONAMICPU_LINE_CB(WRITE8(vendetta_state, banking_callback))
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified with PCB */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified with PCB */
MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PROGRAM_MAP(sound_map)

View File

@ -65,5 +65,5 @@ public:
K051316_CB_MEMBER(zoom_callback); K051316_CB_MEMBER(zoom_callback);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
K051960_CB_MEMBER(sprite_callback); K051960_CB_MEMBER(sprite_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
}; };

View File

@ -46,5 +46,5 @@ public:
DECLARE_WRITE8_MEMBER(volume_callback); DECLARE_WRITE8_MEMBER(volume_callback);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
K051960_CB_MEMBER(sprite_callback); K051960_CB_MEMBER(sprite_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
}; };

View File

@ -50,5 +50,5 @@ public:
INTERRUPT_GEN_MEMBER(blockhl_interrupt); INTERRUPT_GEN_MEMBER(blockhl_interrupt);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
K051960_CB_MEMBER(sprite_callback); K051960_CB_MEMBER(sprite_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
}; };

View File

@ -48,5 +48,5 @@ public:
DECLARE_WRITE8_MEMBER(volume_callback); DECLARE_WRITE8_MEMBER(volume_callback);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
K051960_CB_MEMBER(sprite_callback); K051960_CB_MEMBER(sprite_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
}; };

View File

@ -58,5 +58,5 @@ public:
DECLARE_WRITE8_MEMBER(volume_callback); DECLARE_WRITE8_MEMBER(volume_callback);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
K051960_CB_MEMBER(sprite_callback); K051960_CB_MEMBER(sprite_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
}; };

View File

@ -58,7 +58,7 @@ public:
INTERRUPT_GEN_MEMBER(parodius_interrupt); INTERRUPT_GEN_MEMBER(parodius_interrupt);
K05324X_CB_MEMBER(sprite_callback); K05324X_CB_MEMBER(sprite_callback);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
protected: protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);

View File

@ -57,7 +57,7 @@ public:
UINT32 screen_update_rollerg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update_rollerg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
K05324X_CB_MEMBER(sprite_callback); K05324X_CB_MEMBER(sprite_callback);
K051316_CB_MEMBER(zoom_callback); K051316_CB_MEMBER(zoom_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
protected: protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);

View File

@ -66,7 +66,7 @@ public:
void sound_nmi_callback(int param); void sound_nmi_callback(int param);
void simpsons_objdma(); void simpsons_objdma();
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
protected: protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);

View File

@ -44,5 +44,5 @@ public:
K05324X_CB_MEMBER(sprite_callback); K05324X_CB_MEMBER(sprite_callback);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
}; };

View File

@ -74,7 +74,7 @@ public:
DECLARE_WRITE8_MEMBER(volume_callback); DECLARE_WRITE8_MEMBER(volume_callback);
K052109_CB_MEMBER(tile_callback); K052109_CB_MEMBER(tile_callback);
K051960_CB_MEMBER(sprite_callback); K051960_CB_MEMBER(sprite_callback);
KONAMICPU_LINE_CB_MEMBER(thunderx_banking_callback); DECLARE_WRITE8_MEMBER(thunderx_banking_callback);
protected: protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);

View File

@ -71,7 +71,7 @@ public:
void vendetta_video_banking( int select ); void vendetta_video_banking( int select );
K052109_CB_MEMBER(vendetta_tile_callback); K052109_CB_MEMBER(vendetta_tile_callback);
K052109_CB_MEMBER(esckids_tile_callback); K052109_CB_MEMBER(esckids_tile_callback);
KONAMICPU_LINE_CB_MEMBER(banking_callback); DECLARE_WRITE8_MEMBER(banking_callback);
protected: protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);

View File

@ -60,9 +60,9 @@ READ8_MEMBER(simpsons_state::simpsons_sound_r)
***************************************************************************/ ***************************************************************************/
KONAMICPU_LINE_CB_MEMBER( simpsons_state::banking_callback ) WRITE8_MEMBER( simpsons_state::banking_callback )
{ {
membank("bank1")->set_entry(lines & 0x3f); membank("bank1")->set_entry(data & 0x3f);
} }
void simpsons_state::machine_start() void simpsons_state::machine_start()