summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2009-02-16 17:33:37 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2009-02-16 17:33:37 +0000
commit7c350198118dadcf373f5fc0d209683138904644 (patch)
treed41a92da0521ecad160d61b0d87d31657d8a0139
parent3c0e6d33548443714b921dde22cdce5b2007a04d (diff)
Corrected memory map for gardiab and promoted it to working. [Angelo Salese]
-rw-r--r--src/mame/drivers/system1.c34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index 82dbb094fa8..4f755509337 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -257,6 +257,25 @@ static ADDRESS_MAP_START( chplft_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xef00, 0xefff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
+static ADDRESS_MAP_START( gardiab_writemem, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
+ AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_ROM)
+ AM_RANGE(0xc000, 0xcfff) AM_WRITE(SMH_RAM) // ROM
+ AM_RANGE(0xd000, 0xd1ff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
+ AM_RANGE(0xd800, 0xddff) AM_WRITE(system1_paletteram_w) AM_BASE(&paletteram)
+ AM_RANGE(0xe7bd, 0xe7bd) AM_WRITE(SMH_RAM) AM_BASE(&system1_scroll_y) // ???
+ AM_RANGE(0xe7c0, 0xe7c1) AM_WRITE(SMH_RAM) AM_BASE(&system1_scroll_x)
+ AM_RANGE(0xe000, 0xe7ff) AM_WRITE(SMH_RAM) AM_BASE(&system1_videoram) AM_SIZE(&system1_videoram_size)
+ AM_RANGE(0xe800, 0xeeff) AM_WRITE(system1_backgroundram_w) AM_BASE(&system1_backgroundram) AM_SIZE(&system1_backgroundram_size)
+ AM_RANGE(0xf000, 0xf3ff) AM_WRITE(system1_background_collisionram_w) AM_BASE(&system1_background_collisionram)
+ AM_RANGE(0xf800, 0xfbff) AM_WRITE(system1_sprites_collisionram_w) AM_BASE(&system1_sprites_collisionram)
+
+ /* needed for P.O.S.T. */
+ AM_RANGE(0xd200, 0xd7ff) AM_WRITE(SMH_RAM)
+ AM_RANGE(0xde00, 0xdfff) AM_WRITE(SMH_RAM)
+ AM_RANGE(0xef00, 0xefff) AM_WRITE(SMH_RAM)
+ADDRESS_MAP_END
+
static ADDRESS_MAP_START( dakkochn_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0xbfff) AM_WRITE(SMH_ROM)
@@ -1789,6 +1808,19 @@ static MACHINE_DRIVER_START( chplft )
MACHINE_DRIVER_END
+static MACHINE_DRIVER_START( gardiab )
+
+ /* basic machine hardware */
+ MDRV_IMPORT_FROM( chplft )
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(brain_readmem,gardiab_writemem)
+ MDRV_CPU_IO_MAP(chplft_io_map,0)
+
+ MDRV_MACHINE_RESET(system1_banked)
+
+ /* video hardware */
+ MDRV_VIDEO_UPDATE(system1)
+MACHINE_DRIVER_END
static MACHINE_DRIVER_START( dakkochn )
@@ -4425,7 +4457,7 @@ GAME( 1986, wboyu, wboy, system1, wboyu, 0, ROT0, "Sega (Esc
GAME( 1986, wboysys2, wboy, wbml, wboysys2, wboy, ROT0, "Sega (Escape license)", "Wonder Boy (system 2)", GAME_SUPPORTS_SAVE )
GAME( 1986, wbdeluxe, wboy, system1, wbdeluxe, 0, ROT0, "Sega (Escape license)", "Wonder Boy Deluxe", GAME_SUPPORTS_SAVE )
GAME( 1986, gardia, 0, brain, gardia, gardia, ROT270, "Sega / Coreland", "Gardia (317-0006)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE)
-GAME( 1986, gardiab, gardia, brain, gardia, gardiab, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", GAME_NOT_WORKING | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1986, gardiab, gardia, gardiab, gardia, gardiab, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
GAME( 1986, nob, nobb, nob, nob, 0, ROT270, "Data East Corporation", "Noboranka (Japan)", GAME_NOT_WORKING )
GAME( 1986, nobb, 0, nobb, nob, nobb, ROT270, "bootleg", "Noboranka (Japan, bootleg)", GAME_SUPPORTS_SAVE )
GAME( 1987, blockgal, 0, system1, blockgal, blockgal, ROT90, "Sega / Vic Tokai", "Block Gal (MC-8123B, 317-0029)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE)