From 41029a5a4deff12bfbb1fa47074572cfa68104e6 Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Tue, 8 Apr 2014 10:16:12 +0000 Subject: [PATCH] nmk112: converted to use inline config. nw. --- src/mame/drivers/cave.c | 19 +++++-------- src/mame/drivers/nmk16.c | 22 ++++++++------- src/mame/drivers/powerins.c | 10 ++----- src/mame/drivers/quizpani.c | 10 ++----- src/mame/drivers/toaplan2.c | 19 ++++--------- src/mame/machine/nmk112.c | 55 ++++++++++++------------------------- src/mame/machine/nmk112.h | 28 +++++++++++-------- 7 files changed, 63 insertions(+), 100 deletions(-) diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c index 76db8daa395..e4108a58a00 100644 --- a/src/mame/drivers/cave.c +++ b/src/mame/drivers/cave.c @@ -2067,11 +2067,6 @@ MACHINE_CONFIG_END Donpachi ***************************************************************************/ -static const nmk112_interface donpachi_nmk112_intf = -{ - "oki1", "oki2", 1 << 0 // chip #0 (music) is not paged -}; - static MACHINE_CONFIG_START( donpachi, cave_state ) /* basic machine hardware */ @@ -2110,7 +2105,10 @@ static MACHINE_CONFIG_START( donpachi, cave_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) - MCFG_NMK112_ADD("nmk112", donpachi_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") + MCFG_NMK112_DISABLE_PAGEMASK(1 << 0) // chip #0 (music) is not paged MACHINE_CONFIG_END @@ -2578,11 +2576,6 @@ MACHINE_CONFIG_END /* X1 = 12 MHz, X2 = 28 MHz, X3 = 16 MHz. OKI: / 165 mode A ; / 132 mode B */ -static const nmk112_interface pwrinst2_nmk112_intf = -{ - "oki1", "oki2", 0 -}; - static MACHINE_CONFIG_START( pwrinst2, cave_state ) /* basic machine hardware */ @@ -2637,7 +2630,9 @@ static MACHINE_CONFIG_START( pwrinst2, cave_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) - MCFG_NMK112_ADD("nmk112", pwrinst2_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") MACHINE_CONFIG_END diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c index 57f09316d4d..98eb0837575 100644 --- a/src/mame/drivers/nmk16.c +++ b/src/mame/drivers/nmk16.c @@ -3626,12 +3626,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::manybloc_scanline) m_maincpu->set_input_line(2, HOLD_LINE); } - -static const nmk112_interface nmk16_nmk112_intf = -{ - "oki1", "oki2", 0 -}; - static MACHINE_CONFIG_START( tharrier, nmk16_state ) /* basic machine hardware */ @@ -4345,7 +4339,9 @@ static MACHINE_CONFIG_START( macross2, nmk16_state ) MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20) - MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") MACHINE_CONFIG_END static MACHINE_CONFIG_START( tdragon2, nmk16_state ) @@ -4390,7 +4386,9 @@ static MACHINE_CONFIG_START( tdragon2, nmk16_state ) MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.08) - MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") MACHINE_CONFIG_END static MACHINE_CONFIG_START( raphero, nmk16_state ) @@ -4437,7 +4435,9 @@ static MACHINE_CONFIG_START( raphero, nmk16_state ) MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.08) - MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") MACHINE_CONFIG_END static MACHINE_CONFIG_START( bjtwin, nmk16_state ) @@ -4473,7 +4473,9 @@ static MACHINE_CONFIG_START( bjtwin, nmk16_state ) MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20) - MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") MACHINE_CONFIG_END diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c index 30829008b4a..1cdf79c4274 100644 --- a/src/mame/drivers/powerins.c +++ b/src/mame/drivers/powerins.c @@ -328,12 +328,6 @@ static const ay8910_interface ay8910_config = DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, }; -static const nmk112_interface powerins_nmk112_intf = -{ - "oki1", "oki2", 0 -}; - - static MACHINE_CONFIG_START( powerins, powerins_state ) /* basic machine hardware */ @@ -374,7 +368,9 @@ static MACHINE_CONFIG_START( powerins, powerins_state ) MCFG_YM2203_AY8910_INTF(&ay8910_config) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0) - MCFG_NMK112_ADD("nmk112", powerins_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( powerina, powerins ) diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c index a4bc64ed776..a654b692579 100644 --- a/src/mame/drivers/quizpani.c +++ b/src/mame/drivers/quizpani.c @@ -187,12 +187,6 @@ static GFXDECODE_START( quizpani ) GFXDECODE_END -static const nmk112_interface quizpani_nmk112_intf = -{ - "oki", "oki", 0 -}; - - static MACHINE_CONFIG_START( quizpani, quizpani_state ) MCFG_CPU_ADD("maincpu", M68000, 10000000) MCFG_CPU_PROGRAM_MAP(quizpani_map) @@ -217,7 +211,9 @@ static MACHINE_CONFIG_START( quizpani, quizpani_state ) MCFG_OKIM6295_ADD("oki", 16000000/4, OKIM6295_PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_NMK112_ADD("nmk112", quizpani_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki") + MCFG_NMK112_ROM1("oki") MACHINE_CONFIG_END ROM_START( quizpani ) diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c index 70d132e2138..020dcb05aeb 100644 --- a/src/mame/drivers/toaplan2.c +++ b/src/mame/drivers/toaplan2.c @@ -3933,18 +3933,6 @@ static MACHINE_CONFIG_START( shippumd, toaplan2_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_CONFIG_END - -static const nmk112_interface bgaregga_nmk112_intf = -{ - "oki", NULL, 0 -}; - -static const nmk112_interface batrider_nmk112_intf = -{ - "oki1", "oki2", 0 -}; - - static MACHINE_CONFIG_START( bgaregga, toaplan2_state ) /* basic machine hardware */ @@ -3990,7 +3978,8 @@ static MACHINE_CONFIG_START( bgaregga, toaplan2_state ) MCFG_OKIM6295_ADD("oki", XTAL_32MHz/16, OKIM6295_PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_NMK112_ADD("nmk112", bgaregga_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki") MACHINE_CONFIG_END @@ -4049,7 +4038,9 @@ static MACHINE_CONFIG_START( batrider, toaplan2_state ) MCFG_OKIM6295_ADD("oki2", XTAL_32MHz/10, OKIM6295_PIN7_LOW) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_NMK112_ADD("nmk112", batrider_nmk112_intf) + MCFG_DEVICE_ADD("nmk112", NMK112, 0) + MCFG_NMK112_ROM0("oki1") + MCFG_NMK112_ROM1("oki2") MACHINE_CONFIG_END diff --git a/src/mame/machine/nmk112.c b/src/mame/machine/nmk112.c index 05187d82255..fcb0fbadd2f 100644 --- a/src/mame/machine/nmk112.c +++ b/src/mame/machine/nmk112.c @@ -18,17 +18,12 @@ const device_type NMK112 = &device_creator; nmk112_device::nmk112_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : device_t(mconfig, NMK112, "NMK 112", tag, owner, clock, "nmk112", __FILE__) -{ -} - -//------------------------------------------------- -// device_config_complete - perform any -// operations now that the configuration is -// complete -//------------------------------------------------- - -void nmk112_device::device_config_complete() + : device_t(mconfig, NMK112, "NMK 112", tag, owner, clock, "nmk112", __FILE__), + m_page_mask(0xff), + m_rom0(NULL), + m_rom1(NULL), + m_size0(0), + m_size1(0) { } @@ -38,34 +33,19 @@ void nmk112_device::device_config_complete() void nmk112_device::device_start() { - const nmk112_interface *intf = (const nmk112_interface *)static_config(); - - if (intf->rgn0 == NULL) - { - m_rom0 = NULL; - m_size0 = 0; - } - else - { - m_rom0 = machine().root_device().memregion(intf->rgn0)->base(); - m_size0 = machine().root_device().memregion(intf->rgn0)->bytes() - 0x40000; - } - - if (intf->rgn1 == NULL) - { - m_rom1 = NULL; - m_size1 = 0; - } - else - { - m_rom1 = machine().root_device().memregion(intf->rgn1)->base(); - m_size1 = machine().root_device().memregion(intf->rgn1)->bytes() - 0x40000; - } - - m_page_mask = ~intf->disable_page_mask; - save_item(NAME(m_current_bank)); machine().save().register_postload(save_prepost_delegate(FUNC(nmk112_device::postload_bankswitch), this)); + + if (m_tag0) + { + m_rom0 = machine().root_device().memregion(m_tag0)->base(); + m_size0 = machine().root_device().memregion(m_tag0)->bytes() - 0x40000; + } + if (m_tag1) + { + m_rom1 = machine().root_device().memregion(m_tag1)->base(); + m_size1 = machine().root_device().memregion(m_tag1)->bytes() - 0x40000; + } } //------------------------------------------------- @@ -81,7 +61,6 @@ void nmk112_device::device_reset() } } - void nmk112_device::do_bankswitch( int offset, int data ) { int chip = (offset & 4) >> 2; diff --git a/src/mame/machine/nmk112.h b/src/mame/machine/nmk112.h index 9660c196278..aa95e663556 100644 --- a/src/mame/machine/nmk112.h +++ b/src/mame/machine/nmk112.h @@ -11,25 +11,22 @@ TYPE DEFINITIONS ***************************************************************************/ -struct nmk112_interface -{ - const char *rgn0, *rgn1; - UINT8 disable_page_mask; -}; - -class nmk112_device : public device_t, - public nmk112_interface +class nmk112_device : public device_t { public: nmk112_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); ~nmk112_device() {} + // static configuration + static void set_rom0_tag(device_t &device, const char *tag) { downcast(device).m_tag0 = tag; } + static void set_rom1_tag(device_t &device, const char *tag) { downcast(device).m_tag1 = tag; } + static void set_page_mask(device_t &device, UINT8 mask) { downcast(device).m_page_mask = ~mask; } + DECLARE_WRITE8_MEMBER( okibank_w ); DECLARE_WRITE16_MEMBER( okibank_lsb_w ); protected: // device-level overrides - virtual void device_config_complete(); virtual void device_start(); virtual void device_reset(); @@ -44,6 +41,7 @@ private: UINT8 m_current_bank[8]; + const char *m_tag0, *m_tag1; UINT8 *m_rom0, *m_rom1; int m_size0, m_size1; }; @@ -55,8 +53,14 @@ extern const device_type NMK112; DEVICE CONFIGURATION MACROS ***************************************************************************/ -#define MCFG_NMK112_ADD(_tag, _interface) \ - MCFG_DEVICE_ADD(_tag, NMK112, 0) \ - MCFG_DEVICE_CONFIG(_interface) +#define MCFG_NMK112_ROM0(_tag) \ + nmk112_device::set_rom0_tag(*device, _tag); + +#define MCFG_NMK112_ROM1(_tag) \ + nmk112_device::set_rom1_tag(*device, _tag); + +#define MCFG_NMK112_DISABLE_PAGEMASK(_mask) \ + nmk112_device::set_page_mask(*device, _mask); + #endif /* __NMK112_H__ */