summaryrefslogtreecommitdiffstats
path: root/src/mame/includes/asterix.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/asterix.h')
-rw-r--r--src/mame/includes/asterix.h47
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