From b90a14b1ebd1e3fbe235a748a894635b9804f601 Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Wed, 9 Apr 2014 10:56:45 +0000 Subject: [PATCH] k053936: updated to use inline configs. nw. --- src/mame/drivers/crshrace.c | 11 +++-------- src/mame/drivers/dbz.c | 19 +++++++++++-------- src/mame/drivers/f1gp.c | 19 +++++-------------- src/mame/drivers/metro.c | 16 ++++------------ src/mame/drivers/plygonet.c | 8 +------- src/mame/drivers/rungun.c | 9 +++------ src/mame/drivers/suprslam.c | 9 +++------ src/mame/drivers/tmnt.c | 24 +++++++++--------------- src/mame/video/k053936.c | 30 ++++-------------------------- src/mame/video/k053936.h | 37 +++++++++++++++---------------------- 10 files changed, 58 insertions(+), 124 deletions(-) diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c index cf77833e056..6f87b0d3a28 100644 --- a/src/mame/drivers/crshrace.c +++ b/src/mame/drivers/crshrace.c @@ -406,12 +406,6 @@ WRITE_LINE_MEMBER(crshrace_state::irqhandler) m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); } -static const k053936_interface crshrace_k053936_intf = -{ - 1, -48, -21 /* wrap, xoff, yoff */ -}; - - void crshrace_state::machine_start() { m_z80bank->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000); @@ -464,8 +458,9 @@ static MACHINE_CONFIG_START( crshrace, crshrace_state ) MCFG_BUFFERED_SPRITERAM16_ADD("spriteram") MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2") - MCFG_K053936_ADD("k053936", crshrace_k053936_intf) - + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_WRAP(1) + MCFG_K053936_OFFSETS(-48, -21) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c index 8d692a8c401..c4f9dfa58b6 100644 --- a/src/mame/drivers/dbz.c +++ b/src/mame/drivers/dbz.c @@ -307,12 +307,6 @@ static const k053247_interface dbz_k053246_intf = dbz_sprite_callback }; -/* both k053936 use the same wrap/offs */ -static const k053936_interface dbz_k053936_intf = -{ - 1, -46, -16 -}; - WRITE_LINE_MEMBER(dbz_state::dbz_irq2_ack_w) { m_maincpu->set_input_line(M68K_IRQ_2, CLEAR_LINE); @@ -370,12 +364,21 @@ static MACHINE_CONFIG_START( dbz, dbz_state ) MCFG_K056832_ADD("k056832", dbz_k056832_intf) MCFG_K056832_GFXDECODE("gfxdecode") MCFG_K056832_PALETTE("palette") + MCFG_K053246_ADD("k053246", dbz_k053246_intf) MCFG_K053246_GFXDECODE("gfxdecode") MCFG_K053246_PALETTE("palette") + MCFG_K053251_ADD("k053251") - MCFG_K053936_ADD("k053936_1", dbz_k053936_intf) - MCFG_K053936_ADD("k053936_2", dbz_k053936_intf) + + MCFG_DEVICE_ADD("k053936_1", K053936, 0) + MCFG_K053936_WRAP(1) + MCFG_K053936_OFFSETS(-46, -16) + + MCFG_DEVICE_ADD("k053936_2", K053936, 0) + MCFG_K053936_WRAP(1) + MCFG_K053936_OFFSETS(-46, -16) + MCFG_DEVICE_ADD("k053252", K053252, 16000000/2) MCFG_K053252_INT1_ACK_CB(WRITELINE(dbz_state, dbz_irq2_ack_w)) diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c index 475eb1a05c1..278ca0602d9 100644 --- a/src/mame/drivers/f1gp.c +++ b/src/mame/drivers/f1gp.c @@ -367,17 +367,6 @@ WRITE_LINE_MEMBER(f1gp_state::irqhandler) m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); } -static const k053936_interface f1gp_k053936_intf = -{ - 1, -58, -2 /* wrap, xoff, yoff */ -}; - -static const k053936_interface f1gp2_k053936_intf = -{ - 1, -48, -21 /* wrap, xoff, yoff */ -}; - - MACHINE_START_MEMBER(f1gp_state,f1gpb) { save_item(NAME(m_pending_command)); @@ -452,7 +441,9 @@ static MACHINE_CONFIG_START( f1gp, f1gp_state ) MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp) - MCFG_K053936_ADD("k053936", f1gp_k053936_intf) + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_WRAP(1) + MCFG_K053936_OFFSETS(-58, -2) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") @@ -525,8 +516,8 @@ static MACHINE_CONFIG_DERIVED( f1gp2, f1gp ) MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode") MCFG_VSYSTEM_SPR_PALETTE("palette") - MCFG_DEVICE_REMOVE("k053936") - MCFG_K053936_ADD("k053936", f1gp2_k053936_intf) + MCFG_DEVICE_MODIFY("k053936") + MCFG_K053936_OFFSETS(-48, -21) MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp2) MACHINE_CONFIG_END diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c index 4b5722332ba..3a12cd79106 100644 --- a/src/mame/drivers/metro.c +++ b/src/mame/drivers/metro.c @@ -4501,11 +4501,6 @@ static MACHINE_CONFIG_START( vmetal, metro_state ) MACHINE_CONFIG_END -static const k053936_interface blzntrnd_k053936_intf = -{ - 0, -69, -21 -}; - static MACHINE_CONFIG_START( blzntrnd, metro_state ) /* basic machine hardware */ @@ -4535,7 +4530,8 @@ static MACHINE_CONFIG_START( blzntrnd, metro_state ) MCFG_PALETTE_ADD("palette", 0x1000) MCFG_PALETTE_FORMAT(GGGGGRRRRRBBBBBx) - MCFG_K053936_ADD("k053936", blzntrnd_k053936_intf) + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_OFFSETS(-69, -21) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") @@ -4550,11 +4546,6 @@ MACHINE_CONFIG_END /* like blzntrnd but new vidstart / gfxdecode for the different bg tilemap */ -static const k053936_interface gstrik2_k053936_intf = -{ - 0, -69, -19 -}; - static MACHINE_CONFIG_START( gstrik2, metro_state ) /* basic machine hardware */ @@ -4584,7 +4575,8 @@ static MACHINE_CONFIG_START( gstrik2, metro_state ) MCFG_PALETTE_ADD("palette", 0x1000) MCFG_PALETTE_FORMAT(GGGGGRRRRRBBBBBx) - MCFG_K053936_ADD("k053936", gstrik2_k053936_intf) + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_OFFSETS(-69, -19) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c index 5bf391a0acf..ffc28a7deb3 100644 --- a/src/mame/drivers/plygonet.c +++ b/src/mame/drivers/plygonet.c @@ -643,12 +643,6 @@ WRITE_LINE_MEMBER(polygonet_state::k054539_nmi_gen) m_sound_intck = state; } - -static const k053936_interface polygonet_k053936_intf = -{ - 0, 0, 0 /* wrap, xoff, yoff */ -}; - static MACHINE_CONFIG_START( plygonet, polygonet_state ) MCFG_CPU_ADD("maincpu", M68EC020, XTAL_32MHz/2) @@ -679,7 +673,7 @@ static MACHINE_CONFIG_START( plygonet, polygonet_state ) MCFG_PALETTE_ADD("palette", 32768) - MCFG_K053936_ADD("k053936", polygonet_k053936_intf) + MCFG_DEVICE_ADD("k053936", K053936, 0) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c index bfb6944a30f..cc165ddb10a 100644 --- a/src/mame/drivers/rungun.c +++ b/src/mame/drivers/rungun.c @@ -330,11 +330,6 @@ static const k054539_interface k054539_config = }; -static const k053936_interface rng_k053936_intf = -{ - 0, 34, 9 -}; - static const k053247_interface rng_k055673_intf = { "gfx2", 1, @@ -398,7 +393,9 @@ static MACHINE_CONFIG_START( rng, rungun_state ) MCFG_PALETTE_ENABLE_SHADOWS() MCFG_PALETTE_ENABLE_HILIGHTS() - MCFG_K053936_ADD("k053936", rng_k053936_intf) + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_OFFSETS(34, 9) + MCFG_K055673_ADD("k055673", rng_k055673_intf) MCFG_K055673_GFXDECODE("gfxdecode") MCFG_K055673_PALETTE("palette") diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c index 34e2917c90f..ad8e9968a9a 100644 --- a/src/mame/drivers/suprslam.c +++ b/src/mame/drivers/suprslam.c @@ -283,11 +283,6 @@ WRITE_LINE_MEMBER(suprslam_state::irqhandler) /*** MACHINE DRIVER **********************************************************/ -static const k053936_interface suprslam_k053936_intf = -{ - 1, -45, -21 /* wrap, xoff, yoff */ -}; - void suprslam_state::machine_start() { save_item(NAME(m_screen_bank)); @@ -333,7 +328,9 @@ static MACHINE_CONFIG_START( suprslam, suprslam_state ) MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode") MCFG_VSYSTEM_SPR_PALETTE("palette") - MCFG_K053936_ADD("k053936", suprslam_k053936_intf) + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_WRAP(1) + MCFG_K053936_OFFSETS(-45, -21) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c index d81fbebbea6..137b1f3b78c 100644 --- a/src/mame/drivers/tmnt.c +++ b/src/mame/drivers/tmnt.c @@ -2085,19 +2085,6 @@ static const k051960_interface thndrx2_k051960_intf = thndrx2_sprite_callback }; - -/* 053936 interfaces */ -static const k053936_interface glfgreat_k053936_interface = -{ - 1, 85, 0 /* wrap, xoff, yoff */ -}; - -static const k053936_interface prmrsocr_k053936_interface = -{ - 0, 85, 1 /* wrap, xoff, yoff */ -}; - - MACHINE_START_MEMBER(tmnt_state,common) { save_item(NAME(m_toggle)); @@ -2496,7 +2483,11 @@ static MACHINE_CONFIG_START( glfgreat, tmnt_state ) MCFG_K053245_ADD("k053245", glfgreat_k05324x_intf) MCFG_K053245_GFXDECODE("gfxdecode") MCFG_K053245_PALETTE("palette") - MCFG_K053936_ADD("k053936", glfgreat_k053936_interface) + + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_WRAP(1) + MCFG_K053936_OFFSETS(85, 0) + MCFG_K053251_ADD("k053251") /* sound hardware */ @@ -2562,7 +2553,10 @@ static MACHINE_CONFIG_START( prmrsocr, tmnt_state ) MCFG_K053245_ADD("k053245", prmrsocr_k05324x_intf) MCFG_K053245_GFXDECODE("gfxdecode") MCFG_K053245_PALETTE("palette") - MCFG_K053936_ADD("k053936", prmrsocr_k053936_interface) + + MCFG_DEVICE_ADD("k053936", K053936, 0) + MCFG_K053936_OFFSETS(85, 1) + MCFG_K053251_ADD("k053251") /* sound hardware */ diff --git a/src/mame/video/k053936.c b/src/mame/video/k053936.c index d320a10c440..841639bc399 100644 --- a/src/mame/video/k053936.c +++ b/src/mame/video/k053936.c @@ -220,9 +220,6 @@ void K053936_set_offset(int chip, int xoffs, int yoffs) - - - /***************************************************************************/ /* */ /* 053936 */ @@ -234,32 +231,13 @@ const device_type K053936 = &device_creator; k053936_device::k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, K053936, "Konami 053936", tag, owner, clock, "k053936", __FILE__), m_ctrl(NULL), - m_linectrl(NULL) + m_linectrl(NULL), + m_wrap(0), + m_xoff(0), + m_yoff(0) { } -//------------------------------------------------- -// device_config_complete - perform any -// operations now that the configuration is -// complete -//------------------------------------------------- - -void k053936_device::device_config_complete() -{ - // inherit a copy of the static data - const k053936_interface *intf = reinterpret_cast(static_config()); - if (intf != NULL) - *static_cast(this) = *intf; - - // or initialize to defaults if none provided - else - { - m_wrap = 0; - m_xoff = 0; - m_yoff = 0; - } -} - //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- diff --git a/src/mame/video/k053936.h b/src/mame/video/k053936.h index 419ee868d94..f4d3977763e 100644 --- a/src/mame/video/k053936.h +++ b/src/mame/video/k053936.h @@ -3,15 +3,6 @@ #define __K053936_H__ -/* */ - - -#define MCFG_K053936_ADD(_tag, _interface) \ - MCFG_DEVICE_ADD(_tag, K053936, 0) \ - MCFG_DEVICE_CONFIG(_interface) - - - void K053936_0_zoom_draw(screen_device &screen, bitmap_ind16 &bitmap,const rectangle &cliprect,tilemap_t *tmap,int flags,UINT32 priority, int glfgreat_hack); void K053936_wraparound_enable(int chip, int status); void K053936_set_offset(int chip, int xoffs, int yoffs); @@ -23,22 +14,21 @@ void K053936GP_set_cliprect(int chip, int minx, int maxx, int miny, int maxy); void K053936GP_0_zoom_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *tmap, int tilebpp, int blend, int alpha, int pixeldouble_output, UINT16* temp_m_k053936_0_ctrl_16, UINT16* temp_m_k053936_0_linectrl_16, UINT16* temp_m_k053936_0_ctrl, UINT16* temp_m_k053936_0_linectrl, palette_device *palette); - - -struct k053936_interface -{ - int m_wrap, m_xoff, m_yoff; -}; - - - -class k053936_device : public device_t, - public k053936_interface +class k053936_device : public device_t { public: k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); ~k053936_device() {} + // static configuration + static void set_wrap(device_t &device, int wrap) { downcast(device).m_wrap = wrap; } + static void set_offsets(device_t &device, int x_offset, int y_offset) + { + k053936_device &dev = downcast(device); + dev.m_xoff = x_offset; + dev.m_yoff = y_offset; + } + DECLARE_WRITE16_MEMBER( ctrl_w ); DECLARE_READ16_MEMBER( ctrl_r ); DECLARE_WRITE16_MEMBER( linectrl_w ); @@ -49,7 +39,6 @@ public: protected: // device-level overrides - virtual void device_config_complete(); virtual void device_start(); virtual void device_reset(); @@ -57,11 +46,15 @@ private: // internal state UINT16 *m_ctrl; UINT16 *m_linectrl; + int m_wrap, m_xoff, m_yoff; }; extern const device_type K053936; +#define MCFG_K053936_WRAP(_wrap) \ + k053936_device::set_wrap(*device, _wrap); - +#define MCFG_K053936_OFFSETS(_xoffs, _yoffs) \ + k053936_device::set_offsets(*device, _xoffs, _yoffs); #endif