diff options
author | Vas Crabb <vas@vastheman.com> | 2018-02-19 20:34:33 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2018-02-19 20:34:33 +1100 |
commit | 8b1bc128e5568a713bc280d78623fcb3f7805b2a (patch) | |
tree | bc20f49cedae1f436469e6442cb3240b3882f37f /src/mame/includes/ccastles.h | |
parent | 1d31c19472f4c63955dcfba1f7e393bbe553afda (diff) |
backport lots of cleanup from WIP branch (nw)
Diffstat (limited to 'src/mame/includes/ccastles.h')
-rw-r--r-- | src/mame/includes/ccastles.h | 80 |
1 files changed, 45 insertions, 35 deletions
diff --git a/src/mame/includes/ccastles.h b/src/mame/includes/ccastles.h index 34c601bc64d..680a412426f 100644 --- a/src/mame/includes/ccastles.h +++ b/src/mame/includes/ccastles.h @@ -5,6 +5,10 @@ Atari Crystal Castles hardware *************************************************************************/ +#ifndef MAME_INCLUDES_CCASTLES_H +#define MAME_INCLUDES_CCASTLES_H + +#pragma once #include "cpu/m6502/m6502.h" #include "machine/x2212.h" @@ -13,17 +17,50 @@ class ccastles_state : public driver_device { public: - ccastles_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_nvram_4b(*this, "nvram_4b"), - m_nvram_4a(*this, "nvram_4a") , + ccastles_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_nvram_4b(*this, "nvram_4b"), + m_nvram_4a(*this, "nvram_4a") , m_videoram(*this, "videoram"), m_spriteram(*this, "spriteram"), m_gfxdecode(*this, "gfxdecode"), m_screen(*this, "screen"), - m_palette(*this, "palette"){ } + m_palette(*this, "palette") + { } + + DECLARE_CUSTOM_INPUT_MEMBER(get_vblank); + void ccastles(machine_config &config); + +protected: + DECLARE_WRITE8_MEMBER(irq_ack_w); + DECLARE_WRITE8_MEMBER(led_w); + DECLARE_WRITE8_MEMBER(ccounter_w); + DECLARE_WRITE8_MEMBER(bankswitch_w); + DECLARE_READ8_MEMBER(leta_r); + DECLARE_WRITE8_MEMBER(nvram_recall_w); + DECLARE_WRITE8_MEMBER(nvram_store_w); + DECLARE_READ8_MEMBER(nvram_r); + DECLARE_WRITE8_MEMBER(nvram_w); + DECLARE_WRITE8_MEMBER(ccastles_hscroll_w); + DECLARE_WRITE8_MEMBER(ccastles_vscroll_w); + DECLARE_WRITE8_MEMBER(ccastles_video_control_w); + DECLARE_WRITE8_MEMBER(ccastles_paletteram_w); + DECLARE_WRITE8_MEMBER(ccastles_videoram_w); + DECLARE_READ8_MEMBER(ccastles_bitmode_r); + DECLARE_WRITE8_MEMBER(ccastles_bitmode_w); + DECLARE_WRITE8_MEMBER(ccastles_bitmode_addr_w); + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; + uint32_t screen_update_ccastles(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + TIMER_CALLBACK_MEMBER(clock_irq); + inline void ccastles_write_vram( uint16_t addr, uint8_t data, uint8_t bitmd, uint8_t pixba ); + inline void bitmode_autoinc( ); + inline void schedule_next_irq( int curscanline ); + void main_map(address_map &map); +private: /* devices */ required_device<m6502_device> m_maincpu; required_device<x2212_device> m_nvram_4b; @@ -55,33 +92,6 @@ public: emu_timer *m_irq_timer; uint8_t m_irq_state; uint8_t m_nvram_store[2]; - - DECLARE_WRITE8_MEMBER(irq_ack_w); - DECLARE_WRITE8_MEMBER(led_w); - DECLARE_WRITE8_MEMBER(ccounter_w); - DECLARE_WRITE8_MEMBER(bankswitch_w); - DECLARE_READ8_MEMBER(leta_r); - DECLARE_WRITE8_MEMBER(nvram_recall_w); - DECLARE_WRITE8_MEMBER(nvram_store_w); - DECLARE_READ8_MEMBER(nvram_r); - DECLARE_WRITE8_MEMBER(nvram_w); - DECLARE_WRITE8_MEMBER(ccastles_hscroll_w); - DECLARE_WRITE8_MEMBER(ccastles_vscroll_w); - DECLARE_WRITE8_MEMBER(ccastles_video_control_w); - DECLARE_WRITE8_MEMBER(ccastles_paletteram_w); - DECLARE_WRITE8_MEMBER(ccastles_videoram_w); - DECLARE_READ8_MEMBER(ccastles_bitmode_r); - DECLARE_WRITE8_MEMBER(ccastles_bitmode_w); - DECLARE_WRITE8_MEMBER(ccastles_bitmode_addr_w); - DECLARE_CUSTOM_INPUT_MEMBER(get_vblank); - virtual void machine_start() override; - virtual void machine_reset() override; - virtual void video_start() override; - uint32_t screen_update_ccastles(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - TIMER_CALLBACK_MEMBER(clock_irq); - inline void ccastles_write_vram( uint16_t addr, uint8_t data, uint8_t bitmd, uint8_t pixba ); - inline void bitmode_autoinc( ); - inline void schedule_next_irq( int curscanline ); - void ccastles(machine_config &config); - void main_map(address_map &map); }; + +#endif // MAME_INCLUDES_CCASTLES_H |