summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2020-11-27 17:01:30 +0100
committer Olivier Galibert <galibert@pobox.com>2020-11-27 17:01:30 +0100
commit95c5c520f4885c5c3158381935116463bd654ce4 (patch)
treec7e6500a77aae83910cff33061ac06e0ba858315 /src
parentd6b50efc5f3c5e7cf21a0393a0a0cf48526103eb (diff)
Fix nova2001, incorrect palette size
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/nova2001.cpp4
-rw-r--r--src/mame/includes/nova2001.h5
-rw-r--r--src/mame/video/nova2001.cpp4
3 files changed, 10 insertions, 3 deletions
diff --git a/src/mame/drivers/nova2001.cpp b/src/mame/drivers/nova2001.cpp
index b56dd061b79..e46d0db28b3 100644
--- a/src/mame/drivers/nova2001.cpp
+++ b/src/mame/drivers/nova2001.cpp
@@ -211,7 +211,7 @@ void nova2001_state::ninjakun_shared_map(address_map &map)
map(0xc000, 0xc7ff).ram().w(FUNC(nova2001_state::fg_videoram_w)).share("fg_videoram");
map(0xc800, 0xcfff).rw(FUNC(nova2001_state::ninjakun_bg_videoram_r), FUNC(nova2001_state::ninjakun_bg_videoram_w)).share("bg_videoram");
map(0xd000, 0xd7ff).ram().share("spriteram");
- map(0xd800, 0xd9ff).ram().w(FUNC(nova2001_state::paletteram_w)).share("palette");
+ map(0xd800, 0xd9ff).rw(FUNC(nova2001_state::paletteram_r), FUNC(nova2001_state::paletteram_w));
}
void nova2001_state::ninjakun_cpu1_map(address_map &map)
@@ -268,7 +268,7 @@ void nova2001_state::raiders5_cpu1_map(address_map &map)
map(0xc001, 0xc001).r("ay1", FUNC(ay8910_device::data_r));
map(0xc002, 0xc003).w("ay2", FUNC(ay8910_device::address_data_w));
map(0xc003, 0xc003).r("ay2", FUNC(ay8910_device::data_r));
- map(0xd000, 0xd1ff).ram().w(FUNC(nova2001_state::paletteram_w)).share("palette");
+ map(0xd000, 0xd1ff).rw(FUNC(nova2001_state::paletteram_r), FUNC(nova2001_state::paletteram_w));
map(0xe000, 0xe7ff).ram().share("share1");
}
diff --git a/src/mame/includes/nova2001.h b/src/mame/includes/nova2001.h
index 6bdf6128bf0..409dd9bdc1d 100644
--- a/src/mame/includes/nova2001.h
+++ b/src/mame/includes/nova2001.h
@@ -19,7 +19,8 @@ public:
m_palette(*this, "palette"),
m_fg_videoram(*this, "fg_videoram"),
m_bg_videoram(*this, "bg_videoram"),
- m_spriteram(*this, "spriteram")
+ m_spriteram(*this, "spriteram"),
+ m_paletteram(*this, "palette", 768, ENDIANNESS_LITTLE)
{ }
void raiders5(machine_config &config);
@@ -40,6 +41,7 @@ private:
optional_shared_ptr<u8> m_fg_videoram;
required_shared_ptr<u8> m_bg_videoram;
optional_shared_ptr<u8> m_spriteram;
+ memory_share_creator<u8> m_paletteram;
u8 m_ninjakun_io_a002_ctrl;
tilemap_t *m_bg_tilemap;
@@ -48,6 +50,7 @@ private:
void ninjakun_cpu1_io_A002_w(u8 data);
void ninjakun_cpu2_io_A002_w(u8 data);
void paletteram_w(offs_t offset, u8 data);
+ u8 paletteram_r(offs_t offset);
void fg_videoram_w(offs_t offset, u8 data);
void nova2001_bg_videoram_w(offs_t offset, u8 data);
void ninjakun_bg_videoram_w(offs_t offset, u8 data);
diff --git a/src/mame/video/nova2001.cpp b/src/mame/video/nova2001.cpp
index 7228c6e3b7c..0ffef93368a 100644
--- a/src/mame/video/nova2001.cpp
+++ b/src/mame/video/nova2001.cpp
@@ -64,6 +64,10 @@ void nova2001_state::paletteram_w(offs_t offset, u8 data)
}
}
+u8 nova2001_state::paletteram_r(offs_t offset)
+{
+ return m_paletteram[offset];
+}
/*************************************