diff options
author | Robbbert <Robbbert@users.noreply.github.com> | 2018-04-10 22:59:22 +1000 |
---|---|---|
committer | Robbbert <Robbbert@users.noreply.github.com> | 2018-04-10 22:59:22 +1000 |
commit | da2a6868b18801db01ed1644fdcdd9897291dc39 (patch) | |
tree | d5efdbf83e83403eb88c593acf2257d1762e887f | |
parent | 099be8ad339157e7e53202cacd31edd39590f0c8 (diff) |
(nw) grchamp : output finder
-rw-r--r-- | src/mame/drivers/grchamp.cpp | 6 | ||||
-rw-r--r-- | src/mame/includes/grchamp.h | 92 |
2 files changed, 53 insertions, 45 deletions
diff --git a/src/mame/drivers/grchamp.cpp b/src/mame/drivers/grchamp.cpp index f405730cb13..4609246b7df 100644 --- a/src/mame/drivers/grchamp.cpp +++ b/src/mame/drivers/grchamp.cpp @@ -95,6 +95,7 @@ void grchamp_state::machine_start() { + m_digits.resolve(); m_soundlatch_data = 0x00; m_soundlatch_flag = false; save_item(NAME(m_cpu0_out)); @@ -245,7 +246,7 @@ WRITE8_MEMBER(grchamp_state::led_board_w) case 0x0c: m_ledram[m_ledaddr & 0x07] = m_ledlatch; - output().set_digit_value(m_ledaddr & 0x07, ls247_map[m_ledram[m_ledaddr & 0x07] & 0x0f]); + m_digits[m_ledaddr & 0x07] = ls247_map[m_ledram[m_ledaddr & 0x07] & 0x0f]; /* ledram[0] & 0x0f = score LSD ledram[1] & 0x0f = score @@ -533,6 +534,9 @@ static GFXDECODE_START( grchamp ) GFXDECODE_ENTRY( "gfx3", 0x0000, tile_layout, 0, 2 ) GFXDECODE_ENTRY( "gfx4", 0x0000, tile_layout, 0, 2 ) GFXDECODE_ENTRY( "gfx1", 0x0000, sprite_layout, 0, 8 ) + GFXDECODE_ENTRY( "gfx5", 0x0000, tile_layout, 0, 2 ) + GFXDECODE_ENTRY( "gfx6", 0x0000, tile_layout, 0, 2 ) + GFXDECODE_ENTRY( "gfx7", 0x0000, tile_layout, 0, 2 ) GFXDECODE_END diff --git a/src/mame/includes/grchamp.h b/src/mame/includes/grchamp.h index 04789ae5072..3c7d5ea3c76 100644 --- a/src/mame/includes/grchamp.h +++ b/src/mame/includes/grchamp.h @@ -30,46 +30,9 @@ public: m_spriteram(*this, "spriteram"), m_leftram(*this, "leftram"), m_rightram(*this, "rightram"), - m_centerram(*this, "centerram") { } - - required_device<cpu_device> m_maincpu; - required_device<cpu_device> m_audiocpu; - required_device<cpu_device> m_subcpu; - required_device<watchdog_timer_device> m_watchdog; - required_device<discrete_device> m_discrete; - required_device<gfxdecode_device> m_gfxdecode; - required_device<palette_device> m_palette; - required_device<screen_device> m_screen; - required_device<input_merger_device> m_soundnmi; - - required_shared_ptr<uint8_t> m_radarram; - required_shared_ptr<uint8_t> m_videoram; - required_shared_ptr<uint8_t> m_spriteram; - required_shared_ptr<uint8_t> m_leftram; - required_shared_ptr<uint8_t> m_rightram; - required_shared_ptr<uint8_t> m_centerram; - - uint8_t m_cpu0_out[16]; - uint8_t m_cpu1_out[16]; - - uint8_t m_comm_latch; - uint8_t m_comm_latch2[4]; - - uint16_t m_ledlatch; - uint8_t m_ledaddr; - uint16_t m_ledram[8]; - - uint8_t m_soundlatch_data; - bool m_soundlatch_flag; - - uint16_t m_collide; - uint8_t m_collmode; - - bitmap_ind16 m_work_bitmap; - tilemap_t * m_text_tilemap; - tilemap_t * m_left_tilemap; - tilemap_t * m_center_tilemap; - tilemap_t * m_right_tilemap; + m_centerram(*this, "centerram"), + m_digits(*this, "digit%u", 0U) + { } DECLARE_WRITE8_MEMBER(cpu0_outputs_w); DECLARE_WRITE8_MEMBER(led_board_w); @@ -102,10 +65,6 @@ public: TILEMAP_MAPPER_MEMBER(get_memory_offset); DECLARE_PALETTE_INIT(grchamp); - virtual void machine_start() override; - virtual void machine_reset() override; - virtual void video_start() override; - INTERRUPT_GEN_MEMBER(cpu0_interrupt); INTERRUPT_GEN_MEMBER(cpu1_interrupt); TIMER_CALLBACK_MEMBER(main_to_sub_comm_sync_w); @@ -118,6 +77,51 @@ public: void sound_map(address_map &map); void sub_map(address_map &map); void sub_portmap(address_map &map); + +private: + uint8_t m_cpu0_out[16]; + uint8_t m_cpu1_out[16]; + + uint8_t m_comm_latch; + uint8_t m_comm_latch2[4]; + + uint16_t m_ledlatch; + uint8_t m_ledaddr; + uint16_t m_ledram[8]; + + uint8_t m_soundlatch_data; + bool m_soundlatch_flag; + + uint16_t m_collide; + uint8_t m_collmode; + + bitmap_ind16 m_work_bitmap; + tilemap_t * m_text_tilemap; + tilemap_t * m_left_tilemap; + tilemap_t * m_center_tilemap; + tilemap_t * m_right_tilemap; + + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; + + required_device<cpu_device> m_maincpu; + required_device<cpu_device> m_audiocpu; + required_device<cpu_device> m_subcpu; + required_device<watchdog_timer_device> m_watchdog; + required_device<discrete_device> m_discrete; + required_device<gfxdecode_device> m_gfxdecode; + required_device<palette_device> m_palette; + required_device<screen_device> m_screen; + required_device<input_merger_device> m_soundnmi; + + required_shared_ptr<uint8_t> m_radarram; + required_shared_ptr<uint8_t> m_videoram; + required_shared_ptr<uint8_t> m_spriteram; + required_shared_ptr<uint8_t> m_leftram; + required_shared_ptr<uint8_t> m_rightram; + required_shared_ptr<uint8_t> m_centerram; + output_finder<8> m_digits; }; /* Discrete Sound Input Nodes */ |