1 // license:BSD-3-Clause 2 // copyright-holders:David Haywood 3 #ifndef MAME_INCLUDES_FITFIGHT_H 4 #define MAME_INCLUDES_FITFIGHT_H 5 6 #pragma once 7 8 #include "emupal.h" 9 #include "tilemap.h" 10 11 class fitfight_state : public driver_device 12 { 13 public: fitfight_state(const machine_config & mconfig,device_type type,const char * tag)14 fitfight_state(const machine_config &mconfig, device_type type, const char *tag) : 15 driver_device(mconfig, type, tag), 16 m_fof_100000(*this, "fof_100000"), 17 m_fof_600000(*this, "fof_600000"), 18 m_fof_700000(*this, "fof_700000"), 19 m_fof_800000(*this, "fof_800000"), 20 m_fof_900000(*this, "fof_900000"), 21 m_fof_a00000(*this, "fof_a00000"), 22 m_fof_bak_tileram(*this, "fof_bak_tileram"), 23 m_fof_mid_tileram(*this, "fof_mid_tileram"), 24 m_fof_txt_tileram(*this, "fof_txt_tileram"), 25 m_spriteram(*this, "spriteram"), 26 m_maincpu(*this, "maincpu"), 27 m_audiocpu(*this, "audiocpu"), 28 m_gfxdecode(*this, "gfxdecode"), 29 m_palette(*this, "palette") 30 { } 31 32 void bbprot(machine_config &config); 33 void fitfight(machine_config &config); 34 35 void init_hotmindff(); 36 void init_fitfight(); 37 void init_histryma(); 38 void init_bbprot(); 39 40 private: 41 uint16_t fitfight_700000_r(); 42 uint16_t histryma_700000_r(); 43 uint16_t bbprot_700000_r(); 44 void fitfight_700000_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); 45 uint8_t snd_porta_r(); 46 uint8_t snd_portb_r(); 47 uint8_t snd_portc_r(); 48 void snd_porta_w(uint8_t data); 49 void snd_portb_w(uint8_t data); 50 void snd_portc_w(uint8_t data); 51 void fof_bak_tileram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); 52 void fof_mid_tileram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); 53 void fof_txt_tileram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); 54 55 uint16_t hotmindff_unk_r(); 56 TILE_GET_INFO_MEMBER(get_fof_bak_tile_info); 57 TILE_GET_INFO_MEMBER(get_fof_mid_tile_info); 58 TILE_GET_INFO_MEMBER(get_fof_txt_tile_info); 59 virtual void machine_start() override; 60 virtual void machine_reset() override; 61 virtual void video_start() override; 62 uint32_t screen_update_fitfight(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 63 void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int layer ); 64 void bbprot_main_map(address_map &map); 65 void fitfight_main_map(address_map &map); 66 void snd_mem(address_map &map); 67 68 // memory pointers 69 required_shared_ptr<uint16_t> m_fof_100000; 70 required_shared_ptr<uint16_t> m_fof_600000; 71 required_shared_ptr<uint16_t> m_fof_700000; 72 required_shared_ptr<uint16_t> m_fof_800000; 73 required_shared_ptr<uint16_t> m_fof_900000; 74 required_shared_ptr<uint16_t> m_fof_a00000; 75 required_shared_ptr<uint16_t> m_fof_bak_tileram; 76 required_shared_ptr<uint16_t> m_fof_mid_tileram; 77 required_shared_ptr<uint16_t> m_fof_txt_tileram; 78 required_shared_ptr<uint16_t> m_spriteram; 79 80 // video-related 81 tilemap_t *m_fof_bak_tilemap; 82 tilemap_t *m_fof_mid_tilemap; 83 tilemap_t *m_fof_txt_tilemap; 84 85 // misc 86 int m_bbprot_kludge; 87 uint16_t m_fof_700000_data; 88 89 required_device<cpu_device> m_maincpu; 90 optional_device<cpu_device> m_audiocpu; 91 required_device<gfxdecode_device> m_gfxdecode; 92 required_device<palette_device> m_palette; 93 }; 94 95 #endif // MAME_INCLUDES_FITFIGHT_H 96