summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/ccastles.h
diff options
context:
space:
mode:
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
commit8b1bc128e5568a713bc280d78623fcb3f7805b2a (patch)
treebc20f49cedae1f436469e6442cb3240b3882f37f /src/mame/includes/ccastles.h
parent1d31c19472f4c63955dcfba1f7e393bbe553afda (diff)
backport lots of cleanup from WIP branch (nw)
Diffstat (limited to 'src/mame/includes/ccastles.h')
-rw-r--r--src/mame/includes/ccastles.h80
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