summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-08-31 16:27:20 +0000
committer Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-08-31 16:27:20 +0000
commit8a5c4544b907d521395b9e433c43c1901a6cda6b (patch)
tree6b9257f80b60d12aaa94a73acd620d90a62eee35
parent1071e33c6c8efc078ed17ed249ca0a272169ee8c (diff)
The meager beginning of "The big IO_MAP merge of 2008". (Andrew Gardner)
Since I touch up a couple of things and test each driver after the automated merge, it still takes a few minutes for each file. More IO_MAP merges will trickle in over the next few days. It's likely not worth writing every driver in the whatsnew.txt, since there will be ~100.
-rw-r--r--src/mame/drivers/battlex.c12
-rw-r--r--src/mame/drivers/bwing.c10
-rw-r--r--src/mame/drivers/carjmbre.c12
-rw-r--r--src/mame/drivers/carrera.c12
-rw-r--r--src/mame/drivers/dotrikun.c12
-rw-r--r--src/mame/drivers/dribling.c13
-rw-r--r--src/mame/drivers/drmicro.c24
-rw-r--r--src/mame/drivers/funybubl.c19
-rw-r--r--src/mame/drivers/hanaawas.c17
-rw-r--r--src/mame/drivers/mayumi.c16
-rw-r--r--src/mame/drivers/mjkjidai.c14
-rw-r--r--src/mame/drivers/mjsister.c15
-rw-r--r--src/mame/drivers/mogura.c24
-rw-r--r--src/mame/drivers/mouser.c9
-rw-r--r--src/mame/drivers/mrjong.c20
-rw-r--r--src/mame/drivers/pass.c16
-rw-r--r--src/mame/drivers/pastelg.c28
-rw-r--r--src/mame/drivers/pitnrun.c17
-rw-r--r--src/mame/drivers/sangho.c30
-rw-r--r--src/mame/drivers/sg1000a.c18
-rw-r--r--src/mame/drivers/skyarmy.c30
-rw-r--r--src/mame/drivers/speedatk.c16
-rw-r--r--src/mame/drivers/sspeedr.c14
-rw-r--r--src/mame/drivers/starcrus.c20
-rw-r--r--src/mame/drivers/tiamc1.c16
25 files changed, 159 insertions, 275 deletions
diff --git a/src/mame/drivers/battlex.c b/src/mame/drivers/battlex.c
index e7120d125ba..a2f28369eeb 100644
--- a/src/mame/drivers/battlex.c
+++ b/src/mame/drivers/battlex.c
@@ -74,18 +74,15 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xe03f) AM_WRITE(battlex_palette_w) /* probably palette */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1")
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM")
AM_RANGE(0x02, 0x02) AM_READ_PORT("INPUTS")
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW2")
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_WRITE(battlex_flipscreen_w)
+
/* verify all of these */
AM_RANGE(0x22, 0x22) AM_WRITE(ay8910_write_port_0_w)
AM_RANGE(0x23, 0x23) AM_WRITE(ay8910_control_port_0_w)
@@ -210,7 +207,7 @@ static MACHINE_DRIVER_START( battlex )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,10000000/2 ) /* 10 MHz, divided ? (Z80A CPU) */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,8) /* controls game speed? */
/* video hardware */
@@ -296,3 +293,4 @@ static DRIVER_INIT( battlex )
/*** GAME DRIVERS ************************************************************/
GAME( 1982, battlex, 0, battlex, battlex, battlex, ROT180, "Omori Electric", "Battle Cross", GAME_IMPERFECT_GRAPHICS )
+
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index d5735753969..d9ea44dd71e 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -235,12 +235,9 @@ static ADDRESS_MAP_START( bwp3_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_ROM) AM_BASE(&bwp3_rombase) AM_SIZE(&bwp3_romsize)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( bwp3_readport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x00, 0x00) AM_READ_PORT("VBLANK")
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( bwp3_writeport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x00, 0x00) AM_WRITE(bwp3_u8F_w)
+static ADDRESS_MAP_START( bwp3_io_map, ADDRESS_SPACE_IO, 8 )
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("VBLANK") AM_WRITE(bwp3_u8F_w)
ADDRESS_MAP_END
//****************************************************************************
@@ -399,7 +396,7 @@ static MACHINE_DRIVER_START( bwing )
MDRV_CPU_ADD("audio", DECO16, 2000000)
MDRV_CPU_PROGRAM_MAP(bwp3_readmem, bwp3_writemem)
- MDRV_CPU_IO_MAP(bwp3_readport, bwp3_writeport)
+ MDRV_CPU_IO_MAP(bwp3_io_map,0)
MDRV_CPU_PERIODIC_INT(bwp3_interrupt, 1000)
MDRV_INTERLEAVE(300) // high enough?
@@ -628,3 +625,4 @@ GAME( 1984, bwingsa, bwings, bwing, bwing, bwing, ROT90, "Data East Corporation"
GAME( 1984, zaviga, 0, bwing, bwing, bwing, ROT90, "Data East Corporation", "Zaviga", 0 )
GAME( 1984, zavigaj, zaviga, bwing, bwing, bwing, ROT90, "Data East Corporation", "Zaviga (Japan)", 0 )
+
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index a23161c634b..d4fd7326639 100644
--- a/src/mame/drivers/carjmbre.c
+++ b/src/mame/drivers/carjmbre.c
@@ -91,18 +91,15 @@ static ADDRESS_MAP_START( carjmbre_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2000, 0x27ff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( carjmbre_sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
- AM_RANGE(0x24, 0x24) AM_READ(SMH_NOP) //??
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( carjmbre_sound_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( carjmbre_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x10, 0x10) AM_WRITE(SMH_NOP) //?? written on init/0xff sound command reset
AM_RANGE(0x20, 0x20) AM_WRITE(ay8910_control_port_0_w)
AM_RANGE(0x21, 0x21) AM_WRITE(ay8910_write_port_0_w)
AM_RANGE(0x22, 0x22) AM_WRITE(SMH_NOP) //?? written before and after 0x21 with same value
+ AM_RANGE(0x24, 0x24) AM_READ(SMH_NOP) //??
AM_RANGE(0x30, 0x30) AM_WRITE(ay8910_control_port_1_w)
AM_RANGE(0x31, 0x31) AM_WRITE(ay8910_write_port_1_w)
AM_RANGE(0x32, 0x32) AM_WRITE(SMH_NOP) //?? written before and after 0x31 with same value
@@ -190,7 +187,7 @@ static MACHINE_DRIVER_START( carjmbre )
MDRV_CPU_ADD("audio", Z80, 1500000)
MDRV_CPU_PROGRAM_MAP(carjmbre_sound_readmem,carjmbre_sound_writemem)
- MDRV_CPU_IO_MAP(carjmbre_sound_readport,carjmbre_sound_writeport)
+ MDRV_CPU_IO_MAP(carjmbre_sound_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
/* video hardware */
@@ -248,3 +245,4 @@ ROM_START( carjmbre )
ROM_END
GAME( 1983, carjmbre, 0, carjmbre, carjmbre, 0, ROT90, "Omori Electric Co., Ltd.", "Car Jamboree", GAME_IMPERFECT_COLORS )
+
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index 536f862aea1..b94a2bc0058 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -63,7 +63,8 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_RAM) AM_BASE(&carrera_tileram)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
@@ -71,17 +72,11 @@ static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x03, 0x03) AM_READ_PORT("IN3")
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN4")
AM_RANGE(0x05, 0x05) AM_READ_PORT("IN5")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x06, 0x06) AM_WRITE(SMH_NOP) // ?
-
AM_RANGE(0x08, 0x08) AM_WRITE(ay8910_control_port_0_w)
AM_RANGE(0x09, 0x09) AM_WRITE(ay8910_write_port_0_w)
ADDRESS_MAP_END
-
static INPUT_PORTS_START( carrera )
PORT_START("IN0") /* Port 0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
@@ -292,7 +287,7 @@ static MACHINE_DRIVER_START( carrera )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,MASTER_CLOCK/6)
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
/* video hardware */
@@ -340,3 +335,4 @@ ROM_END
GAME( 19??, carrera, 0, carrera, carrera,0, ROT0, "BS Electronics", "Carrera (Version 6.7)", GAME_WRONG_COLORS )
+
diff --git a/src/mame/drivers/dotrikun.c b/src/mame/drivers/dotrikun.c
index 1a3b88333ae..0c19f860d4e 100644
--- a/src/mame/drivers/dotrikun.c
+++ b/src/mame/drivers/dotrikun.c
@@ -38,17 +38,12 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("INPUTS")
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(dotrikun_color_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("INPUTS") AM_WRITE(dotrikun_color_w)
ADDRESS_MAP_END
-
static INPUT_PORTS_START( dotrikun )
PORT_START("INPUTS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
@@ -67,7 +62,7 @@ static MACHINE_DRIVER_START( dotrikun )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 4000000) /* 4 MHz */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
/* video hardware */
@@ -103,3 +98,4 @@ ROM_END
GAME( 1990, dotrikun, 0, dotrikun, dotrikun, 0, ROT0, "Sega", "Dottori Kun (new version)", GAME_NO_SOUND )
GAME( 1990, dotriku2, dotrikun, dotrikun, dotrikun, 0, ROT0, "Sega", "Dottori Kun (old version)", GAME_NO_SOUND )
+
diff --git a/src/mame/drivers/dribling.c b/src/mame/drivers/dribling.c
index b8bbe15c6ad..f4652838902 100644
--- a/src/mame/drivers/dribling.c
+++ b/src/mame/drivers/dribling.c
@@ -230,15 +230,9 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0xff) AM_READ(ioread)
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0xff) AM_WRITE(iowrite)
+ AM_RANGE(0x00, 0xff) AM_READWRITE(ioread, iowrite)
ADDRESS_MAP_END
@@ -303,7 +297,7 @@ static MACHINE_DRIVER_START( dribling )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 5000000)
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", dribling_irq_gen)
MDRV_DEVICE_ADD( "ppi8255_0", PPI8255 )
@@ -385,3 +379,4 @@ ROM_END
GAME( 1983, dribling, 0, dribling, dribling, 0, ROT0, "Model Racing", "Dribbling", GAME_NO_SOUND )
GAME( 1983, driblino, dribling, dribling, dribling, 0, ROT0, "Model Racing (Olympia license)", "Dribbling (Olympia)", GAME_NO_SOUND )
+
diff --git a/src/mame/drivers/drmicro.c b/src/mame/drivers/drmicro.c
index 9df57548969..c53a39527dd 100644
--- a/src/mame/drivers/drmicro.c
+++ b/src/mame/drivers/drmicro.c
@@ -87,23 +87,14 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
- AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
- AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1")
- AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2")
- AM_RANGE(0x05, 0x05) AM_READ(SMH_NOP) // unused?
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(sn76496_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(sn76496_1_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_WRITE(sn76496_0_w)
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_WRITE(sn76496_1_w)
AM_RANGE(0x02, 0x02) AM_WRITE(sn76496_2_w)
- AM_RANGE(0x03, 0x03) AM_WRITE(pcm_set_w)
- AM_RANGE(0x04, 0x04) AM_WRITE(nmi_enable_w)
- AM_RANGE(0x05, 0x05) AM_WRITE(SMH_NOP) // watchdog?
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1") AM_WRITE(pcm_set_w)
+ AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2") AM_WRITE(nmi_enable_w)
+ AM_RANGE(0x05, 0x05) AM_READWRITE(SMH_NOP, SMH_NOP) // unused? / watchdog?
ADDRESS_MAP_END
/****************************************************************************/
@@ -230,7 +221,7 @@ static MACHINE_DRIVER_START( drmicro )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,MCLK/6) /* 3.072MHz? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", drmicro_interrupt)
MDRV_INTERLEAVE(1)
@@ -298,3 +289,4 @@ ROM_START( drmicro )
ROM_END
GAME( 1983, drmicro, 0, drmicro, drmicro, 0, ROT270, "Sanritsu", "Dr. Micro", 0 )
+
diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c
index ae6aa93d92d..1e398d11a7a 100644
--- a/src/mame/drivers/funybubl.c
+++ b/src/mame/drivers/funybubl.c
@@ -106,25 +106,17 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x01, 0x01) AM_READ_PORT("P1")
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE(funybubl_vidram_bank_w) // vidram bank
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(funybubl_cpurombank_w) // rom bank?
AM_RANGE(0x02, 0x02) AM_READ_PORT("P2")
- AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW")
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW") AM_WRITE(funybubl_soundcommand_w)
AM_RANGE(0x06, 0x06) AM_READ(SMH_NOP) /* Nothing is done with the data read */
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(funybubl_vidram_bank_w) // vidram bank
- AM_RANGE(0x01, 0x01) AM_WRITE(funybubl_cpurombank_w) // rom bank?
- AM_RANGE(0x03, 0x03) AM_WRITE(funybubl_soundcommand_w)
AM_RANGE(0x06, 0x06) AM_WRITE(SMH_NOP) /* Written directly after IO port 0 */
AM_RANGE(0x07, 0x07) AM_WRITE(SMH_NOP) /* Reset something on startup - Sound CPU ?? */
ADDRESS_MAP_END
-
/* Sound CPU */
static ADDRESS_MAP_START( soundreadmem, ADDRESS_SPACE_PROGRAM, 8 )
@@ -246,7 +238,7 @@ static MACHINE_DRIVER_START( funybubl )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,12000000/2) /* 6 MHz?? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_CPU_ADD("audio", Z80,8000000/2) /* 4 MHz?? */
@@ -342,3 +334,4 @@ ROM_END
GAME( 1999, funybubl, 0, funybubl, funybubl, funybubl, ROT0, "In Chang Electronic Co", "Funny Bubble", 0 )
GAME( 1999, funybubc, funybubl, funybubl, funybubl, funybubl, ROT0, "Comad Industry Co Ltd", "Funny Bubble (Comad version)", 0 )
+
diff --git a/src/mame/drivers/hanaawas.c b/src/mame/drivers/hanaawas.c
index 92d26f62324..2a53a8b67e2 100644
--- a/src/mame/drivers/hanaawas.c
+++ b/src/mame/drivers/hanaawas.c
@@ -93,21 +93,15 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8800, 0x8bff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(hanaawas_input_port_0_r)
- AM_RANGE(0x01, 0x01) AM_READNOP /* it must return 0 */
- AM_RANGE(0x10, 0x10) AM_READ(ay8910_read_port_0_r)
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(hanaawas_inputs_mux_w)
- AM_RANGE(0x10, 0x10) AM_WRITE(ay8910_control_port_0_w)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(hanaawas_input_port_0_r, hanaawas_inputs_mux_w)
+ AM_RANGE(0x01, 0x01) AM_READNOP /* it must return 0 */
+ AM_RANGE(0x10, 0x10) AM_READWRITE(ay8910_read_port_0_r, ay8910_control_port_0_w)
AM_RANGE(0x11, 0x11) AM_WRITE(ay8910_write_port_0_w)
ADDRESS_MAP_END
-
static INPUT_PORTS_START( hanaawas )
PORT_START("IN0") /* IN0 */
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL )
@@ -209,7 +203,7 @@ static MACHINE_DRIVER_START( hanaawas )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,18432000/6) /* 3.072 MHz ??? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
/* video hardware */
@@ -264,3 +258,4 @@ ROM_END
GAME( 1982, hanaawas, 0, hanaawas, hanaawas, 0, ROT0, "Setakikaku, Ltd.", "Hana Awase", 0 )
+
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index ba3fd02f770..d2486985c14 100644
--- a/src/mame/drivers/mayumi.c
+++ b/src/mame/drivers/mayumi.c
@@ -86,20 +86,15 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xf7ff) AM_WRITE(mayumi_videoram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x30, 0x30) AM_READ_PORT("IN0")
- AM_RANGE(0xc1, 0xc2) AM_READ(key_matrix_r) // 0xc0-c3 8255ppi
- AM_RANGE(0xd1, 0xd1) AM_READ(ym2203_read_port_0_r)
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x30, 0x30) AM_WRITE(bank_sel_w)
+ AM_RANGE(0x30, 0x30) AM_READ_PORT("IN0") AM_WRITE(bank_sel_w)
AM_RANGE(0xc0, 0xc0) AM_WRITE(input_sel_w)
+ AM_RANGE(0xc1, 0xc2) AM_READ(key_matrix_r) // 0xc0-c3 8255ppi
AM_RANGE(0xc3, 0xc3) AM_WRITE(SMH_NOP) // 0xc0-c3 8255ppi
AM_RANGE(0xd0, 0xd0) AM_WRITE(ym2203_control_port_0_w)
- AM_RANGE(0xd1, 0xd1) AM_WRITE(ym2203_write_port_0_w)
+ AM_RANGE(0xd1, 0xd1) AM_READWRITE(ym2203_read_port_0_r, ym2203_write_port_0_w)
ADDRESS_MAP_END
/****************************************************************************/
@@ -284,7 +279,7 @@ static MACHINE_DRIVER_START( mayumi )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, MCLK/2) /* 5.000 MHz ? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", mayumi_interrupt)
MDRV_MACHINE_RESET( mayumi )
@@ -338,3 +333,4 @@ ROM_START( mayumi )
ROM_END
GAME( 1988, mayumi, 0, mayumi, mayumi, 0, ROT0, "[Sanritsu] Victory L.L.C.", "Kikiippatsu Mayumi-chan (Japan)", 0 )
+
diff --git a/src/mame/drivers/mjkjidai.c b/src/mame/drivers/mjkjidai.c
index aea81a0881e..f84d6362c96 100644
--- a/src/mame/drivers/mjkjidai.c
+++ b/src/mame/drivers/mjkjidai.c
@@ -173,26 +173,21 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xf7ff) AM_WRITE(mjkjidai_videoram_w) AM_BASE(&mjkjidai_videoram)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(keyboard_r)
AM_RANGE(0x01, 0x01) AM_READ(SMH_NOP) // ???
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
- AM_RANGE(0x11, 0x11) AM_READ_PORT("IN0")
- AM_RANGE(0x12, 0x12) AM_READ_PORT("IN1")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x02) AM_WRITE(keyboard_select_w)
AM_RANGE(0x10, 0x10) AM_WRITE(mjkjidai_ctrl_w) // rom bank, coin counter, flip screen etc
+ AM_RANGE(0x11, 0x11) AM_READ_PORT("IN0")
+ AM_RANGE(0x12, 0x12) AM_READ_PORT("IN1")
AM_RANGE(0x20, 0x20) AM_WRITE(sn76496_0_w)
AM_RANGE(0x30, 0x30) AM_WRITE(sn76496_1_w)
AM_RANGE(0x40, 0x40) AM_WRITE(adpcm_w)
ADDRESS_MAP_END
-
static INPUT_PORTS_START( mjkjidai )
PORT_START("IN0")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
@@ -357,7 +352,7 @@ static MACHINE_DRIVER_START( mjkjidai )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,10000000/2) /* 5 MHz ??? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
MDRV_NVRAM_HANDLER(mjkjidai)
@@ -425,3 +420,4 @@ ROM_END
GAME( 1986, mjkjidai, 0, mjkjidai, mjkjidai, 0, ROT0, "Sanritsu", "Mahjong Kyou Jidai (Japan)", GAME_IMPERFECT_GRAPHICS )
+
diff --git a/src/mame/drivers/mjsister.c b/src/mame/drivers/mjsister.c
index e3566d6ef9e..5b78f0f9090 100644
--- a/src/mame/drivers/mjsister.c
+++ b/src/mame/drivers/mjsister.c
@@ -162,18 +162,14 @@ static ADDRESS_MAP_START( mjsister_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xffff) AM_WRITE(mjsister_videoram_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjsister_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x11, 0x11) AM_READ(ay8910_read_port_0_r)
- AM_RANGE(0x20, 0x20) AM_READ(mjsister_keys_r)
- AM_RANGE(0x21, 0x21) AM_READ_PORT("IN0")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( mjsister_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( mjsister_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(SMH_NOP) /* HD46505? */
AM_RANGE(0x10, 0x10) AM_WRITE(ay8910_control_port_0_w)
+ AM_RANGE(0x11, 0x11) AM_READ(ay8910_read_port_0_r)
AM_RANGE(0x12, 0x12) AM_WRITE(ay8910_write_port_0_w)
+ AM_RANGE(0x20, 0x20) AM_READ(mjsister_keys_r)
+ AM_RANGE(0x21, 0x21) AM_READ_PORT("IN0")
AM_RANGE(0x30, 0x30) AM_WRITE(mjsister_banksel1_w)
AM_RANGE(0x31, 0x31) AM_WRITE(mjsister_banksel2_w)
AM_RANGE(0x32, 0x32) AM_WRITE(mjsister_input_sel1_w)
@@ -313,7 +309,7 @@ static MACHINE_DRIVER_START( mjsister )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, MCLK/2) /* 6.000 MHz */
MDRV_CPU_PROGRAM_MAP(mjsister_readmem,mjsister_writemem)
- MDRV_CPU_IO_MAP(mjsister_readport,mjsister_writeport)
+ MDRV_CPU_IO_MAP(mjsister_io_map,0)
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2)
MDRV_MACHINE_RESET(mjsister)
@@ -367,3 +363,4 @@ ROM_START( mjsister )
ROM_END
GAME( 1986, mjsister, 0, mjsister, mjsister, 0, ROT0, "Toaplan", "Mahjong Sisters (Japan)", 0 )
+
diff --git a/src/mame/drivers/mogura.c b/src/mame/drivers/mogura.c
index beedf1096c3..a87b6ab1311 100644
--- a/src/mame/drivers/mogura.c
+++ b/src/mame/drivers/mogura.c
@@ -86,28 +86,21 @@ static WRITE8_HANDLER( mogura_tileram_w )
tilemap_mark_tile_dirty(mogura_tilemap,offset&0x7ff);
}
+static WRITE8_HANDLER(dac_w)
+{
+ dac_0_data_w(machine, 0, data & 0xf0 ); /* left */
+ dac_1_data_w(machine, 0, (data & 0x0f)<<4 ); /* right */
+}
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0x00, 0x00) AM_WRITE(SMH_NOP) // ??
AM_RANGE(0x08, 0x08) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c, 0x0c) AM_READ_PORT("P1")
AM_RANGE(0x0d, 0x0d) AM_READ_PORT("P2")
AM_RANGE(0x0e, 0x0e) AM_READ_PORT("P3")
AM_RANGE(0x0f, 0x0f) AM_READ_PORT("P4")
AM_RANGE(0x10, 0x10) AM_READ_PORT("SERVICE")
-ADDRESS_MAP_END
-
-
-static WRITE8_HANDLER(dac_w)
-{
- dac_0_data_w(machine, 0, data & 0xf0 ); /* left */
- dac_1_data_w(machine, 0, (data & 0x0f)<<4 ); /* right */
-}
-
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(SMH_NOP) // ??
AM_RANGE(0x14, 0x14) AM_WRITE(dac_w) /* 4 bit DAC x 2. MSB = left, LSB = right */
ADDRESS_MAP_END
@@ -214,7 +207,7 @@ static MACHINE_DRIVER_START( mogura )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,3000000) /* 3 MHz */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_GFXDECODE(mogura)
@@ -252,3 +245,4 @@ ROM_START( mogura )
ROM_END
GAME( 1991, mogura, 0, mogura, mogura, 0, ROT0, "Konami", "Mogura Desse", 0 )
+
diff --git a/src/mame/drivers/mouser.c b/src/mame/drivers/mouser.c
index 2a37d6dd792..7c6e7a2295f 100644
--- a/src/mame/drivers/mouser.c
+++ b/src/mame/drivers/mouser.c
@@ -92,11 +92,7 @@ static ADDRESS_MAP_START( writemem2, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4000, 0x4000) AM_WRITE(SMH_NOP) /* watchdog? */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport2, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writeport2, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map_2, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(ay8910_write_port_0_w)
AM_RANGE(0x01, 0x01) AM_WRITE(ay8910_control_port_0_w)
@@ -206,7 +202,7 @@ static MACHINE_DRIVER_START( mouser )
MDRV_CPU_ADD("audio", Z80, 4000000) /* ??? */
MDRV_CPU_PROGRAM_MAP(readmem2,writemem2)
- MDRV_CPU_IO_MAP(readport2,writeport2)
+ MDRV_CPU_IO_MAP(io_map_2,0)
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,4) /* ??? This controls the sound tempo */
/* video hardware */
@@ -302,3 +298,4 @@ static DRIVER_INIT( mouser )
GAME( 1983, mouser, 0, mouser, mouser, mouser, ROT90, "UPL", "Mouser", 0 )
GAME( 1983, mouserc, mouser, mouser, mouser, mouser, ROT90, "[UPL] (Cosmos license)", "Mouser (Cosmos)", 0 )
+
diff --git a/src/mame/drivers/mrjong.c b/src/mame/drivers/mrjong.c
index 32ce42d6dd1..15d650f532c 100644
--- a/src/mame/drivers/mrjong.c
+++ b/src/mame/drivers/mrjong.c
@@ -83,22 +83,15 @@ static READ8_HANDLER( io_0x03_r )
return 0x00;
}
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("P2")
- AM_RANGE(0x01, 0x01) AM_READ_PORT("P1")
- AM_RANGE(0x02, 0x02) AM_READ_PORT("DSW")
- AM_RANGE(0x03, 0x03) AM_READ(io_0x03_r) // Unknown
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(io_0x00_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(sn76496_0_w)
- AM_RANGE(0x02, 0x02) AM_WRITE(sn76496_1_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("P2") AM_WRITE(io_0x00_w)
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(sn76496_0_w)
+ AM_RANGE(0x02, 0x02) AM_READ_PORT("DSW") AM_WRITE(sn76496_1_w)
+ AM_RANGE(0x03, 0x03) AM_READ(io_0x03_r) // Unknown
ADDRESS_MAP_END
-
static INPUT_PORTS_START( mrjong )
PORT_START("P2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
@@ -181,7 +174,7 @@ static MACHINE_DRIVER_START( mrjong )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80,15468000/6) /* 2.578 MHz?? */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
/* video hardware */
@@ -267,3 +260,4 @@ ROM_END
GAME( 1983, mrjong, 0, mrjong, mrjong, 0, ROT90, "Kiwako", "Mr. Jong (Japan)", 0 )
GAME( 1983, crazyblk, mrjong, mrjong, mrjong, 0, ROT90, "Kiwako (ECI license)", "Crazy Blocks", 0 )
GAME( 1983, blkbustr, mrjong, mrjong, mrjong, 0, ROT90, "Kiwako (ECI license)", "BlockBuster", 0 )
+
diff --git a/src/mame/drivers/pass.c b/src/mame/drivers/pass.c
index 79468af40ef..ef6dadbaecc 100644
--- a/src/mame/drivers/pass.c
+++ b/src/mame/drivers/pass.c
@@ -152,22 +152,15 @@ static ADDRESS_MAP_START( pass_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pass_sound_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( pass_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
- AM_RANGE(0x70, 0x70) AM_READ(ym2203_status_port_0_r)
- AM_RANGE(0x71, 0x71) AM_READ(ym2203_read_port_0_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( pass_sound_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x70, 0x70) AM_WRITE(ym2203_control_port_0_w)
- AM_RANGE(0x71, 0x71) AM_WRITE(ym2203_write_port_0_w)
+ AM_RANGE(0x70, 0x70) AM_READWRITE(ym2203_status_port_0_r, ym2203_control_port_0_w)
+ AM_RANGE(0x71, 0x71) AM_READWRITE(ym2203_read_port_0_r, ym2203_write_port_0_w)
AM_RANGE(0x80, 0x80) AM_WRITE(okim6295_data_0_w)
AM_RANGE(0xc0, 0xc0) AM_WRITE(soundlatch_clear_w)
ADDRESS_MAP_END
-
/* todo : work out function of unknown but used dsw */
static INPUT_PORTS_START( pass )
PORT_START("DSW")
@@ -277,7 +270,7 @@ static MACHINE_DRIVER_START( pass )
MDRV_CPU_ADD("audio", Z80, 14318180/4 )
MDRV_CPU_PROGRAM_MAP(pass_sound_readmem,pass_sound_writemem)
- MDRV_CPU_IO_MAP(pass_sound_readport,pass_sound_writeport)
+ MDRV_CPU_IO_MAP(pass_sound_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
/* video hardware */
@@ -330,3 +323,4 @@ ROM_END
GAME( 1992, pass, 0, pass, pass, 0, ROT0, "Oksan", "Pass", 0)
+
diff --git a/src/mame/drivers/pastelg.c b/src/mame/drivers/pastelg.c
index 3fb8f55a320..b7f544d7c83 100644
--- a/src/mame/drivers/pastelg.c
+++ b/src/mame/drivers/pastelg.c
@@ -68,31 +68,24 @@ static ADDRESS_MAP_START( writemem_pastelg, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport_pastelg, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x7f) AM_READ(nb1413m3_sndrom_r)
- AM_RANGE(0x81, 0x81) AM_READ(ay8910_read_port_0_r)
- AM_RANGE(0x90, 0x90) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xa0, 0xa0) AM_READ(nb1413m3_inputport1_r)
- AM_RANGE(0xb0, 0xb0) AM_READ(nb1413m3_inputport2_r)
- AM_RANGE(0xc0, 0xc0) AM_READ(pastelg_sndrom_r)
- AM_RANGE(0xd0, 0xd0) AM_READ(SMH_NOP) // unknown
- AM_RANGE(0xe0, 0xe0) AM_READ_PORT("DSWC")
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport_pastelg, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( pastelg_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_WRITE(SMH_NOP)
+ AM_RANGE(0x00, 0x7f) AM_READ(nb1413m3_sndrom_r)
+ AM_RANGE(0x81, 0x81) AM_READ(ay8910_read_port_0_r)
AM_RANGE(0x82, 0x82) AM_WRITE(ay8910_write_port_0_w)
AM_RANGE(0x83, 0x83) AM_WRITE(ay8910_control_port_0_w)
+ AM_RANGE(0x90, 0x90) AM_READ_PORT("SYSTEM")
AM_RANGE(0x90, 0x96) AM_WRITE(pastelg_blitter_w)
- AM_RANGE(0xa0, 0xa0) AM_WRITE(nb1413m3_inputportsel_w)
- AM_RANGE(0xb0, 0xb0) AM_WRITE(pastelg_romsel_w)
+ AM_RANGE(0xa0, 0xa0) AM_READWRITE(nb1413m3_inputport1_r, nb1413m3_inputportsel_w)
+ AM_RANGE(0xb0, 0xb0) AM_READWRITE(nb1413m3_inputport2_r, pastelg_romsel_w)
+ AM_RANGE(0xc0, 0xc0) AM_READ(pastelg_sndrom_r)
AM_RANGE(0xc0, 0xcf) AM_WRITE(pastelg_clut_w)
- AM_RANGE(0xd0, 0xd0) AM_WRITE(DAC_0_WRITE)
+ AM_RANGE(0xd0, 0xd0) AM_READWRITE(SMH_NOP, DAC_0_WRITE) // unknown
+ AM_RANGE(0xe0, 0xe0) AM_READ_PORT("DSWC")
ADDRESS_MAP_END
-
static INPUT_PORTS_START( pastelg )
PORT_START("DSWA")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
@@ -197,7 +190,7 @@ static MACHINE_DRIVER_START( pastelg )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 19968000/8) /* 2.496 MHz ? */
MDRV_CPU_PROGRAM_MAP(readmem_pastelg, writemem_pastelg)
- MDRV_CPU_IO_MAP(readport_pastelg, writeport_pastelg)
+ MDRV_CPU_IO_MAP(pastelg_io_map,0)
// MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt,96) // nmiclock not written, chip is 1411M1 instead of 1413M3
MDRV_CPU_VBLANK_INT("main", nb1413m3_interrupt)
@@ -255,3 +248,4 @@ ROM_END
GAME( 1985, pastelg, 0, pastelg, pastelg, pastelg, ROT0, "Nichibutsu", "Pastel Gal (Japan 851224)", 0 )
+
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index 85bbf848c44..6f5400ed7b8 100644
--- a/src/mame/drivers/pitnrun.c
+++ b/src/mame/drivers/pitnrun.c
@@ -126,35 +126,30 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc807, 0xc807) AM_WRITE(pitnrun_ha_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 )
+
+static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x8c, 0x8c) AM_WRITE(ay8910_control_port_1_w)
AM_RANGE(0x8d, 0x8d) AM_WRITE(ay8910_write_port_1_w)
AM_RANGE(0x8e, 0x8e) AM_WRITE(ay8910_control_port_0_w)
- AM_RANGE(0x8f, 0x8f) AM_WRITE(ay8910_write_port_0_w)
+ AM_RANGE(0x8f, 0x8f) AM_READWRITE(ay8910_read_port_0_r, ay8910_write_port_0_w)
AM_RANGE(0x90, 0x96) AM_WRITE(SMH_NOP)
AM_RANGE(0x97, 0x97) AM_WRITE(SMH_NOP)
AM_RANGE(0x98, 0x98) AM_WRITE(SMH_NOP)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x8f, 0x8f) AM_READ(ay8910_read_port_0_r)
-ADDRESS_MAP_END
-
-
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_READ(SMH_ROM)
AM_RANGE(0x3800, 0x3bff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
-
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x3800, 0x3bff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
+
static ADDRESS_MAP_START( mcu_readmem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7ff)
AM_RANGE(0x0000, 0x0000) AM_READ(pitnrun_68705_portA_r)
@@ -164,7 +159,6 @@ static ADDRESS_MAP_START( mcu_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0080, 0x07ff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
-
static ADDRESS_MAP_START( mcu_writemem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_GLOBAL_MASK(0x7ff)
AM_RANGE(0x0000, 0x0000) AM_WRITE(pitnrun_68705_portA_w)
@@ -265,7 +259,7 @@ static MACHINE_DRIVER_START( pitnrun )
MDRV_CPU_ADD("audio", Z80, XTAL_5MHz/2) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
- MDRV_CPU_IO_MAP(sound_readport,sound_writeport)
+ MDRV_CPU_IO_MAP(sound_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_CPU_ADD("mcu", M68705,XTAL_18_432MHz/6) /* verified on pcb */
@@ -374,3 +368,4 @@ ROM_END
GAME( 1984, pitnrun, 0, pitnrun, pitnrun, 0, ROT90, "Taito Corporation", "Pit & Run (set 1)", GAME_IMPERFECT_SOUND )
GAME( 1984, pitnruna, pitnrun, pitnrun, pitnrun, 0, ROT90, "Taito Corporation", "Pit & Run (set 2)", GAME_IMPERFECT_SOUND )
+
diff --git a/src/mame/drivers/sangho.c b/src/mame/drivers/sangho.c
index ec072195b11..1da56b360eb 100644
--- a/src/mame/drivers/sangho.c
+++ b/src/mame/drivers/sangho.c
@@ -76,38 +76,30 @@ static WRITE8_HANDLER(pzlestar_bank_w)
/* Puzzle Star Ports */
-static ADDRESS_MAP_START (readport_pzlestar, ADDRESS_SPACE_IO, 8)
+static ADDRESS_MAP_START( pzlestar_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE( 0x98, 0x98) AM_READ( v9938_0_vram_r )
- AM_RANGE( 0x99, 0x99) AM_READ( v9938_0_status_r )
- AM_RANGE( 0xa0, 0xa0) AM_READ_PORT("P1")
- AM_RANGE( 0xa1, 0xa1) AM_READ_PORT("P2")
- AM_RANGE( 0xf7, 0xf7) AM_READ_PORT("DSW")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START (writeport_pzlestar, ADDRESS_SPACE_IO, 8)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE( 0x91, 0x91) AM_WRITE( pzlestar_bank_w )
AM_RANGE( 0x7c, 0x7c) AM_WRITE( ym2413_register_port_0_w )
AM_RANGE( 0x7d, 0x7d) AM_WRITE( ym2413_data_port_0_w )
- AM_RANGE( 0x98, 0x98) AM_WRITE( v9938_0_vram_w )
- AM_RANGE( 0x99, 0x99) AM_WRITE( v9938_0_command_w )
+ AM_RANGE( 0x91, 0x91) AM_WRITE( pzlestar_bank_w )
+ AM_RANGE( 0x98, 0x98) AM_READWRITE( v9938_0_vram_r, v9938_0_vram_w )
+ AM_RANGE( 0x99, 0x99) AM_READWRITE( v9938_0_status_r, v9938_0_command_w )
AM_RANGE( 0x9a, 0x9a) AM_WRITE( v9938_0_palette_w )
AM_RANGE( 0x9b, 0x9b) AM_WRITE( v9938_0_register_w )
+ AM_RANGE( 0xa0, 0xa0) AM_READ_PORT("P1")
+ AM_RANGE( 0xa1, 0xa1) AM_READ_PORT("P2")
+ AM_RANGE( 0xf7, 0xf7) AM_READ_PORT("DSW")
ADDRESS_MAP_END
/* Sexy Boom Ports */
-static ADDRESS_MAP_START (readport_sexyboom, ADDRESS_SPACE_IO, 8)
+static ADDRESS_MAP_START( sexyboom_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0xa0, 0xa0) AM_READ_PORT("P1")
AM_RANGE( 0xa1, 0xa1) AM_READ_PORT("P2")
AM_RANGE( 0xf7, 0xf7) AM_READ_PORT("DSW")
AM_RANGE( 0xf0, 0xf0) AM_READ( v9938_0_vram_r )
AM_RANGE( 0xf1, 0xf1) AM_READ( v9938_0_status_r )
-ADDRESS_MAP_END
-static ADDRESS_MAP_START (writeport_sexyboom, ADDRESS_SPACE_IO, 8)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x7c, 0x7c) AM_WRITE( ym2413_register_port_0_w )
AM_RANGE( 0x7d, 0x7d) AM_WRITE( ym2413_data_port_0_w )
@@ -119,7 +111,6 @@ static ADDRESS_MAP_START (writeport_sexyboom, ADDRESS_SPACE_IO, 8)
ADDRESS_MAP_END
-
static INPUT_PORTS_START( sangho )
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
@@ -235,7 +226,7 @@ static MACHINE_DRIVER_START(pzlestar)
MDRV_CPU_ADD("main", Z80,8000000) // ?
MDRV_CPU_PROGRAM_MAP(readmem, 0)
- MDRV_CPU_IO_MAP(readport_pzlestar,writeport_pzlestar)
+ MDRV_CPU_IO_MAP(pzlestar_io_map,0)
MDRV_CPU_VBLANK_INT_HACK(sangho_interrupt,262)
MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -268,7 +259,7 @@ static MACHINE_DRIVER_START(sexyboom )
MDRV_CPU_ADD("main", Z80,8000000) // ?
MDRV_CPU_PROGRAM_MAP(readmem, 0)
- MDRV_CPU_IO_MAP(readport_sexyboom,writeport_sexyboom)
+ MDRV_CPU_IO_MAP(sexyboom_io_map,0)
MDRV_CPU_VBLANK_INT_HACK(sangho_interrupt,262)
MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -340,3 +331,4 @@ static DRIVER_INIT(sangho)
GAME( 1991, pzlestar, 0, pzlestar, sangho, sangho, ROT270, "Sang Ho Soft", "Puzzle Star (Sang Ho Soft)", GAME_NOT_WORKING )
GAME( 1992, sexyboom, 0, sexyboom, sangho, sangho, ROT270, "Sang Ho Soft", "Sexy Boom", GAME_NOT_WORKING | GAME_NO_SOUND )
+
diff --git a/src/mame/drivers/sg1000a.c b/src/mame/drivers/sg1000a.c
index 333ab7d300e..b7c39a41110 100644
--- a/src/mame/drivers/sg1000a.c
+++ b/src/mame/drivers/sg1000a.c
@@ -134,22 +134,15 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc3ff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0xBE, 0xBE) AM_READ(TMS9928A_vram_r)
- AM_RANGE(0xBF, 0xBF) AM_READ(TMS9928A_register_r)
+ AM_RANGE(0x7f, 0x7F) AM_WRITE(sn76496_0_w)
+ AM_RANGE(0xBE, 0xBE) AM_READWRITE(TMS9928A_vram_r, TMS9928A_vram_w)
+ AM_RANGE(0xBF, 0xBF) AM_READWRITE(TMS9928A_register_r, TMS9928A_register_w)
AM_RANGE(0xDC, 0xDC) AM_READ_PORT("P1")
AM_RANGE(0xDD, 0xDD) AM_READ_PORT("P2")
AM_RANGE(0xDE, 0xDE) AM_READ_PORT("DSW")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0xBE, 0xBE) AM_WRITE(TMS9928A_vram_w)
- AM_RANGE(0xBF, 0xBF) AM_WRITE(TMS9928A_register_w)
AM_RANGE(0xDF, 0xDF) AM_WRITE(SMH_NOP) //? 8255 ?
- AM_RANGE(0x7f, 0x7F) AM_WRITE(sn76496_0_w)
ADDRESS_MAP_END
/*************************************
@@ -268,7 +261,7 @@ static const TMS9928a_interface tms9928a_interface =
static MACHINE_DRIVER_START( sg1000a )
MDRV_CPU_ADD("main", Z80, 3579545) /* 3.579545 Mhz */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", sg100a_interrupt)
/* video hardware */
@@ -339,3 +332,4 @@ GAME( 1985, chwrestl, 0, sg1000a, chwrestl, chwrestl, ROT0, "Sega", "Champion Pr
GAME( 1985, dokidoki, 0, sg1000a, dokidoki, sg1000a, ROT0, "Sega", "Doki Doki Penguin Land", 0)
+
diff --git a/src/mame/drivers/skyarmy.c b/src/mame/drivers/skyarmy.c
index 0321ecff80e..7b3efb152e3 100644
--- a/src/mame/drivers/skyarmy.c
+++ b/src/mame/drivers/skyarmy.c
@@ -248,21 +248,18 @@ static GFXDECODE_START( skyarmy )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 32 )
GFXDECODE_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x06, 0x06) AM_READ(ay8910_read_port_0_r)
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_WRITE(ay8910_control_port_0_w)
AM_RANGE(0x05, 0x05) AM_WRITE(ay8910_write_port_0_w)
+ AM_RANGE(0x06, 0x06) AM_READ(ay8910_read_port_0_r)
ADDRESS_MAP_END
static MACHINE_DRIVER_START( skyarmy )
MDRV_CPU_ADD("main", Z80,4000000)
MDRV_CPU_PROGRAM_MAP(skyarmy_readmem,skyarmy_writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_CPU_PERIODIC_INT(skyarmy_nmi_source,650) /* Hz */
@@ -295,16 +292,17 @@ ROM_START( skyarmy )
ROM_LOAD( "a3h.bin", 0x4000, 0x2000, CRC(95485e56) SHA1(c4cbcd31ba68769d2d0d0875e2a92982265339ae) )
ROM_LOAD( "j4.bin", 0x6000, 0x2000, CRC(843783df) SHA1(256d8375a8af7de080d456dbc6290a22473d011b) )
- ROM_REGION( 0x1000, "gfx1", ROMREGION_DISPOSE )
- ROM_LOAD( "13b.bin", 0x0000, 0x0800, CRC(3b0e0f7c) SHA1(2bbba10121d3e745146f50c14dc6df97de40fb96) )
- ROM_LOAD( "15b.bin", 0x0800, 0x0800, CRC(5ccfd782) SHA1(408406ae068e5578b8a742abed1c37dcd3720fe5) )
-
- ROM_REGION( 0x1000, "gfx2", ROMREGION_DISPOSE )
- ROM_LOAD( "8b.bin", 0x0000, 0x0800, CRC(6ac6bd98) SHA1(e653d80ec1b0f8e07821ea781942dae3de7d238d) )
- ROM_LOAD( "10b.bin", 0x0800, 0x0800, CRC(cada7682) SHA1(83ce8336274cb8006a445ac17a179d9ffd4d6809) )
-
- ROM_REGION( 0x0020, "proms", 0 )
- ROM_LOAD( "a6.bin", 0x0000, 0x0020, CRC(c721220b) SHA1(61b3320fb616c0600d56840cb6438616c7e0c6eb) )
+ ROM_REGION( 0x1000, "gfx1", ROMREGION_DISPOSE )
+ ROM_LOAD( "13b.bin", 0x0000, 0x0800, CRC(3b0e0f7c) SHA1(2bbba10121d3e745146f50c14dc6df97de40fb96) )
+ ROM_LOAD( "15b.bin", 0x0800, 0x0800, CRC(5ccfd782) SHA1(408406ae068e5578b8a742abed1c37dcd3720fe5) )
+
+ ROM_REGION( 0x1000, "gfx2", ROMREGION_DISPOSE )
+ ROM_LOAD( "8b.bin", 0x0000, 0x0800, CRC(6ac6bd98) SHA1(e653d80ec1b0f8e07821ea781942dae3de7d238d) )
+ ROM_LOAD( "10b.bin", 0x0800, 0x0800, CRC(cada7682) SHA1(83ce8336274cb8006a445ac17a179d9ffd4d6809) )
+
+ ROM_REGION( 0x0020, "proms", 0 )
+ ROM_LOAD( "a6.bin", 0x0000, 0x0020, CRC(c721220b) SHA1(61b3320fb616c0600d56840cb6438616c7e0c6eb) )
ROM_END
GAME( 1982, skyarmy, 0, skyarmy, skyarmy, 0, ROT90, "Shoei", "Sky Army", GAME_WRONG_COLORS )
+
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 7319c61890f..fc8d9926749 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -169,22 +169,17 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xb000, 0xb3ff) AM_WRITE(speedatk_colorram_w) AM_BASE(&colorram)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x40, 0x40) AM_READ_PORT("DSW")
+ AM_RANGE(0x01, 0x01) AM_WRITE(speedatk_flip_screen_w)
+ AM_RANGE(0x40, 0x40) AM_READ_PORT("DSW") AM_WRITE(ay8910_control_port_0_w)
+ AM_RANGE(0x41, 0x41) AM_WRITE(ay8910_write_port_0_w)
/* are these not used? after they're read it sets bit 7 */
AM_RANGE(0x60, 0x60) AM_READ(SMH_NOP)
AM_RANGE(0x61, 0x61) AM_READ(SMH_NOP)
AM_RANGE(0x68, 0x68) AM_READ(SMH_NOP)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01, 0x01) AM_WRITE(speedatk_flip_screen_w)
- AM_RANGE(0x40, 0x40) AM_WRITE(ay8910_control_port_0_w)
- AM_RANGE(0x41, 0x41) AM_WRITE(ay8910_write_port_0_w)
-ADDRESS_MAP_END
-
static INPUT_PORTS_START( speedatk )
PORT_START("DSW")
PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
@@ -269,7 +264,7 @@ GFXDECODE_END
static MACHINE_DRIVER_START( speedatk )
MDRV_CPU_ADD("main", Z80,12000000/2)
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
/* video hardware */
@@ -316,3 +311,4 @@ ROM_START( speedatk )
ROM_END
GAME( 1984, speedatk, 0, speedatk, speedatk, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack!", 0 )
+
diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c
index 399a072bcb0..7b9b7d890fe 100644
--- a/src/mame/drivers/sspeedr.c
+++ b/src/mame/drivers/sspeedr.c
@@ -108,19 +108,14 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
- AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW")
- AM_RANGE(0x04, 0x04) AM_READ_PORT("IN2")
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(sspeedr_sound_w)
AM_RANGE(0x02, 0x02) AM_WRITE(sspeedr_lamp_w)
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW")
+ AM_RANGE(0x04, 0x04) AM_READ_PORT("IN2")
AM_RANGE(0x04, 0x05) AM_WRITE(sspeedr_time_w)
AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x10, 0x10) AM_WRITE(sspeedr_driver_horz_w)
@@ -220,7 +215,7 @@ static MACHINE_DRIVER_START( sspeedr )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 19968000 / 8)
MDRV_CPU_PROGRAM_MAP(readmem, writemem)
- MDRV_CPU_IO_MAP(readport, writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_assert)
/* video hardware */
@@ -260,3 +255,4 @@ ROM_END
GAMEL( 1979, sspeedr, 0, sspeedr, sspeedr, 0, ROT270, "Midway", "Super Speed Race", GAME_NO_SOUND, layout_sspeedr )
+
diff --git a/src/mame/drivers/starcrus.c b/src/mame/drivers/starcrus.c
index 73667c2abff..af30b04b5e9 100644
--- a/src/mame/drivers/starcrus.c
+++ b/src/mame/drivers/starcrus.c
@@ -44,18 +44,12 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0x10ff) AM_WRITE(SMH_RAM) /* RAM */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
- AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
- AM_RANGE(0x02, 0x02) AM_READ(starcrus_coll_det_r)
- AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW")
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x00, 0x00) AM_WRITE(starcrus_s1_x_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(starcrus_s1_y_w)
- AM_RANGE(0x02, 0x02) AM_WRITE(starcrus_s2_x_w)
- AM_RANGE(0x03, 0x03) AM_WRITE(starcrus_s2_y_w)
+static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_WRITE(starcrus_s1_x_w)
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_WRITE(starcrus_s1_y_w)
+ AM_RANGE(0x02, 0x02) AM_READWRITE(starcrus_coll_det_r, starcrus_s2_x_w)
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW") AM_WRITE(starcrus_s2_y_w)
AM_RANGE(0x04, 0x04) AM_WRITE(starcrus_p1_x_w)
AM_RANGE(0x05, 0x05) AM_WRITE(starcrus_p1_y_w)
AM_RANGE(0x06, 0x06) AM_WRITE(starcrus_p2_x_w)
@@ -67,7 +61,6 @@ static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
-
static INPUT_PORTS_START( starcrus )
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY /* ccw */
@@ -172,7 +165,7 @@ static MACHINE_DRIVER_START( starcrus )
/* basic machine hardware */
MDRV_CPU_ADD("main", 8080,9750000/9) /* 8224 chip is a divide by 9 */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
/* video hardware */
@@ -228,3 +221,4 @@ ROM_END
GAME( 1977, starcrus, 0, starcrus, starcrus, 0, ROT0, "RamTek", "Star Cruiser", 0 )
+
diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c
index 2de86b9033b..8d6f329c9b5 100644
--- a/src/mame/drivers/tiamc1.c
+++ b/src/mame/drivers/tiamc1.c
@@ -183,8 +183,7 @@ static ADDRESS_MAP_START( tiamc1_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xffff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( tiamc1_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( tiamc1_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x40, 0x4f) AM_WRITE(tiamc1_sprite_y_w) /* sprites Y */
AM_RANGE(0x50, 0x5f) AM_WRITE(tiamc1_sprite_x_w) /* sprites X */
@@ -196,19 +195,15 @@ static ADDRESS_MAP_START( tiamc1_writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0xbe, 0xbe) AM_WRITE(tiamc1_bankswitch_w) /* VRAM selector */
AM_RANGE(0xbf, 0xbf) AM_WRITENOP /* charset control */
AM_RANGE(0xc0, 0xc3) AM_WRITE(tiamc1_timer0_w) /* timer 0 */
+ AM_RANGE(0xd0, 0xd0) AM_READ_PORT("IN0")
+ AM_RANGE(0xd1, 0xd1) AM_READ_PORT("IN1")
+ AM_RANGE(0xd2, 0xd2) AM_READ_PORT("IN2")
AM_RANGE(0xd2, 0xd2) AM_WRITE(tiamc1_control_w) /* coin counter and lockout */
AM_RANGE(0xd3, 0xd3) AM_WRITENOP /* 8255 ctrl. Used for i/o ports */
AM_RANGE(0xd4, 0xd7) AM_WRITE(tiamc1_timer1_w) /* timer 1 */
AM_RANGE(0xda, 0xda) AM_WRITE(tiamc1_timer1_gate_w) /* timer 1 gate control */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tiamc1_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0xd0, 0xd0) AM_READ_PORT("IN0")
- AM_RANGE(0xd1, 0xd1) AM_READ_PORT("IN1")
- AM_RANGE(0xd2, 0xd2) AM_READ_PORT("IN2")
-ADDRESS_MAP_END
-
static INPUT_PORTS_START( tiamc1 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Player 0 JOYSTICK_RIGHT */
@@ -278,7 +273,7 @@ static MACHINE_DRIVER_START( tiamc1 )
/* basic machine hardware */
MDRV_CPU_ADD("main", 8080,16000000/9) /* 16 MHz */
MDRV_CPU_PROGRAM_MAP(tiamc1_readmem,tiamc1_writemem)
- MDRV_CPU_IO_MAP(tiamc1_readport,tiamc1_writeport)
+ MDRV_CPU_IO_MAP(tiamc1_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
@@ -353,3 +348,4 @@ ROM_END
GAME( 1988, konek, 0, tiamc1, tiamc1, tiamc1, ROT0, "Terminal", "Konek-Gorbunok", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1988, sosterm, 0, tiamc1, tiamc1, tiamc1, ROT0, "Terminal", "S.O.S.", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+