1 // license:BSD-3-Clause 2 // copyright-holders:Nicola Salmoria 3 /************************************************************************* 4 5 88 Games 6 7 *************************************************************************/ 8 #ifndef MAME_INCLUDES_88GAMES_H 9 #define MAME_INCLUDES_88GAMES_H 10 11 #pragma once 12 13 #include "cpu/m6809/konami.h" 14 #include "sound/upd7759.h" 15 #include "video/k051316.h" 16 #include "video/k051960.h" 17 #include "video/k052109.h" 18 #include "video/konami_helper.h" 19 20 class _88games_state : public driver_device 21 { 22 public: _88games_state(const machine_config & mconfig,device_type type,const char * tag)23 _88games_state(const machine_config &mconfig, device_type type, const char *tag) : 24 driver_device(mconfig, type, tag), 25 m_maincpu(*this, "maincpu"), 26 m_audiocpu(*this, "audiocpu"), 27 m_k052109(*this, "k052109"), 28 m_k051960(*this, "k051960"), 29 m_k051316(*this, "k051316"), 30 m_upd7759(*this, "upd%d", 1), 31 m_bank0000(*this, "bank0000"), 32 m_bank1000(*this, "bank1000"), 33 m_ram(*this, "ram") 34 { } 35 36 void _88games(machine_config &config); 37 38 private: 39 /* video-related */ 40 int m_k88games_priority; 41 int m_videobank; 42 int m_zoomreadroms; 43 int m_speech_chip; 44 45 /* devices */ 46 required_device<konami_cpu_device> m_maincpu; 47 required_device<cpu_device> m_audiocpu; 48 required_device<k052109_device> m_k052109; 49 required_device<k051960_device> m_k051960; 50 required_device<k051316_device> m_k051316; 51 required_device_array<upd7759_device, 2> m_upd7759; 52 53 /* memory banks */ 54 required_memory_bank m_bank0000; 55 required_memory_bank m_bank1000; 56 57 /* memory pointers */ 58 required_shared_ptr<uint8_t> m_ram; 59 60 uint8_t bankedram_r(offs_t offset); 61 void bankedram_w(offs_t offset, uint8_t data); 62 void k88games_5f84_w(uint8_t data); 63 void k88games_sh_irqtrigger_w(uint8_t data); 64 void speech_control_w(uint8_t data); 65 void speech_msg_w(uint8_t data); 66 uint8_t k052109_051960_r(offs_t offset); 67 void k052109_051960_w(offs_t offset, uint8_t data); 68 virtual void machine_start() override; 69 virtual void machine_reset() override; 70 uint32_t screen_update_88games(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 71 K051316_CB_MEMBER(zoom_callback); 72 K052109_CB_MEMBER(tile_callback); 73 K051960_CB_MEMBER(sprite_callback); 74 void banking_callback(uint8_t data); 75 76 void main_map(address_map &map); 77 void sound_map(address_map &map); 78 }; 79 80 #endif // MAME_INCLUDES_88GAMES_H 81