summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2020-12-28 19:36:01 +0100
committer Olivier Galibert <galibert@pobox.com>2020-12-28 19:52:10 +0100
commit1e4d229d987a105d2bdb3efdea6355d3a5cf9f10 (patch)
treee4b2326e7bdeffe1f0254e58057d88524f03c196
parente107ddf142f79e21f90dad6ab6c5b0722a2d6537 (diff)
k053247: put the real memory size. Fixes the soccerss crashes, if not the memory test itself.
-rw-r--r--src/mame/drivers/konamigx.cpp8
-rw-r--r--src/mame/video/k053246_k053247_k055673.cpp6
2 files changed, 6 insertions, 8 deletions
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index b76d73a0ffa..8a5c7fbd5cd 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -1028,9 +1028,7 @@ void konamigx_state::gx_base_memmap(address_map &map)
map(0x400000, 0x7fffff).rom(); // data ROM
map(0xc00000, 0xc1ffff).ram().share("workram");
map(0xd00000, 0xd01fff).r(m_k056832, FUNC(k056832_device::k_5bpp_rom_long_r));
- map(0xd20000, 0xd20fff).rw(m_k055673, FUNC(k055673_device::k053247_word_r), FUNC(k055673_device::k053247_word_w));
- map(0xd21000, 0xd21fff).ram(); // second bank of sprite RAM, accessed thru ESC
- map(0xd22000, 0xd23fff).ram(); // extra bank checked at least by sexyparo, pending further investigation.
+ map(0xd20000, 0xd23fff).rw(m_k055673, FUNC(k055673_device::k053247_word_r), FUNC(k055673_device::k053247_word_w));
map(0xd40000, 0xd4003f).w(m_k056832, FUNC(k056832_device::word_w));
map(0xd44000, 0xd4400f).w(FUNC(konamigx_state::konamigx_tilebank_w));
map(0xd48000, 0xd48007).w(m_k055673, FUNC(k055673_device::k053246_w));
@@ -1085,7 +1083,7 @@ void konamigx_state::gx_type2_map(address_map &map)
void konamigx_state::gx_type3_map(address_map &map)
{
gx_base_memmap(map);
- map(0xd20000, 0xd21fff).rw(m_k055673, FUNC(k055673_device::k053247_word_r), FUNC(k055673_device::k053247_word_w));
+ map(0xd20000, 0xd23fff).rw(m_k055673, FUNC(k055673_device::k053247_word_r), FUNC(k055673_device::k053247_word_w));
map(0xd90000, 0xd97fff).ram();
//map(0xcc0000, 0xcc0007).w(FUNC(konamigx_state::type4_prot_w));
map(0xe00000, 0xe0001f).ram().share("k053936_0_ctrl");
@@ -1102,7 +1100,7 @@ void konamigx_state::gx_type4_map(address_map &map)
{
gx_base_memmap(map);
map(0xcc0000, 0xcc0007).w(FUNC(konamigx_state::type4_prot_w));
- map(0xd20000, 0xd21fff).rw(m_k055673, FUNC(k055673_device::k053247_word_r), FUNC(k055673_device::k053247_word_w));
+ map(0xd20000, 0xd23fff).rw(m_k055673, FUNC(k055673_device::k053247_word_r), FUNC(k055673_device::k053247_word_w));
map(0xd90000, 0xd97fff).ram();
map(0xe00000, 0xe0001f).ram().share("k053936_0_ctrl");
map(0xe20000, 0xe20003).nopw();
diff --git a/src/mame/video/k053246_k053247_k055673.cpp b/src/mame/video/k053246_k053247_k055673.cpp
index 389c6de42a2..f54f0cd8e5b 100644
--- a/src/mame/video/k053246_k053247_k055673.cpp
+++ b/src/mame/video/k053246_k053247_k055673.cpp
@@ -1026,13 +1026,13 @@ void k055673_device::device_start()
m_z_rejection = -1;
m_gfx = gfx(gfx_index);
m_objcha_line = CLEAR_LINE;
- m_ram = std::make_unique<u16[]>(0x1000/2);
+ m_ram = std::make_unique<u16[]>(0x4000/2);
- memset(m_ram.get(), 0, 0x1000);
+ memset(m_ram.get(), 0, 0x4000);
std::fill(std::begin(m_kx46_regs), std::end(m_kx46_regs), 0);
std::fill(std::begin(m_kx47_regs), std::end(m_kx47_regs), 0);
- save_pointer(NAME(m_ram), 0x800);
+ save_pointer(NAME(m_ram), 0x2000);
save_item(NAME(m_kx46_regs));
save_item(NAME(m_kx47_regs));
save_item(NAME(m_objcha_line));