From e0b95640cb625ad2c24ccb82b398ee144806cac9 Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Wed, 24 Sep 2014 18:13:51 +0000 Subject: [PATCH] sidearms.c: ioport_array (nw) --- src/mame/drivers/sidearms.c | 13 +++++-------- src/mame/includes/sidearms.h | 24 +++++++++++++++--------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c index 95c433cec8e..261c3807ec8 100644 --- a/src/mame/drivers/sidearms.c +++ b/src/mame/drivers/sidearms.c @@ -52,17 +52,14 @@ WRITE8_MEMBER(sidearms_state::sidearms_bankswitch_w) } - - /* Turtle Ship input ports are rotated 90 degrees */ +IOPORT_ARRAY_MEMBER(sidearms_state::ports) { "SYSTEM", "P1", "P2", "DSW0", "DSW1" }; + READ8_MEMBER(sidearms_state::turtship_ports_r) { - int i,res; - static const char *const portnames[] = { "SYSTEM", "P1", "P2", "DSW0", "DSW1", "NOT_PRESENT", "NOT_PRESENT", "NOT_PRESENT" }; // only inputs 0-4 are present - - res = 0; - for (i = 0;i < 8;i++) - res |= ((ioport(portnames[i])->read_safe(0) >> offset) & 1) << i; + int res = 0; + for (int i = 0; i < 5;i++) + res |= ((m_ports[i]->read_safe(0) >> offset) & 1) << i; return res; } diff --git a/src/mame/includes/sidearms.h b/src/mame/includes/sidearms.h index efb55b61019..1439b696120 100644 --- a/src/mame/includes/sidearms.h +++ b/src/mame/includes/sidearms.h @@ -5,23 +5,33 @@ class sidearms_state : public driver_device public: sidearms_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_spriteram(*this, "spriteram") , + m_maincpu(*this, "maincpu"), + m_audiocpu(*this, "audiocpu"), + m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette"), + m_spriteram(*this, "spriteram") , m_bg_scrollx(*this, "bg_scrollx"), m_bg_scrolly(*this, "bg_scrolly"), m_videoram(*this, "videoram"), m_colorram(*this, "colorram"), - m_maincpu(*this, "maincpu"), - m_audiocpu(*this, "audiocpu"), - m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette") { } + m_ports(*this, ports) { } int m_gameid; + required_device m_maincpu; + required_device m_audiocpu; + required_device m_gfxdecode; + required_device m_palette; required_device m_spriteram; + required_shared_ptr m_bg_scrollx; required_shared_ptr m_bg_scrolly; required_shared_ptr m_videoram; required_shared_ptr m_colorram; + + DECLARE_IOPORT_ARRAY(ports); + required_ioport_array<5> m_ports; + UINT8 *m_tilerom; tilemap_t *m_bg_tilemap; tilemap_t *m_fg_tilemap; @@ -60,8 +70,4 @@ public: void draw_sprites_region(bitmap_ind16 &bitmap, const rectangle &cliprect, int start_offset, int end_offset ); void sidearms_draw_starfield( bitmap_ind16 &bitmap ); void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); - required_device m_maincpu; - required_device m_audiocpu; - required_device m_gfxdecode; - required_device m_palette; };