summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2010-12-08 06:46:08 +0000
committer Aaron Giles <aaron@aarongiles.com>2010-12-08 06:46:08 +0000
commit3fc2f946282ace1a5e06cb8e2dea5759d58be87f (patch)
tree22312b2feba99f5508c81e31373bb462cef968be
parentd108efdb74c452a9ecf819790da55b3bfb03be2e (diff)
Fix 20pacgal.
-rw-r--r--src/emu/memory.c5
-rw-r--r--src/mame/drivers/20pacgal.c26
-rw-r--r--src/mame/includes/20pacgal.h6
3 files changed, 25 insertions, 12 deletions
diff --git a/src/emu/memory.c b/src/emu/memory.c
index 095241d0236..c2b8d0a903b 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -2951,11 +2951,6 @@ UINT64 *address_space::install_legacy_handler(device_t &device, offs_t addrstart
//**************************************************************************
-// INTERNAL INITIALIZATION
-//**************************************************************************
-
-
-//**************************************************************************
// MEMORY MAPPING HELPERS
//**************************************************************************
diff --git a/src/mame/drivers/20pacgal.c b/src/mame/drivers/20pacgal.c
index 0c1b279e382..8901e4e0b60 100644
--- a/src/mame/drivers/20pacgal.c
+++ b/src/mame/drivers/20pacgal.c
@@ -186,6 +186,24 @@ static STATE_POSTLOAD( postload_20pacgal )
*
*************************************/
+static WRITE8_HANDLER( sprite_gfx_w )
+{
+ _20pacgal_state *state = space->machine->driver_data<_20pacgal_state>();
+ state->sprite_gfx_ram[offset] = data;
+}
+
+static WRITE8_HANDLER( sprite_ram_w )
+{
+ _20pacgal_state *state = space->machine->driver_data<_20pacgal_state>();
+ state->sprite_ram[offset] = data;
+}
+
+static WRITE8_HANDLER( sprite_lookup_w )
+{
+ _20pacgal_state *state = space->machine->driver_data<_20pacgal_state>();
+ state->sprite_color_lookup[offset] = data;
+}
+
static ADDRESS_MAP_START( 20pacgal_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x00000, 0x03fff) AM_ROM
AM_RANGE(0x04000, 0x07fff) AM_ROM
@@ -199,10 +217,10 @@ static ADDRESS_MAP_START( 20pacgal_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x46000, 0x46fff) AM_WRITEONLY AM_BASE_MEMBER(_20pacgal_state, char_gfx_ram)
AM_RANGE(0x47100, 0x47100) AM_RAM /* leftover from original Galaga code */
AM_RANGE(0x48000, 0x49fff) AM_READ_BANK("bank1") AM_WRITE(ram_48000_w) /* this should be a mirror of 08000-09ffff */
- AM_RANGE(0x4c000, 0x4dfff) AM_WRITEONLY AM_BASE_MEMBER(_20pacgal_state, sprite_gfx_ram)
- AM_RANGE(0x4e000, 0x4e17f) AM_WRITEONLY AM_BASE_MEMBER(_20pacgal_state, sprite_ram)
- AM_RANGE(0x4e180, 0x4feff) AM_NOP
- AM_RANGE(0x4ff00, 0x4ffff) AM_WRITEONLY AM_BASE_MEMBER(_20pacgal_state, sprite_color_lookup)
+ AM_RANGE(0x4c000, 0x4dfff) AM_WRITE(sprite_gfx_w)
+ AM_RANGE(0x4e000, 0x4e17f) AM_WRITE(sprite_ram_w)
+ AM_RANGE(0x4e180, 0x4feff) AM_WRITENOP
+ AM_RANGE(0x4ff00, 0x4ffff) AM_WRITE(sprite_lookup_w)
ADDRESS_MAP_END
diff --git a/src/mame/includes/20pacgal.h b/src/mame/includes/20pacgal.h
index 101c91fe2f5..5b8c603b62d 100644
--- a/src/mame/includes/20pacgal.h
+++ b/src/mame/includes/20pacgal.h
@@ -15,10 +15,10 @@ public:
/* memory pointers */
UINT8 *char_gfx_ram;
- UINT8 *sprite_gfx_ram;
+ UINT8 sprite_gfx_ram[0x2000];
UINT8 *video_ram;
- UINT8 *sprite_ram;
- UINT8 *sprite_color_lookup;
+ UINT8 sprite_ram[0x180];
+ UINT8 sprite_color_lookup[0x100];
UINT8 *flip;
UINT8 *stars_seed;
UINT8 *stars_ctrl;