summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/midvunit.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/midvunit.h')
-rw-r--r--src/mame/includes/midvunit.h60
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;
};