Previous 199869 Revisions Next

r29440 Tuesday 8th April, 2014 at 10:16:12 UTC by Fabio Priuli
nmk112: converted to use inline config. nw.
[src/mame/drivers]cave.c nmk16.c powerins.c quizpani.c toaplan2.c
[src/mame/machine]nmk112.c nmk112.h

trunk/src/mame/drivers/cave.c
r29439r29440
20672067                                    Donpachi
20682068***************************************************************************/
20692069
2070static const nmk112_interface donpachi_nmk112_intf =
2071{
2072   "oki1", "oki2", 1 << 0  // chip #0 (music) is not paged
2073};
2074
20752070static MACHINE_CONFIG_START( donpachi, cave_state )
20762071
20772072   /* basic machine hardware */
r29439r29440
21102105   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
21112106   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
21122107
2113   MCFG_NMK112_ADD("nmk112", donpachi_nmk112_intf)
2108   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
2109   MCFG_NMK112_ROM0("oki1")
2110   MCFG_NMK112_ROM1("oki2")
2111   MCFG_NMK112_DISABLE_PAGEMASK(1 << 0)   // chip #0 (music) is not paged
21142112MACHINE_CONFIG_END
21152113
21162114
r29439r29440
25782576
25792577/*  X1 = 12 MHz, X2 = 28 MHz, X3 = 16 MHz. OKI: / 165 mode A ; / 132 mode B */
25802578
2581static const nmk112_interface pwrinst2_nmk112_intf =
2582{
2583   "oki1", "oki2", 0
2584};
2585
25862579static MACHINE_CONFIG_START( pwrinst2, cave_state )
25872580
25882581   /* basic machine hardware */
r29439r29440
26372630   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
26382631   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
26392632
2640   MCFG_NMK112_ADD("nmk112", pwrinst2_nmk112_intf)
2633   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
2634   MCFG_NMK112_ROM0("oki1")
2635   MCFG_NMK112_ROM1("oki2")
26412636MACHINE_CONFIG_END
26422637
26432638
trunk/src/mame/drivers/quizpani.c
r29439r29440
187187GFXDECODE_END
188188
189189
190static const nmk112_interface quizpani_nmk112_intf =
191{
192   "oki", "oki", 0
193};
194
195
196190static MACHINE_CONFIG_START( quizpani, quizpani_state )
197191   MCFG_CPU_ADD("maincpu", M68000, 10000000)
198192   MCFG_CPU_PROGRAM_MAP(quizpani_map)
r29439r29440
217211   MCFG_OKIM6295_ADD("oki", 16000000/4, OKIM6295_PIN7_LOW)
218212   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
219213
220   MCFG_NMK112_ADD("nmk112", quizpani_nmk112_intf)
214   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
215   MCFG_NMK112_ROM0("oki")
216   MCFG_NMK112_ROM1("oki")
221217MACHINE_CONFIG_END
222218
223219ROM_START( quizpani )
trunk/src/mame/drivers/powerins.c
r29439r29440
328328   DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL,
329329};
330330
331static const nmk112_interface powerins_nmk112_intf =
332{
333   "oki1", "oki2", 0
334};
335
336
337331static MACHINE_CONFIG_START( powerins, powerins_state )
338332
339333   /* basic machine hardware */
r29439r29440
374368   MCFG_YM2203_AY8910_INTF(&ay8910_config)
375369   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
376370
377   MCFG_NMK112_ADD("nmk112", powerins_nmk112_intf)
371   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
372   MCFG_NMK112_ROM0("oki1")
373   MCFG_NMK112_ROM1("oki2")
378374MACHINE_CONFIG_END
379375
380376static MACHINE_CONFIG_DERIVED( powerina, powerins )
trunk/src/mame/drivers/nmk16.c
r29439r29440
36263626      m_maincpu->set_input_line(2, HOLD_LINE);
36273627}
36283628
3629
3630static const nmk112_interface nmk16_nmk112_intf =
3631{
3632   "oki1", "oki2", 0
3633};
3634
36353629static MACHINE_CONFIG_START( tharrier, nmk16_state )
36363630
36373631   /* basic machine hardware */
r29439r29440
43454339   MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
43464340   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
43474341
4348   MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4342   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
4343   MCFG_NMK112_ROM0("oki1")
4344   MCFG_NMK112_ROM1("oki2")
43494345MACHINE_CONFIG_END
43504346
43514347static MACHINE_CONFIG_START( tdragon2, nmk16_state )
r29439r29440
43904386   MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
43914387   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.08)
43924388
4393   MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4389   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
4390   MCFG_NMK112_ROM0("oki1")
4391   MCFG_NMK112_ROM1("oki2")
43944392MACHINE_CONFIG_END
43954393
43964394static MACHINE_CONFIG_START( raphero, nmk16_state )
r29439r29440
44374435   MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
44384436   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.08)
44394437
4440   MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4438   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
4439   MCFG_NMK112_ROM0("oki1")
4440   MCFG_NMK112_ROM1("oki2")
44414441MACHINE_CONFIG_END
44424442
44434443static MACHINE_CONFIG_START( bjtwin, nmk16_state )
r29439r29440
44734473   MCFG_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW) /* verified on pcb */
44744474   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
44754475
4476   MCFG_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4476   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
4477   MCFG_NMK112_ROM0("oki1")
4478   MCFG_NMK112_ROM1("oki2")
44774479MACHINE_CONFIG_END
44784480
44794481
trunk/src/mame/drivers/toaplan2.c
r29439r29440
39333933   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
39343934MACHINE_CONFIG_END
39353935
3936
3937static const nmk112_interface bgaregga_nmk112_intf =
3938{
3939   "oki", NULL, 0
3940};
3941
3942static const nmk112_interface batrider_nmk112_intf =
3943{
3944   "oki1", "oki2", 0
3945};
3946
3947
39483936static MACHINE_CONFIG_START( bgaregga, toaplan2_state )
39493937
39503938   /* basic machine hardware */
r29439r29440
39903978   MCFG_OKIM6295_ADD("oki", XTAL_32MHz/16, OKIM6295_PIN7_HIGH)
39913979   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
39923980
3993   MCFG_NMK112_ADD("nmk112", bgaregga_nmk112_intf)
3981   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
3982   MCFG_NMK112_ROM0("oki")
39943983MACHINE_CONFIG_END
39953984
39963985
r29439r29440
40494038   MCFG_OKIM6295_ADD("oki2", XTAL_32MHz/10, OKIM6295_PIN7_LOW)
40504039   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
40514040
4052   MCFG_NMK112_ADD("nmk112", batrider_nmk112_intf)
4041   MCFG_DEVICE_ADD("nmk112", NMK112, 0)
4042   MCFG_NMK112_ROM0("oki1")
4043   MCFG_NMK112_ROM1("oki2")
40534044MACHINE_CONFIG_END
40544045
40554046
trunk/src/mame/machine/nmk112.c
r29439r29440
1818const device_type NMK112 = &device_creator<nmk112_device>;
1919
2020nmk112_device::nmk112_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
21   : device_t(mconfig, NMK112, "NMK 112", tag, owner, clock, "nmk112", __FILE__)
21   : device_t(mconfig, NMK112, "NMK 112", tag, owner, clock, "nmk112", __FILE__),
22      m_page_mask(0xff),
23      m_rom0(NULL),
24      m_rom1(NULL),
25      m_size0(0),
26      m_size1(0)
2227{
2328}
2429
2530//-------------------------------------------------
26//  device_config_complete - perform any
27//  operations now that the configuration is
28//  complete
29//-------------------------------------------------
30
31void nmk112_device::device_config_complete()
32{
33}
34
35//-------------------------------------------------
3631//  device_start - device-specific startup
3732//-------------------------------------------------
3833
3934void nmk112_device::device_start()
4035{
41   const nmk112_interface *intf = (const nmk112_interface *)static_config();
36   save_item(NAME(m_current_bank));
37   machine().save().register_postload(save_prepost_delegate(FUNC(nmk112_device::postload_bankswitch), this));
4238
43   if (intf->rgn0 == NULL)
39   if (m_tag0)
4440   {
45      m_rom0 = NULL;
46      m_size0 = 0;
41      m_rom0 = machine().root_device().memregion(m_tag0)->base();
42      m_size0 = machine().root_device().memregion(m_tag0)->bytes() - 0x40000;
4743   }
48   else
44   if (m_tag1)
4945   {
50      m_rom0 = machine().root_device().memregion(intf->rgn0)->base();
51      m_size0 = machine().root_device().memregion(intf->rgn0)->bytes() - 0x40000;
46      m_rom1 = machine().root_device().memregion(m_tag1)->base();
47      m_size1 = machine().root_device().memregion(m_tag1)->bytes() - 0x40000;
5248   }
53
54   if (intf->rgn1 == NULL)
55   {
56      m_rom1 = NULL;
57      m_size1 = 0;
58   }
59   else
60   {
61      m_rom1 = machine().root_device().memregion(intf->rgn1)->base();
62      m_size1 = machine().root_device().memregion(intf->rgn1)->bytes() - 0x40000;
63   }
64
65   m_page_mask = ~intf->disable_page_mask;
66
67   save_item(NAME(m_current_bank));
68   machine().save().register_postload(save_prepost_delegate(FUNC(nmk112_device::postload_bankswitch), this));
6949}
7050
7151//-------------------------------------------------
r29439r29440
8161   }
8262}
8363
84
8564void nmk112_device::do_bankswitch( int offset, int data )
8665{
8766   int chip = (offset & 4) >> 2;
trunk/src/mame/machine/nmk112.h
r29439r29440
1111    TYPE DEFINITIONS
1212***************************************************************************/
1313
14struct nmk112_interface
14class nmk112_device : public device_t
1515{
16   const char *rgn0, *rgn1;
17   UINT8 disable_page_mask;
18};
19
20class nmk112_device : public device_t,
21                           public nmk112_interface
22{
2316public:
2417   nmk112_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
2518   ~nmk112_device() {}
2619
20   // static configuration
21   static void set_rom0_tag(device_t &device, const char *tag) { downcast<nmk112_device &>(device).m_tag0 = tag; }
22   static void set_rom1_tag(device_t &device, const char *tag) { downcast<nmk112_device &>(device).m_tag1 = tag; }
23   static void set_page_mask(device_t &device, UINT8 mask) { downcast<nmk112_device &>(device).m_page_mask = ~mask; }
24   
2725   DECLARE_WRITE8_MEMBER( okibank_w );
2826   DECLARE_WRITE16_MEMBER( okibank_lsb_w );
2927
3028protected:
3129   // device-level overrides
32   virtual void device_config_complete();
3330   virtual void device_start();
3431   virtual void device_reset();
3532
r29439r29440
4441
4542   UINT8 m_current_bank[8];
4643
44   const char *m_tag0, *m_tag1;
4745   UINT8 *m_rom0, *m_rom1;
4846   int   m_size0, m_size1;
4947};
r29439r29440
5553    DEVICE CONFIGURATION MACROS
5654***************************************************************************/
5755
58#define MCFG_NMK112_ADD(_tag, _interface) \
59   MCFG_DEVICE_ADD(_tag, NMK112, 0) \
60   MCFG_DEVICE_CONFIG(_interface)
56#define MCFG_NMK112_ROM0(_tag) \
57   nmk112_device::set_rom0_tag(*device, _tag);
6158
59#define MCFG_NMK112_ROM1(_tag) \
60   nmk112_device::set_rom1_tag(*device, _tag);
61
62#define MCFG_NMK112_DISABLE_PAGEMASK(_mask) \
63   nmk112_device::set_page_mask(*device, _mask);
64
65
6266#endif /* __NMK112_H__ */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team