summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/irobot.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/irobot.h')
-rw-r--r--src/mame/includes/irobot.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/mame/includes/irobot.h b/src/mame/includes/irobot.h
index 9a3d72f529f..d068ab5f1aa 100644
--- a/src/mame/includes/irobot.h
+++ b/src/mame/includes/irobot.h
@@ -11,6 +11,7 @@
#pragma once
#include "machine/timer.h"
+#include "machine/x2212.h"
#include "sound/pokey.h"
#include "screen.h"
@@ -35,12 +36,16 @@ public:
irobot_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
- m_nvram(*this, "nvram") ,
m_videoram(*this, "videoram"),
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
+#if IR_TIMING
+ m_irvg_timer(*this, "irvg_timer"),
+ m_irmb_timer(*this, "irmb_timer"),
+#endif
+ m_novram(*this, "nvram"),
m_pokey(*this, "pokey%u", 1U),
m_leds(*this, "led%u", 0U)
{ }
@@ -50,12 +55,11 @@ public:
void irobot(machine_config &config);
protected:
- virtual void machine_start() override { m_leds.resolve(); }
+ virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
void irobot_map(address_map &map);
- DECLARE_WRITE8_MEMBER(irobot_nvram_w);
DECLARE_WRITE8_MEMBER(irobot_clearirq_w);
DECLARE_WRITE8_MEMBER(irobot_clearfirq_w);
DECLARE_READ8_MEMBER(irobot_sharedmem_r);
@@ -82,7 +86,6 @@ protected:
void irmb_run();
private:
- required_shared_ptr<uint8_t> m_nvram;
required_shared_ptr<uint8_t> m_videoram;
uint8_t m_vg_clear;
uint8_t m_bufsel;
@@ -91,10 +94,6 @@ private:
uint8_t m_irvg_vblank;
uint8_t m_irvg_running;
uint8_t m_irmb_running;
-#if IR_TIMING
- timer_device *m_irvg_timer;
- timer_device *m_irmb_timer;
-#endif
uint8_t *m_comRAM[2];
uint8_t *m_mbRAM;
uint8_t *m_mbROM;
@@ -118,6 +117,11 @@ private:
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
+#if IR_TIMING
+ required_device<timer_device> m_irvg_timer;
+ required_device<timer_device> m_irmb_timer;
+#endif
+ required_device<x2212_device> m_novram;
required_device_array<pokey_device, 4> m_pokey;
output_finder<2> m_leds;
};