summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/foodf.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/foodf.h')
-rw-r--r--src/mame/includes/foodf.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/mame/includes/foodf.h b/src/mame/includes/foodf.h
index 3272a4b1337..fe615016523 100644
--- a/src/mame/includes/foodf.h
+++ b/src/mame/includes/foodf.h
@@ -10,16 +10,22 @@
#pragma once
-#include "machine/atarigen.h"
#include "machine/timer.h"
#include "machine/x2212.h"
+#include "emupal.h"
+#include "screen.h"
-class foodf_state : public atarigen_state
+class foodf_state : public driver_device
{
public:
foodf_state(const machine_config &mconfig, device_type type, const char *tag) :
- atarigen_state(mconfig, type, tag),
+ driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu"),
m_nvram(*this, "nvram"),
+ m_screen(*this, "screen"),
+ m_palette(*this, "palette"),
+ m_paletteram(*this, "paletteram"),
+ m_gfxdecode(*this, "gfxdecode"),
m_playfield_tilemap(*this, "playfield"),
m_scan_timer(*this, "scan_timer"),
m_spriteram(*this, "spriteram"),
@@ -32,7 +38,7 @@ private:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- virtual void update_interrupts() override;
+ void update_interrupts();
DECLARE_WRITE16_MEMBER(nvram_recall_w);
DECLARE_WRITE8_MEMBER(digital_w);
DECLARE_WRITE16_MEMBER(foodf_paletteram_w);
@@ -41,10 +47,19 @@ private:
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
uint32_t screen_update_foodf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_update_timer);
+ DECLARE_WRITE_LINE_MEMBER(video_int_write_line);
void main_map(address_map &map);
+ bool m_scanline_int_state;
+ bool m_video_int_state;
+
+ required_device<cpu_device> m_maincpu;
required_device<x2212_device> m_nvram;
+ required_device<screen_device> m_screen;
+ required_device<palette_device> m_palette;
+ required_shared_ptr<uint16_t> m_paletteram;
+ required_device<gfxdecode_device> m_gfxdecode;
required_device<tilemap_device> m_playfield_tilemap;
required_device<timer_device> m_scan_timer;