1 // license:BSD-3-Clause 2 // copyright-holders:Manuel Abadia 3 #ifndef MAME_INCLUDES_AJAX_H 4 #define MAME_INCLUDES_AJAX_H 5 6 #pragma once 7 8 #include "machine/gen_latch.h" 9 #include "machine/watchdog.h" 10 #include "sound/k007232.h" 11 #include "video/k052109.h" 12 #include "video/k051960.h" 13 #include "video/k051316.h" 14 #include "video/konami_helper.h" 15 #include "emupal.h" 16 17 class ajax_state : public driver_device 18 { 19 public: ajax_state(const machine_config & mconfig,device_type type,const char * tag)20 ajax_state(const machine_config &mconfig, device_type type, const char *tag) : 21 driver_device(mconfig, type, tag), 22 m_maincpu(*this, "maincpu"), 23 m_audiocpu(*this, "audiocpu"), 24 m_subcpu(*this, "sub"), 25 m_watchdog(*this, "watchdog"), 26 m_k007232_1(*this, "k007232_1"), 27 m_k007232_2(*this, "k007232_2"), 28 m_k052109(*this, "k052109"), 29 m_k051960(*this, "k051960"), 30 m_k051316(*this, "k051316"), 31 m_palette(*this, "palette"), 32 m_soundlatch(*this, "soundlatch"), 33 m_lamps(*this, "lamp%u", 0U) 34 { } 35 36 void sound_bank_w(uint8_t data); 37 uint8_t ls138_f10_r(offs_t offset); 38 void ls138_f10_w(offs_t offset, uint8_t data); 39 void bankswitch_2_w(uint8_t data); 40 void bankswitch_w(uint8_t data); 41 void lamps_w(uint8_t data); 42 void k007232_extvol_w(uint8_t data); 43 uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); 44 void volume_callback0(uint8_t data); 45 void volume_callback1(uint8_t data); 46 K051316_CB_MEMBER(zoom_callback); 47 K052109_CB_MEMBER(tile_callback); 48 K051960_CB_MEMBER(sprite_callback); 49 void ajax(machine_config &config); 50 void ajax_main_map(address_map &map); 51 void ajax_sound_map(address_map &map); 52 void ajax_sub_map(address_map &map); 53 54 protected: 55 virtual void machine_start() override; 56 virtual void machine_reset() override; 57 58 /* video-related */ 59 uint8_t m_priority; 60 61 /* misc */ 62 int m_firq_enable; 63 64 /* devices */ 65 required_device<cpu_device> m_maincpu; 66 required_device<cpu_device> m_audiocpu; 67 required_device<cpu_device> m_subcpu; 68 required_device<watchdog_timer_device> m_watchdog; 69 required_device<k007232_device> m_k007232_1; 70 required_device<k007232_device> m_k007232_2; 71 required_device<k052109_device> m_k052109; 72 required_device<k051960_device> m_k051960; 73 required_device<k051316_device> m_k051316; 74 required_device<palette_device> m_palette; 75 required_device<generic_latch_8_device> m_soundlatch; 76 output_finder<8> m_lamps; 77 }; 78 79 #endif // MAME_INCLUDES_AJAX_H 80