diff options
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 |
commit | 8a5c4544b907d521395b9e433c43c1901a6cda6b (patch) | |
tree | 6b9257f80b60d12aaa94a73acd620d90a62eee35 | |
parent | 1071e33c6c8efc078ed17ed249ca0a272169ee8c (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.c | 12 | ||||
-rw-r--r-- | src/mame/drivers/bwing.c | 10 | ||||
-rw-r--r-- | src/mame/drivers/carjmbre.c | 12 | ||||
-rw-r--r-- | src/mame/drivers/carrera.c | 12 | ||||
-rw-r--r-- | src/mame/drivers/dotrikun.c | 12 | ||||
-rw-r--r-- | src/mame/drivers/dribling.c | 13 | ||||
-rw-r--r-- | src/mame/drivers/drmicro.c | 24 | ||||
-rw-r--r-- | src/mame/drivers/funybubl.c | 19 | ||||
-rw-r--r-- | src/mame/drivers/hanaawas.c | 17 | ||||
-rw-r--r-- | src/mame/drivers/mayumi.c | 16 | ||||
-rw-r--r-- | src/mame/drivers/mjkjidai.c | 14 | ||||
-rw-r--r-- | src/mame/drivers/mjsister.c | 15 | ||||
-rw-r--r-- | src/mame/drivers/mogura.c | 24 | ||||
-rw-r--r-- | src/mame/drivers/mouser.c | 9 | ||||
-rw-r--r-- | src/mame/drivers/mrjong.c | 20 | ||||
-rw-r--r-- | src/mame/drivers/pass.c | 16 | ||||
-rw-r--r-- | src/mame/drivers/pastelg.c | 28 | ||||
-rw-r--r-- | src/mame/drivers/pitnrun.c | 17 | ||||
-rw-r--r-- | src/mame/drivers/sangho.c | 30 | ||||
-rw-r--r-- | src/mame/drivers/sg1000a.c | 18 | ||||
-rw-r--r-- | src/mame/drivers/skyarmy.c | 30 | ||||
-rw-r--r-- | src/mame/drivers/speedatk.c | 16 | ||||
-rw-r--r-- | src/mame/drivers/sspeedr.c | 14 | ||||
-rw-r--r-- | src/mame/drivers/starcrus.c | 20 | ||||
-rw-r--r-- | src/mame/drivers/tiamc1.c | 16 |
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 ) + |