summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2010-12-22 23:31:12 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2010-12-22 23:31:12 +0000
commit0f0bdc3623b2a4d638fe29e01718cd2d447938ac (patch)
tree3472f162e54de941ee6a374745288ef1125f2939 /src
parent766ad337a65d2bc2e001088056cff8a8e0e046cb (diff)
Improvement to X Se Dae, no whatsnew
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/raiden2.c109
1 files changed, 96 insertions, 13 deletions
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 19db1768b8b..43a7379eed5 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -845,10 +845,7 @@ WRITE16_MEMBER(raiden2_state::raiden2_sound_comms_w)
/* MEMORY MAPS */
-
-static ADDRESS_MAP_START( raiden2_mem, ADDRESS_SPACE_PROGRAM, 16, raiden2_state )
- AM_RANGE(0x00000, 0x003ff) AM_RAM
-
+static ADDRESS_MAP_START( raiden2_cop_mem, ADDRESS_SPACE_PROGRAM, 16, raiden2_state )
AM_RANGE(0x00420, 0x00421) AM_WRITE(cop_itoa_low_w)
AM_RANGE(0x00422, 0x00423) AM_WRITE(cop_itoa_high_w)
AM_RANGE(0x00424, 0x00425) AM_WRITE(cop_itoa_digit_count_w)
@@ -886,6 +883,12 @@ static ADDRESS_MAP_START( raiden2_mem, ADDRESS_SPACE_PROGRAM, 16, raiden2_state
AM_RANGE(0x006cc, 0x006cd) AM_WRITE(tile_bank_01_w)
AM_RANGE(0x006ce, 0x006cf) AM_WRITE(sprcpt_flags_2_w)
AM_RANGE(0x006fc, 0x006fd) AM_WRITE(cop_dma_trigger_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( raiden2_mem, ADDRESS_SPACE_PROGRAM, 16, raiden2_state )
+ AM_RANGE(0x00000, 0x003ff) AM_RAM
+
+ AM_IMPORT_FROM( raiden2_cop_mem )
AM_RANGE(0x00700, 0x0071f) AM_READWRITE(raiden2_sound_comms_r,raiden2_sound_comms_w)
@@ -909,33 +912,56 @@ static ADDRESS_MAP_START( raiden2_mem, ADDRESS_SPACE_PROGRAM, 16, raiden2_state
ADDRESS_MAP_END
static ADDRESS_MAP_START( zeroteam_mem, ADDRESS_SPACE_PROGRAM, 16, raiden2_state )
+ AM_RANGE(0x00000, 0x003ff) AM_RAM
- AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(mid_data)
- AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(text_data)
- AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_IMPORT_FROM( raiden2_cop_mem )
+
+ AM_RANGE(0x00700, 0x0071f) AM_READWRITE(raiden2_sound_comms_r,raiden2_sound_comms_w)
+
+ AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
+ AM_RANGE(0x00744, 0x00745) AM_READ_PORT("CONTROLS")
+ AM_RANGE(0x0074c, 0x0074d) AM_READ_PORT("SYSTEM")
/* unknown ranges of the following two! (we can't test enough of this so far) */
AM_RANGE(0x0b800, 0x0bfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(fore_data)
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(back_data)
+ AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(mid_data)
+ AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(text_data)
+ AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+
AM_RANGE(0x00800, 0x0ffff) AM_RAM
AM_RANGE(0x10000, 0x1ffff) AM_RAM
- AM_IMPORT_FROM( raiden2_mem )
+
+ AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("mainbank")
+ AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("mainprg", 0x40000)
ADDRESS_MAP_END
static ADDRESS_MAP_START( xsedae_mem, ADDRESS_SPACE_PROGRAM, 16, raiden2_state )
+ AM_RANGE(0x00000, 0x003ff) AM_RAM
- AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(mid_data)
- AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(text_data)
- AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+ AM_IMPORT_FROM( raiden2_cop_mem )
+
+ AM_RANGE(0x00700, 0x0071f) AM_READWRITE(raiden2_sound_comms_r,raiden2_sound_comms_w)
+
+ AM_RANGE(0x00740, 0x00741) AM_READ_PORT("DSW")
+ AM_RANGE(0x00744, 0x00745) AM_READ_PORT("CONTROLS")
+ AM_RANGE(0x0074c, 0x0074d) AM_READ_PORT("SYSTEM")
/* unknown ranges of the following two! (we can't test enough of this so far) */
AM_RANGE(0x0b800, 0x0bfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(fore_data)
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(back_data)
+ AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(mid_data)
+ AM_RANGE(0x0d000, 0x0dfff) AM_RAM_WRITE(raiden2_text_w) AM_BASE(text_data)
+ /* TODO: probably needs a DMA */
+ AM_RANGE(0x14800, 0x157ff) AM_RAM AM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
+
AM_RANGE(0x00800, 0x0ffff) AM_RAM
AM_RANGE(0x10000, 0x1ffff) AM_RAM
- AM_IMPORT_FROM( raiden2_mem )
+
+ AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("mainbank")
+ AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("mainprg", 0x40000)
ADDRESS_MAP_END
@@ -1175,6 +1201,60 @@ static INPUT_PORTS_START( zeroteam )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END
+static INPUT_PORTS_START( xsedae )
+ PORT_INCLUDE( raiden2 )
+
+ PORT_MODIFY("DSW")
+ PORT_DIPNAME( 0x0001, 0x0001, "DSW0" )
+ PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0100, 0x0100, "DSW1" )
+ PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+ PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
+INPUT_PORTS_END
+
/*************************************
*
* Graphics layouts
@@ -1269,6 +1349,9 @@ static MACHINE_CONFIG_DERIVED( xsedae, raiden2 )
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(xsedae_mem)
+ MDRV_SCREEN_MODIFY("screen")
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0, 32*8-1)
+
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( zeroteam, raiden2_state )
@@ -2122,4 +2205,4 @@ GAME( 1993, zeroteamb,zeroteam,zeroteam, zeroteam, raiden2, ROT0, "Seibu Kai
GAME( 1993, zeroteamc,zeroteam,zeroteam, zeroteam, raiden2, ROT0, "Seibu Kaihatsu", "Zero Team (set 4)", GAME_NOT_WORKING|GAME_NO_SOUND)
GAME( 1993, zeroteams,zeroteam,zeroteam, zeroteam, raiden2, ROT0, "Seibu Kaihatsu", "Zero Team Selection", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1995, xsedae, 0, xsedae, raiden2, xsedae, ROT0, "Dream Island", "X Se Dae Quiz", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1995, xsedae, 0, xsedae, xsedae, xsedae, ROT0, "Dream Island", "X Se Dae Quiz", GAME_NOT_WORKING|GAME_NO_SOUND)