diff options
Diffstat (limited to 'src/mame/includes/midvunit.h')
-rw-r--r-- | src/mame/includes/midvunit.h | 60 |
1 files changed, 33 insertions, 27 deletions
diff --git a/src/mame/includes/midvunit.h b/src/mame/includes/midvunit.h index fb37d1de10a..90cfd4b55a4 100644 --- a/src/mame/includes/midvunit.h +++ b/src/mame/includes/midvunit.h @@ -47,23 +47,18 @@ private: class midvunit_state : public driver_device { public: - enum - { - TIMER_SCANLINE - }; - midvunit_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), + m_videoram(*this, "videoram", 32), + m_textureram(*this, "textureram"), + m_screen(*this, "screen"), m_nvram(*this, "nvram"), m_ram_base(*this, "ram_base"), m_fastram_base(*this, "fastram_base"), m_tms32031_control(*this, "32031_control"), m_midvplus_misc(*this, "midvplus_misc"), - m_videoram(*this, "videoram", 32), - m_textureram(*this, "textureram") , m_maincpu(*this, "maincpu"), m_watchdog(*this, "watchdog"), - m_screen(*this, "screen"), m_palette(*this, "palette"), m_adc(*this, "adc"), m_midway_serial_pic(*this, "serial_pic"), @@ -76,13 +71,40 @@ public: m_optional_drivers(*this, "lamp%u", 0U), m_motion(*this, "MOTION") { } + void midvcommon(machine_config &config); + void crusnwld(machine_config &config); + void midvplus(machine_config &config); + void offroadc(machine_config &config); + void midvunit(machine_config &config); + + void init_crusnu40(); + void init_crusnu21(); + void init_crusnwld(); + void init_wargods(); + void init_offroadc(); + void init_crusnusa(); + + uint16_t m_page_control; + uint16_t m_dma_data[16]; + uint8_t m_video_changed; + + required_shared_ptr<uint16_t> m_videoram; + required_shared_ptr<uint32_t> m_textureram; + required_device<screen_device> m_screen; + + DECLARE_CUSTOM_INPUT_MEMBER(motion_r); + +private: + enum + { + TIMER_SCANLINE + }; + optional_shared_ptr<uint32_t> m_nvram; required_shared_ptr<uint32_t> m_ram_base; optional_shared_ptr<uint32_t> m_fastram_base; required_shared_ptr<uint32_t> m_tms32031_control; optional_shared_ptr<uint32_t> m_midvplus_misc; - required_shared_ptr<uint16_t> m_videoram; - required_shared_ptr<uint32_t> m_textureram; uint8_t m_cmos_protected; uint16_t m_control_data; @@ -94,10 +116,7 @@ public: int m_lastval; uint32_t *m_generic_speedup; uint16_t m_video_regs[16]; - uint16_t m_dma_data[16]; uint8_t m_dma_data_index; - uint16_t m_page_control; - uint8_t m_video_changed; emu_timer *m_scanline_timer; std::unique_ptr<midvunit_renderer> m_poly; uint8_t m_galil_input_index; @@ -145,13 +164,6 @@ public: DECLARE_READ32_MEMBER(generic_speedup_r); DECLARE_READ32_MEMBER(midvunit_wheel_board_r); DECLARE_WRITE32_MEMBER(midvunit_wheel_board_w); - DECLARE_CUSTOM_INPUT_MEMBER(motion_r); - void init_crusnu40(); - void init_crusnu21(); - void init_crusnwld(); - void init_wargods(); - void init_offroadc(); - void init_crusnusa(); void set_input(const char *s); void init_crusnwld_common(offs_t speedup); void init_crusnusa_common(offs_t speedup); @@ -163,7 +175,6 @@ public: TIMER_CALLBACK_MEMBER(scanline_timer_cb); required_device<cpu_device> m_maincpu; required_device<watchdog_timer_device> m_watchdog; - required_device<screen_device> m_screen; required_device<palette_device> m_palette; optional_device<adc0844_device> m_adc; optional_device<midway_serial_pic_device> m_midway_serial_pic; @@ -177,13 +188,8 @@ public: optional_ioport m_motion; void postload(); - void midvcommon(machine_config &config); - void crusnwld(machine_config &config); - void midvplus(machine_config &config); - void offroadc(machine_config &config); - void midvunit(machine_config &config); void midvplus_map(address_map &map); void midvunit_map(address_map &map); -protected: + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; }; |