summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/snk6502.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/snk6502.h')
-rw-r--r--src/mame/includes/snk6502.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h
index 9d57812d7ac..af0bff1998b 100644
--- a/src/mame/includes/snk6502.h
+++ b/src/mame/includes/snk6502.h
@@ -10,6 +10,7 @@
#pragma once
+#include "machine/bankdev.h"
#include "machine/timer.h"
#include "emupal.h"
#include "tilemap.h"
@@ -31,7 +32,6 @@ public:
{ }
void satansat(machine_config &config);
- void vanguard(machine_config &config);
void sasuke(machine_config &config);
DECLARE_CUSTOM_INPUT_MEMBER(sasuke_count_r);
@@ -92,14 +92,34 @@ protected:
void sasuke_map(address_map &map);
void satansat_map(address_map &map);
+};
+
+class vanguard_state : public snk6502_state
+{
+public:
+ vanguard_state(const machine_config &mconfig, device_type type, const char *tag) :
+ snk6502_state(mconfig, type, tag),
+ m_lowmem(*this, "lowmem")
+ {
+ }
+
+ void vanguard(machine_config &config);
+
+protected:
+ uint8_t lowmem_r(offs_t offset);
+
+ required_device<address_map_bank_device> m_lowmem;
+
+private:
+ void vanguard_low_map(address_map &map);
void vanguard_map(address_map &map);
};
-class fantasy_state : public snk6502_state
+class fantasy_state : public vanguard_state
{
public:
fantasy_state(const machine_config &mconfig, device_type type, const char *tag) :
- snk6502_state(mconfig, type, tag),
+ vanguard_state(mconfig, type, tag),
m_sound(*this, "snk6502")
{
}
@@ -111,7 +131,9 @@ public:
private:
DECLARE_WRITE8_MEMBER(fantasy_flipscreen_w);
+ void fantasy_low_map(address_map &map);
void fantasy_map(address_map &map);
+ void pballoon_low_map(address_map &map);
void pballoon_map(address_map &map);
required_device<fantasy_sound_device> m_sound;