diff options
Diffstat (limited to 'src/mame/includes/fuukifg2.h')
-rw-r--r-- | src/mame/includes/fuukifg2.h | 28 |
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); |