mirror of
https://github.com/holub/mame
synced 2025-04-25 09:50:04 +03:00
nmk112: converted to use inline config. nw.
This commit is contained in:
parent
3d7311706d
commit
41029a5a4d
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -18,17 +18,12 @@
|
||||
const device_type NMK112 = &device_creator<nmk112_device>;
|
||||
|
||||
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;
|
||||
|
@ -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<nmk112_device &>(device).m_tag0 = tag; }
|
||||
static void set_rom1_tag(device_t &device, const char *tag) { downcast<nmk112_device &>(device).m_tag1 = tag; }
|
||||
static void set_page_mask(device_t &device, UINT8 mask) { downcast<nmk112_device &>(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__ */
|
||||
|
Loading…
Reference in New Issue
Block a user