diff options
Diffstat (limited to 'src/mame/includes/asterix.h')
-rw-r--r-- | src/mame/includes/asterix.h | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/src/mame/includes/asterix.h b/src/mame/includes/asterix.h index a81030025c0..bc302748375 100644 --- a/src/mame/includes/asterix.h +++ b/src/mame/includes/asterix.h @@ -18,11 +18,6 @@ class asterix_state : public driver_device { public: - enum - { - TIMER_NMI - }; - asterix_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), @@ -36,17 +31,36 @@ public: void init_asterix(); private: + virtual void machine_start() override; + virtual void machine_reset() override; + + void main_map(address_map &map); + void sound_map(address_map &map); + + void control2_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + void sound_arm_nmi_w(uint8_t data); + void sound_irq_w(uint16_t data); + void protection_w(address_space &space, offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + void asterix_spritebank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + uint32_t screen_update_asterix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + INTERRUPT_GEN_MEMBER(asterix_interrupt); + K05324X_CB_MEMBER(sprite_callback); + K056832_CB_MEMBER(tile_callback); + void reset_spritebank(); + TIMER_CALLBACK_MEMBER(audio_nmi); + /* video-related */ int m_sprite_colorbase = 0; int m_layer_colorbase[4]{}; int m_layerpri[3]{}; - uint16_t m_spritebank = 0U; + uint16_t m_spritebank = 0U; int m_tilebanks[4]{}; int m_spritebanks[4]{}; /* misc */ - uint8_t m_cur_control2 = 0U; - uint16_t m_prot[2]{}; + uint8_t m_cur_control2 = 0U; + uint16_t m_prot[2]{}; + emu_timer *m_audio_nmi_timer = nullptr; /* devices */ required_device<cpu_device> m_maincpu; @@ -54,23 +68,6 @@ private: required_device<k056832_device> m_k056832; required_device<k05324x_device> m_k053244; required_device<k053251_device> m_k053251; - void control2_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - void sound_arm_nmi_w(uint8_t data); - void sound_irq_w(uint16_t data); - void protection_w(address_space &space, offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - void asterix_spritebank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - virtual void machine_start() override; - virtual void machine_reset() override; - uint32_t screen_update_asterix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(asterix_interrupt); - K05324X_CB_MEMBER(sprite_callback); - K056832_CB_MEMBER(tile_callback); - void reset_spritebank(); - - void main_map(address_map &map); - void sound_map(address_map &map); -protected: - virtual void device_timer(emu_timer &timer, device_timer_id id, int param) override; }; #endif // MAME_INCLUDES_ASTERIX_H |