diff options
| author | 2009-01-29 09:00:25 +0000 | |
|---|---|---|
| committer | 2009-01-29 09:00:25 +0000 | |
| commit | af09f6a1d633cbb85982c0f20c3fd6df0176114b (patch) | |
| tree | ff0d78fa28f8227e08e033c48d95f3cc8499c107 | |
| parent | d041766ee8ef7f18e093c50eac6692b3e1c01167 (diff) | |
02888: All sets in megaplay.c: Large black box obscuring game
Also merged memory maps.
| -rw-r--r-- | src/mame/drivers/megaplay.c | 42 | ||||
| -rw-r--r-- | src/mame/video/segasyse.c | 6 |
2 files changed, 19 insertions, 29 deletions
diff --git a/src/mame/drivers/megaplay.c b/src/mame/drivers/megaplay.c index cfeeea2a04d..cb255ef6c24 100644 --- a/src/mame/drivers/megaplay.c +++ b/src/mame/drivers/megaplay.c @@ -686,38 +686,24 @@ static WRITE8_HANDLER( megaplay_game_w ) } } -static ADDRESS_MAP_START( megaplay_bios_readmem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM) - AM_RANGE(0x4000, 0x4fff) AM_READ(SMH_RAM) - AM_RANGE(0x5000, 0x5fff) AM_READ(SMH_RAM) +static ADDRESS_MAP_START( megaplay_bios_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x4fff) AM_RAM + AM_RANGE(0x5000, 0x5fff) AM_RAM + AM_RANGE(0x6000, 0x6000) AM_WRITE(megaplay_game_w) AM_RANGE(0x6200, 0x6200) AM_READ_PORT("DSW0") AM_RANGE(0x6201, 0x6201) AM_READ_PORT("DSW1") + AM_RANGE(0x6203, 0x6203) AM_READWRITE(megaplay_bios_banksel_r, megaplay_bios_banksel_w) + AM_RANGE(0x6204, 0x6204) AM_READWRITE(megaplay_bios_6204_r, megaplay_bios_width_w) AM_RANGE(0x6400, 0x6400) AM_READ_PORT("TEST") AM_RANGE(0x6401, 0x6401) AM_READ_PORT("COIN") - AM_RANGE(0x6204, 0x6204) AM_READ(megaplay_bios_6204_r) - AM_RANGE(0x6203, 0x6203) AM_READ(megaplay_bios_banksel_r) - AM_RANGE(0x6402, 0x6402) AM_READ(megaplay_bios_6402_r) - AM_RANGE(0x6403, 0x6403) AM_READ(megaplay_bios_gamesel_r) - AM_RANGE(0x6404, 0x6404) AM_READ(megaplay_bios_6404_r) - AM_RANGE(0x6600, 0x6600) AM_READ(megaplay_bios_6600_r) - AM_RANGE(0x6800, 0x77ff) AM_READ(SMH_RAM) - AM_RANGE(0x8000, 0xffff) AM_READ(bank_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( megaplay_bios_writemem, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM) - AM_RANGE(0x4000, 0x4fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x5000, 0x5fff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6000, 0x6000) AM_WRITE(megaplay_game_w) - AM_RANGE(0x6203, 0x6203) AM_WRITE(megaplay_bios_banksel_w) - AM_RANGE(0x6204, 0x6204) AM_WRITE(megaplay_bios_width_w) - AM_RANGE(0x6402, 0x6402) AM_WRITE(megaplay_bios_6402_w) - AM_RANGE(0x6403, 0x6403) AM_WRITE(megaplay_bios_gamesel_w) - AM_RANGE(0x6404, 0x6404) AM_WRITE(megaplay_bios_6404_w) - AM_RANGE(0x6600, 0x6600) AM_WRITE(megaplay_bios_6600_w) + AM_RANGE(0x6402, 0x6402) AM_READWRITE(megaplay_bios_6402_r, megaplay_bios_6402_w) + AM_RANGE(0x6403, 0x6403) AM_READWRITE(megaplay_bios_gamesel_r, megaplay_bios_gamesel_w) + AM_RANGE(0x6404, 0x6404) AM_READWRITE(megaplay_bios_6404_r, megaplay_bios_6404_w) + AM_RANGE(0x6600, 0x6600) AM_READWRITE(megaplay_bios_6600_r, megaplay_bios_6600_w) AM_RANGE(0x6001, 0x67ff) AM_WRITE(SMH_RAM) - AM_RANGE(0x6800, 0x77ff) AM_WRITE(SMH_RAM) AM_BASE(&ic3_ram) - AM_RANGE(0x8000, 0xffff) AM_WRITE(bank_w) + AM_RANGE(0x6800, 0x77ff) AM_RAM AM_BASE(&ic3_ram) + AM_RANGE(0x8000, 0xffff) AM_READWRITE(bank_r, bank_w) ADDRESS_MAP_END /* basically from src/drivers/segasyse.c */ @@ -791,7 +777,7 @@ static MACHINE_DRIVER_START( mpnew ) /* The Megaplay has an extra BIOS cpu which drives an SMS VDP which includes an SN76496 for sound */ MDRV_CPU_ADD("mpbios", Z80, MASTER_CLOCK / 15) /* ?? */ - MDRV_CPU_PROGRAM_MAP(megaplay_bios_readmem, megaplay_bios_writemem) + MDRV_CPU_PROGRAM_MAP(megaplay_bios_map,0) MDRV_CPU_IO_MAP(megaplay_bios_io_map,0) MDRV_CPU_VBLANK_INT_HACK(megaplay_bios_irq, 262) diff --git a/src/mame/video/segasyse.c b/src/mame/video/segasyse.c index 45e1b583de9..b9ec0bc5d29 100644 --- a/src/mame/video/segasyse.c +++ b/src/mame/video/segasyse.c @@ -78,7 +78,11 @@ VIDEO_UPDATE( megaplay_normal ) UINT16 *dest = BITMAP_ADDR16(bitmap, i, 32); int x; for (x = 0; x < 256; x++) - dest[x] = screen->machine->pens[palette_base + cache_bitmap[(i-16) * (16+256+16) + 24 + x]]; + { + UINT8 pix = cache_bitmap[(i-16) * (16+256+16) + 24 + x]; + if (pix != 0) + dest[x] = screen->machine->pens[palette_base + pix]; + } } return 0; |
