summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-09-02 01:23:59 +0000
committer Andrew Gardner <andrew-gardner@users.noreply.github.com>2008-09-02 01:23:59 +0000
commit73ec4e17b64003763cac0cff7aed3ec81cb1805d (patch)
tree7dc36c2e31ce06755ec6d1270700a8d0484fef18
parent09231710bc60091a728979112c198a97e7b878b1 (diff)
Part 4 of "The big IO_MAP merge of 2008". (Andrew Gardner)
-rw-r--r--src/mame/drivers/f1gp.c18
-rw-r--r--src/mame/drivers/fuukifg3.c13
-rw-r--r--src/mame/drivers/hnayayoi.c66
-rw-r--r--src/mame/drivers/homedata.c40
-rw-r--r--src/mame/drivers/kchamp.c66
-rw-r--r--src/mame/drivers/megazone.c18
-rw-r--r--src/mame/drivers/nmk16.c39
-rw-r--r--src/mame/drivers/popeye.c17
-rw-r--r--src/mame/drivers/seta.c14
-rw-r--r--src/mame/drivers/sf.c14
10 files changed, 100 insertions, 205 deletions
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index bf405cb6d74..372d4d66753 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -191,21 +191,14 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x14, 0x14) AM_READ(soundlatch_r)
- AM_RANGE(0x18, 0x18) AM_READ(ym2610_status_port_0_a_r)
- AM_RANGE(0x1a, 0x1a) AM_READ(ym2610_status_port_0_b_r)
-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(f1gp_sh_bankswitch_w) // f1gp
AM_RANGE(0x0c, 0x0c) AM_WRITE(f1gp_sh_bankswitch_w) // f1gp2
- AM_RANGE(0x14, 0x14) AM_WRITE(pending_command_clear_w)
- AM_RANGE(0x18, 0x18) AM_WRITE(ym2610_control_port_0_a_w)
+ AM_RANGE(0x14, 0x14) AM_READWRITE(soundlatch_r, pending_command_clear_w)
+ AM_RANGE(0x18, 0x18) AM_READWRITE(ym2610_status_port_0_a_r, ym2610_control_port_0_a_w)
AM_RANGE(0x19, 0x19) AM_WRITE(ym2610_data_port_0_a_w)
- AM_RANGE(0x1a, 0x1a) AM_WRITE(ym2610_control_port_0_b_w)
+ AM_RANGE(0x1a, 0x1a) AM_READWRITE(ym2610_status_port_0_b_r, ym2610_control_port_0_b_w)
AM_RANGE(0x1b, 0x1b) AM_WRITE(ym2610_data_port_0_b_w)
ADDRESS_MAP_END
@@ -488,7 +481,7 @@ static MACHINE_DRIVER_START( f1gp )
MDRV_CPU_ADD("audio", Z80,XTAL_20MHz/4) /* 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_INTERLEAVE(100) /* 100 CPU slices per frame */
@@ -721,3 +714,4 @@ GAME( 1991, f1gp, 0, f1gp, f1gp, 0, ROT90, "Video System Co.", "F-1 Grand
GAME( 1991, f1gpb, f1gp, f1gpb, f1gp, 0, ROT90, "[Video System Co.] (Playmark bootleg)", "F-1 Grand Prix (Playmark bootleg)", GAME_NOT_WORKING ) // PCB marked 'Super Formula II', manufactured by Playmark.
GAME( 1992, f1gp2, 0, f1gp2, f1gp2, 0, ROT90, "Video System Co.", "F-1 Grand Prix Part II", GAME_NO_COCKTAIL )
+
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index c8d0c738db0..b80067d983f 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -361,16 +361,11 @@ static ADDRESS_MAP_START( fuuki32_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM ) // ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( fuuki32_sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x40, 0x40) AM_READ(ymf262_status_0_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( fuuki32_sound_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( fuuki32_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(fuuki32_sound_bw_w)
AM_RANGE(0x30, 0x30) AM_WRITE(SMH_NOP)
- AM_RANGE(0x40, 0x40) AM_WRITE(ymf262_register_a_0_w)
+ AM_RANGE(0x40, 0x40) AM_READWRITE(ymf262_status_0_r, ymf262_register_a_0_w)
AM_RANGE(0x41, 0x41) AM_WRITE(ymf262_data_a_0_w)
AM_RANGE(0x42, 0x42) AM_WRITE(ymf262_register_b_0_w)
AM_RANGE(0x43, 0x43) AM_WRITE(ymf262_data_b_0_w)
@@ -378,7 +373,6 @@ static ADDRESS_MAP_START( fuuki32_sound_writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x45, 0x45) AM_WRITE(ymf278b_data_port_0_c_w)
ADDRESS_MAP_END
-
/***************************************************************************
@@ -604,7 +598,7 @@ static MACHINE_DRIVER_START( fuuki32 )
MDRV_CPU_ADD("sound", Z80, SOUND_CPU_CLOCK) /* 6MHz verified */
MDRV_CPU_PROGRAM_MAP(fuuki32_sound_readmem,fuuki32_sound_writemem)
- MDRV_CPU_IO_MAP(fuuki32_sound_readport,fuuki32_sound_writeport)
+ MDRV_CPU_IO_MAP(fuuki32_sound_io_map,0)
MDRV_MACHINE_START(fuuki32)
MDRV_MACHINE_RESET(fuuki32)
@@ -753,3 +747,4 @@ ROM_END
GAME( 1998, asurabld, 0, fuuki32, asurabld, 0, ROT0, "Fuuki", "Asura Blade - Sword of Dynasty (Japan)", GAME_IMPERFECT_GRAPHICS )
GAME( 2000, asurabus, 0, fuuki32, asurabld, 0, ROT0, "Fuuki", "Asura Buster - Eternal Warriors (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) // sounds loop forever?
+
diff --git a/src/mame/drivers/hnayayoi.c b/src/mame/drivers/hnayayoi.c
index 56ff7b96583..4b6059a808a 100644
--- a/src/mame/drivers/hnayayoi.c
+++ b/src/mame/drivers/hnayayoi.c
@@ -114,21 +114,13 @@ static ADDRESS_MAP_START( hnayayoi_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( hnayayoi_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( hnayayoi_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0x00, 0x00) AM_WRITE(ym2203_control_port_0_w)
+ AM_RANGE(0x01, 0x01) AM_WRITE(ym2203_write_port_0_w)
AM_RANGE(0x02, 0x02) AM_READ(ym2203_status_port_0_r)
AM_RANGE(0x03, 0x03) AM_READ(ym2203_read_port_0_r)
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW3")
- AM_RANGE(0x41, 0x41) AM_READ(keyboard_0_r)
- AM_RANGE(0x42, 0x42) AM_READ(keyboard_1_r)
- AM_RANGE(0x43, 0x43) AM_READ_PORT("COIN")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( hnayayoi_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(ym2203_control_port_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(ym2203_write_port_0_w)
AM_RANGE(0x06, 0x06) AM_WRITE(adpcm_data_w)
// AM_RANGE(0x08, 0x08) AM_WRITE(SMH_NOP) // CRT Controller
// AM_RANGE(0x09, 0x09) AM_WRITE(SMH_NOP) // CRT Controller
@@ -137,11 +129,13 @@ static ADDRESS_MAP_START( hnayayoi_writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x23, 0x23) AM_WRITE(adpcm_vclk_w)
AM_RANGE(0x24, 0x24) AM_WRITE(adpcm_reset_w)
AM_RANGE(0x40, 0x40) AM_WRITE(keyboard_w)
+ AM_RANGE(0x41, 0x41) AM_READ(keyboard_0_r)
+ AM_RANGE(0x42, 0x42) AM_READ(keyboard_1_r)
+ AM_RANGE(0x43, 0x43) AM_READ_PORT("COIN")
AM_RANGE(0x60, 0x61) AM_WRITE(hnayayoi_palbank_w)
AM_RANGE(0x62, 0x67) AM_WRITE(dynax_blitter_rev1_param_w)
ADDRESS_MAP_END
-
static ADDRESS_MAP_START( hnfubuki_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_READ(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_RAM)
@@ -172,16 +166,6 @@ static ADDRESS_MAP_START( hnfubuki_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xff62, 0xff67) AM_WRITE(dynax_blitter_rev1_param_w)
ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( hnfubuki_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( hnfubuki_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
-ADDRESS_MAP_END
-
-
static ADDRESS_MAP_START( untoucha_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_READ(SMH_ROM)
AM_RANGE(0x7800, 0x7fff) AM_READ(SMH_RAM)
@@ -194,33 +178,27 @@ static ADDRESS_MAP_START( untoucha_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( untoucha_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x11, 0x11) AM_READ(ym2203_status_port_0_r)
- AM_RANGE(0x51, 0x51) AM_READ(ym2203_read_port_0_r)
- AM_RANGE(0x16, 0x16) AM_READ(keyboard_0_r) // bit 7 = blitter busy flag
- AM_RANGE(0x15, 0x15) AM_READ(keyboard_1_r)
- AM_RANGE(0x14, 0x14) AM_READ_PORT("COIN")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( untoucha_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( untoucha_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_WRITE(ym2203_control_port_0_w)
- AM_RANGE(0x50, 0x50) AM_WRITE(ym2203_write_port_0_w)
- AM_RANGE(0x13, 0x13) AM_WRITE(adpcm_data_w)
+ AM_RANGE(0x11, 0x11) AM_READ(ym2203_status_port_0_r)
// AM_RANGE(0x12, 0x12) AM_WRITE(SMH_NOP) // CRT Controller
-// AM_RANGE(0x52, 0x52) AM_WRITE(SMH_NOP) // CRT Controller
- AM_RANGE(0x28, 0x28) AM_WRITE(dynax_blitter_rev1_start_w)
- AM_RANGE(0x20, 0x20) AM_WRITE(dynax_blitter_rev1_clear_w)
- AM_RANGE(0x31, 0x31) AM_WRITE(adpcm_vclk_w)
- AM_RANGE(0x32, 0x32) AM_WRITE(adpcm_reset_inv_w)
+ AM_RANGE(0x13, 0x13) AM_WRITE(adpcm_data_w)
+ AM_RANGE(0x14, 0x14) AM_READ_PORT("COIN")
+ AM_RANGE(0x15, 0x15) AM_READ(keyboard_1_r)
+ AM_RANGE(0x16, 0x16) AM_READ(keyboard_0_r) // bit 7 = blitter busy flag
AM_RANGE(0x17, 0x17) AM_WRITE(keyboard_w)
AM_RANGE(0x18, 0x19) AM_WRITE(hnayayoi_palbank_w)
AM_RANGE(0x1a, 0x1f) AM_WRITE(dynax_blitter_rev1_param_w)
+ AM_RANGE(0x20, 0x20) AM_WRITE(dynax_blitter_rev1_clear_w)
+ AM_RANGE(0x28, 0x28) AM_WRITE(dynax_blitter_rev1_start_w)
+ AM_RANGE(0x31, 0x31) AM_WRITE(adpcm_vclk_w)
+ AM_RANGE(0x32, 0x32) AM_WRITE(adpcm_reset_inv_w)
+ AM_RANGE(0x50, 0x50) AM_WRITE(ym2203_write_port_0_w)
+ AM_RANGE(0x51, 0x51) AM_READ(ym2203_read_port_0_r)
+// AM_RANGE(0x52, 0x52) AM_WRITE(SMH_NOP) // CRT Controller
ADDRESS_MAP_END
-
static INPUT_PORTS_START( mj_keyboard )
PORT_START("KEY0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A )
@@ -588,7 +566,7 @@ static MACHINE_DRIVER_START( hnayayoi )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 20000000/4 ) /* 5 MHz ???? */
MDRV_CPU_PROGRAM_MAP(hnayayoi_readmem,hnayayoi_writemem)
- MDRV_CPU_IO_MAP(hnayayoi_readport,hnayayoi_writeport)
+ MDRV_CPU_IO_MAP(hnayayoi_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 8000)
@@ -629,14 +607,13 @@ static MACHINE_DRIVER_START( hnfubuki )
MDRV_IMPORT_FROM(hnayayoi)
MDRV_CPU_MODIFY("main")
MDRV_CPU_PROGRAM_MAP(hnfubuki_readmem,hnfubuki_writemem)
- MDRV_CPU_IO_MAP(hnfubuki_readport,hnfubuki_writeport)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( untoucha )
MDRV_IMPORT_FROM(hnayayoi)
MDRV_CPU_MODIFY("main")
MDRV_CPU_PROGRAM_MAP(untoucha_readmem,untoucha_writemem)
- MDRV_CPU_IO_MAP(untoucha_readport,untoucha_writeport)
+ MDRV_CPU_IO_MAP(untoucha_io_map,0)
MDRV_VIDEO_START(untoucha)
MACHINE_DRIVER_END
@@ -736,3 +713,4 @@ static DRIVER_INIT( hnfubuki )
GAME( 1987, hnayayoi, 0, hnayayoi, hnayayoi, 0, ROT0, "Dyna Electronics", "Hana Yayoi (Japan)", 0 )
GAME( 1987, hnfubuki, hnayayoi, hnfubuki, hnfubuki, hnfubuki, ROT0, "Dynax", "Hana Fubuki [BET] (Japan)", 0 )
GAME( 1987, untoucha, 0, untoucha, untoucha, 0, ROT0, "Dynax", "Untouchable (Japan)", 0 )
+
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index 437d4e89714..ffa02c23901 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -606,12 +606,9 @@ static ADDRESS_MAP_START( mrokumei_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8080, 0x8080) AM_WRITE(mrokumei_sound_bank_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrokumei_sound_readport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0xffff) AM_READ(mrokumei_sound_io_r)
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( mrokumei_sound_writeport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x0000, 0xffff) AM_WRITE(mrokumei_sound_io_w) /* read address is 16-bit, write address is only 8-bit */
+static ADDRESS_MAP_START( mrokumei_sound_io_map, ADDRESS_SPACE_IO, 8 )
+ AM_RANGE(0x0000, 0xffff) AM_READWRITE(mrokumei_sound_io_r, mrokumei_sound_io_w) /* read address is 16-bit, write address is only 8-bit */
ADDRESS_MAP_END
/********************************************************************************/
@@ -653,18 +650,13 @@ static ADDRESS_MAP_START( reikaids_upd7807_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xff00, 0xffff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( reikaids_upd7807_readport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(UPD7807_PORTA, UPD7807_PORTA) AM_READ(reikaids_upd7807_porta_r)
- AM_RANGE(UPD7807_PORTT, UPD7807_PORTT) AM_READ(reikaids_snd_command_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( reikaids_upd7807_writeport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(UPD7807_PORTA, UPD7807_PORTA) AM_WRITE(reikaids_upd7807_porta_w)
+static ADDRESS_MAP_START( reikaids_upd7807_io_map, ADDRESS_SPACE_IO, 8 )
+ AM_RANGE(UPD7807_PORTA, UPD7807_PORTA) AM_READWRITE(reikaids_upd7807_porta_r, reikaids_upd7807_porta_w)
AM_RANGE(UPD7807_PORTB, UPD7807_PORTB) AM_WRITE(dac_0_signed_data_w)
AM_RANGE(UPD7807_PORTC, UPD7807_PORTC) AM_WRITE(reikaids_upd7807_portc_w)
+ AM_RANGE(UPD7807_PORTT, UPD7807_PORTT) AM_READ(reikaids_snd_command_r)
ADDRESS_MAP_END
-
/**************************************************************************/
@@ -706,19 +698,13 @@ static ADDRESS_MAP_START( pteacher_upd7807_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xff00, 0xffff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( pteacher_upd7807_readport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(UPD7807_PORTA, UPD7807_PORTA) AM_READ(pteacher_upd7807_porta_r)
- AM_RANGE(UPD7807_PORTT, UPD7807_PORTT) AM_READ(pteacher_keyboard_r)
- AM_RANGE(UPD7807_PORTC, UPD7807_PORTC) AM_READ_PORT("COIN")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( pteacher_upd7807_writeport, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(UPD7807_PORTA, UPD7807_PORTA) AM_WRITE(pteacher_upd7807_porta_w)
+static ADDRESS_MAP_START( pteacher_upd7807_io_map, ADDRESS_SPACE_IO, 8 )
+ AM_RANGE(UPD7807_PORTA, UPD7807_PORTA) AM_READWRITE(pteacher_upd7807_porta_r, pteacher_upd7807_porta_w)
AM_RANGE(UPD7807_PORTB, UPD7807_PORTB) AM_WRITE(dac_0_signed_data_w)
- AM_RANGE(UPD7807_PORTC, UPD7807_PORTC) AM_WRITE(pteacher_upd7807_portc_w)
+ AM_RANGE(UPD7807_PORTC, UPD7807_PORTC) AM_READ_PORT("COIN") AM_WRITE(pteacher_upd7807_portc_w)
+ AM_RANGE(UPD7807_PORTT, UPD7807_PORTT) AM_READ(pteacher_keyboard_r)
ADDRESS_MAP_END
-
/**************************************************************************/
@@ -1231,7 +1217,7 @@ static MACHINE_DRIVER_START( mrokumei )
MDRV_CPU_ADD("audio", Z80, 16000000/4) /* 4MHz ? */
MDRV_CPU_PROGRAM_MAP(mrokumei_sound_readmem,mrokumei_sound_writemem)
- MDRV_CPU_IO_MAP(mrokumei_sound_readport,mrokumei_sound_writeport)
+ MDRV_CPU_IO_MAP(mrokumei_sound_io_map,0)
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
@@ -1295,7 +1281,7 @@ static MACHINE_DRIVER_START( reikaids )
MDRV_CPU_ADD("audio", UPD7807, 8000000) /* ??? MHz (max speed for the 7807 is 12MHz) */
MDRV_CPU_CONFIG(upd_config)
MDRV_CPU_PROGRAM_MAP(reikaids_upd7807_readmem,reikaids_upd7807_writemem)
- MDRV_CPU_IO_MAP(reikaids_upd7807_readport,reikaids_upd7807_writeport)
+ MDRV_CPU_IO_MAP(reikaids_upd7807_io_map,0)
MDRV_CPU_VBLANK_INT("main", upd7807_irq)
MDRV_INTERLEAVE(500) // very high interleave required to sync for startup tests
@@ -1345,7 +1331,7 @@ static MACHINE_DRIVER_START( pteacher )
MDRV_CPU_ADD("audio", UPD7807, 9000000) /* 9MHz ? */
MDRV_CPU_CONFIG(upd_config)
MDRV_CPU_PROGRAM_MAP(pteacher_upd7807_readmem,pteacher_upd7807_writemem)
- MDRV_CPU_IO_MAP(pteacher_upd7807_readport,pteacher_upd7807_writeport)
+ MDRV_CPU_IO_MAP(pteacher_upd7807_io_map,0)
MDRV_CPU_VBLANK_INT("main", upd7807_irq)
MDRV_INTERLEAVE(100) // should be enough
@@ -1839,5 +1825,3 @@ GAME( 1990, lemnangl, 0, lemnangl, pteacher, 0, ROT0, "Home Data", "Mah
GAME( 1991?,mjikaga, 0, lemnangl, mjikaga, mjikaga, ROT0, "Mitchell", "Mahjong Ikaga Desu ka (Japan)", GAME_NOT_WORKING | GAME_NO_SOUND )
-
-
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index a73d02d0e11..e052f638e54 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -139,31 +139,20 @@ static WRITE8_HANDLER( sound_msm_w ) {
msm_play_lo_nibble = 1;
}
-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(0x40, 0x40) AM_READ_PORT("P2")
- AM_RANGE(0x80, 0x80) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xC0, 0xC0) AM_READ_PORT("DSW")
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(kchamp_flipscreen_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_WRITE(kchamp_flipscreen_w)
AM_RANGE(0x01, 0x01) AM_WRITE(control_w)
AM_RANGE(0x02, 0x02) AM_WRITE(sound_reset_w)
- AM_RANGE(0x40, 0x40) AM_WRITE(sound_command_w)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
+ AM_RANGE(0x40, 0x40) AM_READ_PORT("P2") AM_WRITE(sound_command_w)
+ AM_RANGE(0x80, 0x80) AM_READ_PORT("SYSTEM")
+ AM_RANGE(0xC0, 0xC0) AM_READ_PORT("DSW")
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(ay8910_write_port_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(ay8910_control_port_0_w)
+ AM_RANGE(0x01, 0x01) AM_READWRITE(soundlatch_r, ay8910_control_port_0_w)
AM_RANGE(0x02, 0x02) AM_WRITE(ay8910_write_port_1_w)
AM_RANGE(0x03, 0x03) AM_WRITE(ay8910_control_port_1_w)
AM_RANGE(0x04, 0x04) AM_WRITE(sound_msm_w)
@@ -214,28 +203,17 @@ static WRITE8_HANDLER( kc_sound_control_w ) {
// DAC_set_volume(0,( data == 1 ) ? 255 : 0,0);
}
-static ADDRESS_MAP_START( kc_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( kc_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW") AM_WRITE(kchamp_flipscreen_w)
+ AM_RANGE(0x81, 0x81) AM_WRITE(control_w)
AM_RANGE(0x90, 0x90) AM_READ_PORT("P1")
AM_RANGE(0x98, 0x98) AM_READ_PORT("P2")
AM_RANGE(0xa0, 0xa0) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x80, 0x80) AM_READ_PORT("DSW")
- AM_RANGE(0xa8, 0xa8) AM_READ(sound_reset_r)
+ AM_RANGE(0xa8, 0xa8) AM_READWRITE(sound_reset_r, sound_command_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( kc_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x80, 0x80) AM_WRITE(kchamp_flipscreen_w)
- AM_RANGE(0x81, 0x81) AM_WRITE(control_w)
- AM_RANGE(0xa8, 0xa8) AM_WRITE(sound_command_w)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( kc_sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( kc_sound_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( kc_sound_io_map, 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)
@@ -243,9 +221,9 @@ static ADDRESS_MAP_START( kc_sound_writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x03, 0x03) AM_WRITE(ay8910_control_port_1_w)
AM_RANGE(0x04, 0x04) AM_WRITE(dac_0_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE(kc_sound_control_w)
+ AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
ADDRESS_MAP_END
-
static INPUT_PORTS_START( kchampvs )
PORT_START("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_4WAY
@@ -442,14 +420,13 @@ static MACHINE_DRIVER_START( kchampvs )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 3000000) /* 12MHz / 4 = 3.0 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", kc_interrupt)
MDRV_CPU_ADD("audio", Z80, 3000000) /* 12MHz / 4 = 3.0 MHz */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
- MDRV_CPU_IO_MAP(sound_readport,sound_writeport)
- /* irq's triggered from main cpu */
- /* nmi's from msm5205 */
+ MDRV_CPU_IO_MAP(sound_io_map,0) /* irq's triggered from main cpu */
+ /* nmi's from msm5205 */
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
@@ -489,15 +466,15 @@ static MACHINE_DRIVER_START( kchamp )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 3000000) /* 12MHz / 4 = 3.0 MHz */
MDRV_CPU_PROGRAM_MAP(kc_readmem,kc_writemem)
- MDRV_CPU_IO_MAP(kc_readport,kc_writeport)
+ MDRV_CPU_IO_MAP(kc_io_map,0)
MDRV_CPU_VBLANK_INT("main", kc_interrupt)
MDRV_CPU_ADD("audio", Z80, 3000000) /* 12MHz / 4 = 3.0 MHz */
MDRV_CPU_PROGRAM_MAP(kc_sound_readmem,kc_sound_writemem)
- MDRV_CPU_IO_MAP(kc_sound_readport,kc_sound_writeport)
- MDRV_CPU_PERIODIC_INT(sound_int, 125) /* Hz */
- /* irq's triggered from main cpu */
- /* nmi's from 125 Hz clock */
+ MDRV_CPU_IO_MAP(kc_sound_io_map,0)
+ MDRV_CPU_PERIODIC_INT(sound_int, 125) /* Hz */
+ /* irq's triggered from main cpu */
+ /* nmi's from 125 Hz clock */
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
@@ -739,3 +716,4 @@ GAME( 1984, kchamp, 0, kchamp, kchamp, 0, ROT90, "Data East US
GAME( 1984, karatedo, kchamp, kchamp, kchamp, 0, ROT90, "Data East Corporation", "Karate Dou (Japan)", 0 )
GAME( 1984, kchampvs, kchamp, kchampvs, kchampvs, kchampvs, ROT90, "Data East USA", "Karate Champ (US VS version)", 0 )
GAME( 1984, karatevs, kchamp, kchampvs, kchampvs, kchampvs, ROT90, "Data East Corporation", "Taisen Karate Dou (Japan VS version)", 0 )
+
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index a33366030ff..7260b33eeab 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -132,14 +132,10 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc001, 0xc001) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x02) AM_READ(ay8910_read_port_0_r)
-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(ay8910_control_port_0_w)
+ AM_RANGE(0x00, 0x02) AM_READ(ay8910_read_port_0_r)
AM_RANGE(0x02, 0x02) AM_WRITE(ay8910_write_port_0_w)
ADDRESS_MAP_END
@@ -151,11 +147,8 @@ static ADDRESS_MAP_START( i8039_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( i8039_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( i8039_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x00, 0xff) AM_READ(soundlatch_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( i8039_writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_WRITE(dac_0_data_w)
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(i8039_irqen_and_status_w)
ADDRESS_MAP_END
@@ -320,12 +313,12 @@ static MACHINE_DRIVER_START( megazone )
MDRV_CPU_ADD("audio", Z80,18432000/6) /* Z80 Clock is derived from the H1 signal */
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("dac", I8039,14318000/2) /* 1/2 14MHz crystal */
MDRV_CPU_PROGRAM_MAP(i8039_readmem,i8039_writemem)
- MDRV_CPU_IO_MAP(i8039_readport,i8039_writeport)
+ MDRV_CPU_IO_MAP(i8039_io_map,0)
MDRV_INTERLEAVE(15)
@@ -599,3 +592,4 @@ GAME( 1983, megazonc, megazone, megazone, megazone, megazone, ROT90, "Konami / K
/* this displays Konami and Kosuka copyright with a Konami / Interlogic logo */
GAME( 1983, megaznik, megazone, megazone, megazone, megazone, ROT90, "Konami / Interlogic + Kosuka", "Mega Zone (Interlogic + Kosuka)", 0 )
+
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index 985469fff64..97cf81f97fc 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -454,16 +454,10 @@ static ADDRESS_MAP_START( tharrier_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf700, 0xf700) AM_WRITE(tharrier_oki6295_bankswitch_1_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tharrier_sound_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( tharrier_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(ym2203_status_port_0_r)
- AM_RANGE(0x01, 0x01) AM_READ(ym2203_read_port_0_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( tharrier_sound_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(ym2203_control_port_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(ym2203_write_port_0_w)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(ym2203_status_port_0_r, ym2203_control_port_0_w)
+ AM_RANGE(0x01, 0x01) AM_READWRITE(ym2203_read_port_0_r, ym2203_write_port_0_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tharrier_readmem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -1095,20 +1089,12 @@ static ADDRESS_MAP_START( macross2_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch2_w) /* to 68000 */
ADDRESS_MAP_END
-static ADDRESS_MAP_START( macross2_sound_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( macross2_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(ym2203_status_port_0_r)
- AM_RANGE(0x01, 0x01) AM_READ(ym2203_read_port_0_r)
- AM_RANGE(0x80, 0x80) AM_READ(okim6295_status_0_r)
- AM_RANGE(0x88, 0x88) AM_READ(okim6295_status_1_r)
-ADDRESS_MAP_END
-
-static ADDRESS_MAP_START( macross2_sound_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(ym2203_control_port_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(ym2203_write_port_0_w)
- AM_RANGE(0x80, 0x80) AM_WRITE(okim6295_data_0_w)
- AM_RANGE(0x88, 0x88) AM_WRITE(okim6295_data_1_w)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(ym2203_status_port_0_r, ym2203_control_port_0_w)
+ AM_RANGE(0x01, 0x01) AM_READWRITE(ym2203_read_port_0_r, ym2203_write_port_0_w)
+ AM_RANGE(0x80, 0x80) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
+ AM_RANGE(0x88, 0x88) AM_READWRITE(okim6295_status_1_r, okim6295_data_1_w)
AM_RANGE(0x90, 0x97) AM_WRITE(NMK112_okibank_w)
ADDRESS_MAP_END
@@ -3532,7 +3518,7 @@ static MACHINE_DRIVER_START( tharrier )
MDRV_CPU_ADD("audio", Z80, 3000000)
MDRV_CPU_PROGRAM_MAP(tharrier_sound_readmem,tharrier_sound_writemem)
- MDRV_CPU_IO_MAP(tharrier_sound_readport,tharrier_sound_writeport)
+ MDRV_CPU_IO_MAP(tharrier_sound_io_map,0)
MDRV_MACHINE_RESET(mustang_sound)
@@ -3581,7 +3567,7 @@ static MACHINE_DRIVER_START( manybloc )
MDRV_CPU_ADD("audio", Z80, 3000000)
MDRV_CPU_PROGRAM_MAP(tharrier_sound_readmem,tharrier_sound_writemem)
- MDRV_CPU_IO_MAP(tharrier_sound_readport,tharrier_sound_writeport)
+ MDRV_CPU_IO_MAP(tharrier_sound_io_map,0)
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
@@ -4218,7 +4204,7 @@ static MACHINE_DRIVER_START( macross2 )
MDRV_CPU_ADD("audio", Z80, 4000000) /* 4 MHz ? */
MDRV_CPU_PROGRAM_MAP(macross2_sound_readmem,macross2_sound_writemem)
- MDRV_CPU_IO_MAP(macross2_sound_readport,macross2_sound_writeport)
+ MDRV_CPU_IO_MAP(macross2_sound_io_map,0)
MDRV_MACHINE_RESET(nmk16)
@@ -4263,7 +4249,7 @@ static MACHINE_DRIVER_START( tdragon2 )
MDRV_CPU_ADD("audio", Z80, 4000000) /* 4 MHz */
MDRV_CPU_PROGRAM_MAP(macross2_sound_readmem,macross2_sound_writemem)
- MDRV_CPU_IO_MAP(macross2_sound_readport,macross2_sound_writeport)
+ MDRV_CPU_IO_MAP(macross2_sound_io_map,0)
MDRV_MACHINE_RESET(nmk16)
@@ -6988,3 +6974,4 @@ GAME( 2001, firehawk, 0, firehawk, firehawk, 0, ORIENTATION_FLIP_Y
// bee-oh board - different display / interrupt timing to others?
GAME( 1991, manybloc, 0, manybloc, manybloc, 0, ROT270, "Bee-Oh", "Many Block", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index b6cd153abff..b7744a53967 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -145,22 +145,14 @@ static ADDRESS_MAP_START( popeyebl_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe000, 0xe01f) AM_WRITE(SMH_ROM)
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(0x00, 0x00) AM_READ_PORT("P1") AM_WRITE(ay8910_control_port_0_w)
+ AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_WRITE(ay8910_write_port_0_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN0")
AM_RANGE(0x03, 0x03) AM_READ(ay8910_read_port_0_r)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(ay8910_control_port_0_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(ay8910_write_port_0_w)
-ADDRESS_MAP_END
-
-
static INPUT_PORTS_START( skyskipr )
PORT_START("P1") /* IN0 */
@@ -485,7 +477,7 @@ static MACHINE_DRIVER_START( skyskipr )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 8000000/2) /* 4 MHz */
MDRV_CPU_PROGRAM_MAP(skyskipr_readmem,skyskipr_writemem)
- MDRV_CPU_IO_MAP(readport,writeport)
+ MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", popeye_interrupt)
/* video hardware */
@@ -708,3 +700,4 @@ GAME( 1982, popeye, 0, popeye, popeye, popeye, ROT0, "Nintendo", "P
GAME( 1982, popeyeu, popeye, popeye, popeye, popeye, ROT0, "Nintendo", "Popeye (revision D not protected)", 0 )
GAME( 1982, popeyef, popeye, popeye, popeyef, popeye, ROT0, "Nintendo", "Popeye (revision F)", 0 )
GAME( 1982, popeyebl, popeye, popeyebl, popeye, 0, ROT0, "bootleg", "Popeye (bootleg)", 0 )
+
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 2269b32dbcf..7c3b06a0331 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -3004,21 +3004,16 @@ static ADDRESS_MAP_START( utoukond_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf000, 0xffff) AM_WRITE(seta_sound_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( utoukond_sound_readport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( utoukond_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ(ym3438_status_port_0_a_r)
- AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
-ADDRESS_MAP_END
-static ADDRESS_MAP_START( utoukond_sound_writeport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(ym3438_control_port_0_a_w)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(ym3438_status_port_0_a_r, ym3438_control_port_0_a_w)
AM_RANGE(0x01, 0x01) AM_WRITE(ym3438_data_port_0_a_w)
AM_RANGE(0x02, 0x02) AM_WRITE(ym3438_control_port_0_b_w)
AM_RANGE(0x03, 0x03) AM_WRITE(ym3438_data_port_0_b_w)
AM_RANGE(0x80, 0x80) AM_WRITE(SMH_NOP) //?
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
-/* it has a series of tests on startup, if they don't pass it causes an address error */
static UINT16 pairslove_protram[0x200];
static UINT16 pairslove_protram_old[0x200];
@@ -7920,7 +7915,7 @@ static MACHINE_DRIVER_START( utoukond )
MDRV_CPU_ADD("audio", Z80, 16000000/4) /* 4 MHz */
MDRV_CPU_PROGRAM_MAP(utoukond_sound_readmem,utoukond_sound_writemem)
- MDRV_CPU_IO_MAP(utoukond_sound_readport,utoukond_sound_writeport)
+ MDRV_CPU_IO_MAP(utoukond_sound_io_map,0)
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
@@ -9596,3 +9591,4 @@ GAME( 1995, sokonuke, 0, extdwnhl, sokonuke, 0, ROT0, "Sammy Ind
GAME( 1995, zombraid, 0, gundhara, zombraid, zombraid, ROT0, "American Sammy", "Zombie Raid (US)", GAME_NO_COCKTAIL )
GAME( 1996, crazyfgt, 0, crazyfgt, crazyfgt, crazyfgt, ROT0, "Subsino", "Crazy Fight", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
GAME( 1998, inttoote, 0, inttoote, inttoote, inttoote, ROT0, "Coinmaster", "International Toote (Germany)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index a2304e85253..c67d4a131fc 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -276,15 +276,10 @@ static ADDRESS_MAP_START( sound2_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xffff) AM_WRITE(SMH_NOP)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( sound2_readport, ADDRESS_SPACE_IO, 8 )
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
-ADDRESS_MAP_END
-
-
-static ADDRESS_MAP_START( sound2_writeport, ADDRESS_SPACE_IO, 8 )
+static ADDRESS_MAP_START( sound2_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE(msm5205_w)
+ AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
AM_RANGE(0x02, 0x02) AM_WRITE(sound2_bank_w)
ADDRESS_MAP_END
@@ -827,7 +822,7 @@ static MACHINE_DRIVER_START( sf )
MDRV_CPU_ADD("audio2", Z80, 3579545) /* ? xtal is 3.579545MHz */
MDRV_CPU_PROGRAM_MAP(sound2_readmem,sound2_writemem)
- MDRV_CPU_IO_MAP(sound2_readport,sound2_writeport)
+ MDRV_CPU_IO_MAP(sound2_io_map,0)
MDRV_CPU_PERIODIC_INT(irq0_line_hold,8000)
/* video hardware */
@@ -1142,7 +1137,8 @@ ROM_END
-GAME( 1987, sf, 0, sf, sf, 0, ROT0, "Capcom", "Street Fighter (World)", 0 )
+GAME( 1987, sf, 0, sf, sf, 0, ROT0, "Capcom", "Street Fighter (World)", 0 )
GAME( 1987, sfus, sf, sfus, sfus, 0, ROT0, "Capcom", "Street Fighter (US)", 0 )
GAME( 1987, sfjp, sf, sfjp, sfjp, 0, ROT0, "Capcom", "Street Fighter (Japan)", 0 )
GAME( 1987, sfp, sf, sfp, sf, 0, ROT0, "Capcom", "Street Fighter (prototype)", 0 )
+