diff options
author | wilbertpol <wilbertpol@users.noreply.github.com> | 2018-05-20 19:27:20 +0200 |
---|---|---|
committer | R. Belmont <rb6502@users.noreply.github.com> | 2018-05-20 13:27:20 -0400 |
commit | 2beba4ce73fad917c7159a39939bace54f76494b (patch) | |
tree | e9d33c059bc5045f13d0c1748f0a044650370b8d /src/mame/includes/microtan.h | |
parent | acf93837ac21b2b0bb003d1649b893200c269812 (diff) |
Replace set_led_value and set_lamp_value with output_finders. [Wilbe… (#3592)
* Replace set_led_value and set_lamp_value with output_finders. [Wilbert Pol]
* segaufo: keep the 2 bit lamp outputs
Diffstat (limited to 'src/mame/includes/microtan.h')
-rw-r--r-- | src/mame/includes/microtan.h | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/src/mame/includes/microtan.h b/src/mame/includes/microtan.h index 69a220f6165..83818e913f8 100644 --- a/src/mame/includes/microtan.h +++ b/src/mame/includes/microtan.h @@ -30,32 +30,17 @@ public: TIMER_PULSE_NMI }; - microtan_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + microtan_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_videoram(*this, "videoram"), m_maincpu(*this, "maincpu"), m_cassette(*this, "cassette"), m_via6522_0(*this, "via6522_0"), m_via6522_1(*this, "via6522_1"), - m_gfxdecode(*this, "gfxdecode") + m_gfxdecode(*this, "gfxdecode"), + m_led(*this, "led%u", 0U) { } - required_shared_ptr<uint8_t> m_videoram; - uint8_t m_chunky_graphics; - std::unique_ptr<uint8_t[]> m_chunky_buffer; - uint8_t m_keypad_column; - uint8_t m_keyboard_ascii; - emu_timer *m_timer; - int m_via_0_irq_line; - int m_via_1_irq_line; - int m_kbd_irq_line; - uint8_t m_keyrows[10]; - int m_lastrow; - int m_mask; - int m_key; - int m_repeat; - int m_repeater; - tilemap_t *m_bg_tilemap; DECLARE_READ8_MEMBER(microtan_sound_r); DECLARE_WRITE8_MEMBER(microtan_sound_w); DECLARE_READ8_MEMBER(microtan_bffx_r); @@ -63,8 +48,6 @@ public: DECLARE_WRITE8_MEMBER(microtan_videoram_w); void init_microtan(); TILE_GET_INFO_MEMBER(get_bg_tile_info); - virtual void machine_reset() override; - virtual void video_start() override; uint32_t screen_update_microtan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(microtan_interrupt); TIMER_CALLBACK_MEMBER(microtan_read_cassette); @@ -80,11 +63,6 @@ public: DECLARE_WRITE_LINE_MEMBER(via_1_out_cb2); DECLARE_WRITE_LINE_MEMBER(via_0_irq); DECLARE_WRITE_LINE_MEMBER(via_1_irq); - required_device<cpu_device> m_maincpu; - required_device<cassette_image_device> m_cassette; - required_device<via6522_device> m_via6522_0; - required_device<via6522_device> m_via6522_1; - required_device<gfxdecode_device> m_gfxdecode; uint8_t read_dsw(); void microtan_set_irq_line(); void store_key(int key); @@ -99,7 +77,33 @@ public: void microtan(machine_config &config); void microtan_map(address_map &map); protected: + virtual void machine_start() override { m_led.resolve(); } + virtual void machine_reset() override; + virtual void video_start() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + + required_shared_ptr<uint8_t> m_videoram; + uint8_t m_chunky_graphics; + std::unique_ptr<uint8_t[]> m_chunky_buffer; + uint8_t m_keypad_column; + uint8_t m_keyboard_ascii; + emu_timer *m_timer; + int m_via_0_irq_line; + int m_via_1_irq_line; + int m_kbd_irq_line; + uint8_t m_keyrows[10]; + int m_lastrow; + int m_mask; + int m_key; + int m_repeat; + int m_repeater; + tilemap_t *m_bg_tilemap; + required_device<cpu_device> m_maincpu; + required_device<cassette_image_device> m_cassette; + required_device<via6522_device> m_via6522_0; + required_device<via6522_device> m_via6522_1; + required_device<gfxdecode_device> m_gfxdecode; + output_finder<2> m_led; }; #endif // MAME_INCLUDES_MICROTAN_H |