summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/fuukifg2.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/fuukifg2.h')
-rw-r--r--src/mame/includes/fuukifg2.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/mame/includes/fuukifg2.h b/src/mame/includes/fuukifg2.h
index cc8a60debc2..9ee6d47b03f 100644
--- a/src/mame/includes/fuukifg2.h
+++ b/src/mame/includes/fuukifg2.h
@@ -24,6 +24,7 @@ public:
, m_palette(*this, "palette")
, m_fuukivid(*this, "fuukivid")
, m_soundlatch(*this, "soundlatch")
+ , m_spriteram(*this, "spriteram")
, m_vram(*this, "vram.%u", 0)
, m_vregs(*this, "vregs")
, m_unknown(*this, "unknown")
@@ -52,26 +53,28 @@ private:
required_device<generic_latch_8_device> m_soundlatch;
/* memory pointers */
- required_shared_ptr_array<uint16_t,4> m_vram;
- required_shared_ptr<uint16_t> m_vregs;
- required_shared_ptr<uint16_t> m_unknown;
- required_shared_ptr<uint16_t> m_priority;
+ required_shared_ptr<u16> m_spriteram;
+ required_shared_ptr_array<u16, 4> m_vram;
+ required_shared_ptr<u16> m_vregs;
+ required_shared_ptr<u16> m_unknown;
+ required_shared_ptr<u16> m_priority;
required_memory_bank m_soundbank;
/* video-related */
- tilemap_t *m_tilemap[4];
+ tilemap_t *m_tilemap[3];
/* misc */
emu_timer *m_level_1_interrupt_timer;
emu_timer *m_vblank_interrupt_timer;
emu_timer *m_raster_interrupt_timer;
- DECLARE_WRITE16_MEMBER(vregs_w);
- DECLARE_WRITE8_MEMBER(sound_command_w);
- DECLARE_WRITE8_MEMBER(sound_rombank_w);
- template<int Layer> DECLARE_WRITE16_MEMBER(vram_w);
- DECLARE_WRITE8_MEMBER(oki_banking_w);
+ void vregs_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+ void sound_command_w(u8 data);
+ void sound_rombank_w(u8 data);
+ template<int Layer> void vram_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+ template<int Layer> void vram_buffered_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+ void oki_banking_w(u8 data);
template<int Layer> TILE_GET_INFO_MEMBER(get_tile_info);
@@ -79,8 +82,9 @@ private:
virtual void machine_reset() override;
virtual void video_start() override;
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void draw_layer( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int i, int flag, int pri );
+ void fuuki16_colpri_cb(u32 &colour, u32 &pri_mask);
+ u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ void draw_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u8 i, int flag, u8 pri, u8 primask = 0xff);
void fuuki16_map(address_map &map);
void fuuki16_sound_io_map(address_map &map);