summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author David Haywood <mamehaze@users.noreply.github.com>2015-12-12 19:17:12 +0000
committer David Haywood <mamehaze@users.noreply.github.com>2015-12-12 19:17:12 +0000
commit083d13a4120b0e252efad2da4c2173811042f83d (patch)
treed554090fa4172d4c9ffffea108ee420b13f76fe6
parent850733ce5aaff7e6a378e1335db4322ef3d1d918 (diff)
fix 64th street attract demo movements. very nmk-like...
need to make sure this hasn't broken anything still tho
-rw-r--r--src/mame/drivers/megasys1.cpp13
-rw-r--r--src/mame/includes/megasys1.h2
2 files changed, 14 insertions, 1 deletions
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index 0c49f28a84f..b5158b4eb5f 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -290,6 +290,17 @@ ADDRESS_MAP_END
#define INTERRUPT_NUM_C INTERRUPT_NUM_B
#define interrupt_C interrupt_B
+WRITE16_MEMBER(megasys1_state::ms1_ram_w )
+{
+ // DON'T use COMBINE_DATA
+ // byte writes end up mirroring in both words like nmk16.c
+ // 64street relies on this for attract inputs
+
+ m_ram[offset] = data;
+// if (mem_mask != 0xffff) printf("byte write to RAM %04x %04x %04x\n", offset, data, mem_mask);
+
+}
+
static ADDRESS_MAP_START( megasys1C_map, AS_PROGRAM, 16, megasys1_state )
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
@@ -301,7 +312,7 @@ static ADDRESS_MAP_START( megasys1C_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0e8000, 0x0ebfff) AM_MIRROR(0x4000) AM_RAM_WRITE(megasys1_scrollram_1_w) AM_SHARE("scrollram.1")
AM_RANGE(0x0f0000, 0x0f3fff) AM_MIRROR(0x4000) AM_RAM_WRITE(megasys1_scrollram_2_w) AM_SHARE("scrollram.2")
AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x1c0000, 0x1cffff) AM_MIRROR(0x30000) AM_RAM AM_SHARE("ram") //0x1f****, Cybattler reads attract mode inputs at 0x1d****
+ AM_RANGE(0x1c0000, 0x1cffff) AM_MIRROR(0x30000) AM_RAM_WRITE(ms1_ram_w) AM_SHARE("ram") //0x1f****, Cybattler reads attract mode inputs at 0x1d****
ADDRESS_MAP_END
diff --git a/src/mame/includes/megasys1.h b/src/mame/includes/megasys1.h
index f71fde37db4..150f473d1a5 100644
--- a/src/mame/includes/megasys1.h
+++ b/src/mame/includes/megasys1.h
@@ -149,6 +149,8 @@ public:
INTERRUPT_GEN_MEMBER(megasys1D_irq);
TIMER_DEVICE_CALLBACK_MEMBER(megasys1A_scanline);
TIMER_DEVICE_CALLBACK_MEMBER(megasys1B_scanline);
+ DECLARE_WRITE16_MEMBER(ms1_ram_w);
+
inline void scrollram_w(offs_t offset, UINT16 data, UINT16 mem_mask, int which);
void create_tilemaps();
void megasys1_priority_create();