summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/efdt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/efdt.h')
-rw-r--r--src/mame/includes/efdt.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/mame/includes/efdt.h b/src/mame/includes/efdt.h
new file mode 100644
index 00000000000..25cc5412a52
--- /dev/null
+++ b/src/mame/includes/efdt.h
@@ -0,0 +1,67 @@
+
+
+
+class efdt_state : public driver_device
+{
+public:
+ efdt_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu"),
+ m_gfxdecode(*this, "gfxdecode"),
+ m_palette(*this, "palette"),
+ m_audiocpu(*this, "audiocpu"),
+ m_videoram(*this, "videoram", 8),
+ m_vregs1(*this, "vregs1"),
+ m_vregs2(*this, "vregs2")
+ { }
+
+ required_device<cpu_device> m_maincpu;
+ required_device<gfxdecode_device> m_gfxdecode;
+ required_device<palette_device> m_palette;
+ optional_device<cpu_device> m_audiocpu;
+
+ /* memory pointers */
+ required_shared_ptr<uint8_t> m_videoram;
+ required_shared_ptr<uint8_t> m_vregs1;
+ required_shared_ptr<uint8_t> m_vregs2;
+ uint8_t m_soundlatch[4];
+ uint8_t m_soundCommand;
+ uint8_t m_soundControl;
+
+
+ /* video-related */
+ tilemap_t *m_tilemap[2];
+ int m_tilebank;
+
+ DECLARE_WRITE8_MEMBER(efdt_videoram_w);
+ DECLARE_WRITE8_MEMBER(efdt_vregs1_w);
+ DECLARE_WRITE8_MEMBER(efdt_vregs2_w);
+
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+ DECLARE_VIDEO_START(efdt);
+ DECLARE_PALETTE_INIT(efdt);
+
+ DECLARE_READ8_MEMBER(main_soundlatch_r);
+ DECLARE_WRITE8_MEMBER(main_soundlatch_w);
+
+ DECLARE_READ8_MEMBER(soundlatch_0_r);
+ DECLARE_READ8_MEMBER(soundlatch_1_r);
+ DECLARE_READ8_MEMBER(soundlatch_2_r);
+ DECLARE_READ8_MEMBER(soundlatch_3_r);
+
+ DECLARE_WRITE8_MEMBER(soundlatch_0_w);
+ DECLARE_WRITE8_MEMBER(soundlatch_1_w);
+ DECLARE_WRITE8_MEMBER(soundlatch_2_w);
+ DECLARE_WRITE8_MEMBER(soundlatch_3_w);
+
+ uint32_t screen_update_efdt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ void efdt(machine_config &config);
+ void efdt_map(address_map &map);
+ void efdt_snd_map(address_map &map);
+}; \ No newline at end of file