summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2017-08-24 12:01:29 +0200
committer GitHub <noreply@github.com>2017-08-24 12:01:29 +0200
commit8f275207673fbab418878da0e8cfcc3940b35133 (patch)
tree52a631def634c9e0c2c0e058830cf5fcd2aa868e
parent36049eb0602ce44ff9fb04f3d6f6c94e9c93be76 (diff)
nightgal.cpp: better ym hook-up for sgaltrop, sound and controls seem to work (nw)
-rw-r--r--src/mame/drivers/nightgal.cpp61
1 files changed, 38 insertions, 23 deletions
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index 5240c522b36..47da13cfaf6 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -320,6 +320,19 @@ WRITE8_MEMBER(nightgal_state::output_w)
*
********************************************/
+
+/********************************
+* Common
+********************************/
+
+static ADDRESS_MAP_START( common_nsc_map, AS_PROGRAM, 8, nightgal_state )
+ AM_RANGE(0x0000, 0x007f) AM_RAM
+ AM_RANGE(0x0080, 0x0080) AM_READ_PORT("BLIT_PORT")
+ AM_RANGE(0x0081, 0x0083) AM_READ(royalqn_nsc_blit_r)
+ AM_RANGE(0x00a0, 0x00af) AM_DEVWRITE("blitter", jangou_blitter_device, vregs_w)
+ AM_RANGE(0x00b0, 0x00b0) AM_DEVWRITE("blitter", jangou_blitter_device, bltflip_w)
+ADDRESS_MAP_END
+
/********************************
* Sexy Gal
********************************/
@@ -331,9 +344,8 @@ static ADDRESS_MAP_START( sexygal_map, AS_PROGRAM, 8, nightgal_state )
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sexygal_io, AS_IO, 8, nightgal_state )
+static ADDRESS_MAP_START( common_sexygal_io, AS_IO, 8, nightgal_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0x10,0x10) AM_READ_PORT("DSWA") AM_WRITE(output_w)
AM_RANGE(0x11,0x11) AM_READ_PORT("SYSTEM") AM_WRITE(mux_w)
AM_RANGE(0x12,0x12) AM_MIRROR(0xe8) AM_READ_PORT("DSWB") AM_WRITE(royalqn_blitter_0_w)
@@ -341,26 +353,31 @@ static ADDRESS_MAP_START( sexygal_io, AS_IO, 8, nightgal_state )
AM_RANGE(0x14,0x14) AM_MIRROR(0xe8) AM_READNOP AM_WRITE(royalqn_blitter_2_w)
ADDRESS_MAP_END
+static ADDRESS_MAP_START( sexygal_io, AS_IO, 8, nightgal_state )
+ AM_IMPORT_FROM( common_sexygal_io )
+
+ AM_RANGE(0x00,0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( sgaltrop_io, AS_IO, 8, nightgal_state )
+ AM_IMPORT_FROM( common_sexygal_io )
+
+ AM_RANGE(0x01,0x01) AM_DEVREAD("ymsnd", ym2203_device, data_r)
+ AM_RANGE(0x02,0x03) AM_DEVWRITE("ymsnd", ym2203_device, data_address_w)
+ADDRESS_MAP_END
+
static ADDRESS_MAP_START( sexygal_nsc_map, AS_PROGRAM, 8, nightgal_state )
- AM_RANGE(0x0000, 0x007f) AM_RAM
- AM_RANGE(0x0080, 0x0080) AM_READ_PORT("BLIT_PORT")
- AM_RANGE(0x0081, 0x0083) AM_READ(royalqn_nsc_blit_r)
- AM_RANGE(0x0080, 0x0086) AM_DEVWRITE("blitter", jangou_blitter_device, alt_process_w)
- AM_RANGE(0x00a0, 0x00af) AM_DEVWRITE("blitter", jangou_blitter_device, vregs_w)
- AM_RANGE(0x00b0, 0x00b0) AM_DEVWRITE("blitter", jangou_blitter_device, bltflip_w)
+ AM_IMPORT_FROM( common_nsc_map )
+ AM_RANGE(0x0080, 0x0086) AM_DEVWRITE("blitter", jangou_blitter_device, alt_process_w)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x2c00) AM_READWRITE(royalqn_comm_r, royalqn_comm_w) AM_SHARE("comms_ram")
AM_RANGE(0xc000, 0xdfff) AM_MIRROR(0x2000) AM_ROM AM_REGION("subrom", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sgaltrop_nsc_map, AS_PROGRAM, 8, nightgal_state )
- AM_RANGE(0x0000, 0x007f) AM_RAM
- AM_RANGE(0x0080, 0x0080) AM_READ_PORT("BLIT_PORT")
- AM_RANGE(0x0081, 0x0083) AM_READ(royalqn_nsc_blit_r)
- AM_RANGE(0x0080, 0x0086) AM_DEVWRITE("blitter", jangou_blitter_device, alt_process_w)
- AM_RANGE(0x00a0, 0x00af) AM_DEVWRITE("blitter", jangou_blitter_device, vregs_w)
- AM_RANGE(0x00b0, 0x00b0) AM_DEVWRITE("blitter", jangou_blitter_device, bltflip_w)
+ AM_IMPORT_FROM( common_nsc_map )
+ AM_RANGE(0x0080, 0x0086) AM_DEVWRITE("blitter", jangou_blitter_device, alt_process_w)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x2c00) AM_READWRITE(royalqn_comm_r, royalqn_comm_w) AM_SHARE("comms_ram")
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("subrom", 0)
ADDRESS_MAP_END
@@ -392,14 +409,10 @@ static ADDRESS_MAP_START( royalqn_io, AS_IO, 8, nightgal_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( royalqn_nsc_map, AS_PROGRAM, 8, nightgal_state )
- AM_RANGE(0x0000, 0x007f) AM_RAM
- AM_RANGE(0x0080, 0x0080) AM_READ_PORT("BLIT_PORT")
- AM_RANGE(0x0081, 0x0083) AM_READ(royalqn_nsc_blit_r)
- AM_RANGE(0x0080, 0x0086) AM_DEVWRITE("blitter", jangou_blitter_device, process_w)
- AM_RANGE(0x00a0, 0x00af) AM_DEVWRITE("blitter", jangou_blitter_device, vregs_w)
- AM_RANGE(0x00b0, 0x00b0) AM_DEVWRITE("blitter", jangou_blitter_device, bltflip_w)
+ AM_IMPORT_FROM( common_nsc_map )
- AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x2c00) AM_READWRITE(royalqn_comm_r,royalqn_comm_w)
+ AM_RANGE(0x0080, 0x0086) AM_DEVWRITE("blitter", jangou_blitter_device, process_w)
+ AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x2c00) AM_READWRITE(royalqn_comm_r, royalqn_comm_w)
AM_RANGE(0x4000, 0x4000) AM_NOP
AM_RANGE(0x8000, 0x8000) AM_NOP //open bus or protection check
AM_RANGE(0xc000, 0xdfff) AM_MIRROR(0x2000) AM_ROM AM_REGION("subrom", 0)
@@ -720,12 +733,14 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ngalsumr, royalqn )
MCFG_CPU_MODIFY("maincpu")
- MCFG_CPU_PROGRAM_MAP(royalqn_map)
- MCFG_CPU_IO_MAP(royalqn_io)
MCFG_CPU_PERIODIC_INT_DRIVER(nightgal_state, nmi_line_pulse, 60)//???
+
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sgaltrop, sexygal )
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_IO_MAP(sgaltrop_io)
+
MCFG_CPU_MODIFY("sub")
MCFG_CPU_PROGRAM_MAP(sgaltrop_nsc_map)
MACHINE_CONFIG_END