diff options
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 |
commit | 3fc2f946282ace1a5e06cb8e2dea5759d58be87f (patch) | |
tree | 22312b2feba99f5508c81e31373bb462cef968be | |
parent | d108efdb74c452a9ecf819790da55b3bfb03be2e (diff) |
Fix 20pacgal.
-rw-r--r-- | src/emu/memory.c | 5 | ||||
-rw-r--r-- | src/mame/drivers/20pacgal.c | 26 | ||||
-rw-r--r-- | src/mame/includes/20pacgal.h | 6 |
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; |