Part 2 of "The big IO_MAP merge of 2008". (Andrew Gardner)

This commit is contained in:
Andrew Gardner 2008-09-01 17:47:24 +00:00
parent 2c888574b1
commit 2c2cff0bd3
9 changed files with 75 additions and 131 deletions

View File

@ -202,26 +202,18 @@ 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 )
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("P1")
AM_RANGE(0x03, 0x03) AM_READ_PORT("P2")
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2")
AM_RANGE(0x06, 0x06) AM_READ_PORT("UNK")
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(egghunt_vidram_bank_w)
AM_RANGE(0x01, 0x01) AM_WRITE(egghunt_gfx_banking_w)
AM_RANGE(0x03, 0x03) AM_WRITE(egghunt_soundlatch_w)
AM_RANGE(0x06, 0x06) AM_WRITENOP
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_WRITE(egghunt_vidram_bank_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(egghunt_gfx_banking_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("P1")
AM_RANGE(0x03, 0x03) AM_READ_PORT("P2") AM_WRITE(egghunt_soundlatch_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2")
AM_RANGE(0x06, 0x06) AM_READ_PORT("UNK") AM_WRITENOP
AM_RANGE(0x07, 0x07) AM_WRITENOP
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
@ -387,7 +379,7 @@ static MACHINE_DRIVER_START( egghunt )
/* 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) // or 2 like mitchell.c?
MDRV_CPU_ADD("audio", Z80,12000000/2) /* 6 MHz ?*/
@ -441,3 +433,4 @@ ROM_START( egghunt )
ROM_END
GAME( 1995, egghunt, 0, egghunt, egghunt, 0, ROT0, "Invi Image", "Egg Hunt", 0 )

View File

@ -64,35 +64,26 @@ static ADDRESS_MAP_START( writemem_hyhoo, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_RAM) AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
ADDRESS_MAP_END
static ADDRESS_MAP_START( readport_hyhoo, 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(0xd0, 0xd0) AM_READ(SMH_NOP) // unknown
AM_RANGE(0xe0, 0xe1) AM_READ(nb1413m3_gfxrom_r)
AM_RANGE(0xf0, 0xf0) AM_READ(nb1413m3_dipsw1_r)
AM_RANGE(0xf1, 0xf1) AM_READ(nb1413m3_dipsw2_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writeport_hyhoo, ADDRESS_SPACE_IO, 8 )
static ADDRESS_MAP_START( hyhoo_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
// AM_RANGE(0x00, 0x00) AM_WRITE(nb1413m3_nmi_clock_w)
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, 0x97) AM_WRITE(hyhoo_blitter_w)
AM_RANGE(0xa0, 0xa0) AM_WRITE(nb1413m3_inputportsel_w)
AM_RANGE(0xb0, 0xb0) AM_WRITE(nb1413m3_sndrombank1_w)
AM_RANGE(0xa0, 0xa0) AM_READWRITE(nb1413m3_inputport1_r, nb1413m3_inputportsel_w)
AM_RANGE(0xb0, 0xb0) AM_READWRITE(nb1413m3_inputport2_r, nb1413m3_sndrombank1_w)
AM_RANGE(0xc0, 0xcf) AM_WRITE(SMH_RAM) AM_BASE(&hyhoo_clut)
AM_RANGE(0xd0, 0xd0) AM_WRITE(DAC_0_WRITE)
AM_RANGE(0xd0, 0xd0) AM_READWRITE(SMH_NOP, DAC_0_WRITE) // unknown read
AM_RANGE(0xe0, 0xe0) AM_WRITE(hyhoo_romsel_w)
AM_RANGE(0xe0, 0xe1) AM_READ(nb1413m3_gfxrom_r)
AM_RANGE(0xf0, 0xf0) AM_READ(nb1413m3_dipsw1_r)
// AM_RANGE(0xf0, 0xf0) AM_WRITE(SMH_NOP)
AM_RANGE(0xf1, 0xf1) AM_READ(nb1413m3_dipsw2_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( hyhoo )
PORT_START("DSWA")
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) )
@ -271,7 +262,7 @@ static MACHINE_DRIVER_START( hyhoo )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 5000000/1) /* 5.00 MHz ?? */
MDRV_CPU_PROGRAM_MAP(readmem_hyhoo, writemem_hyhoo)
MDRV_CPU_IO_MAP(readport_hyhoo, writeport_hyhoo)
MDRV_CPU_IO_MAP(hyhoo_io_map,0)
MDRV_CPU_VBLANK_INT("main", nb1413m3_interrupt)
MDRV_MACHINE_RESET(nb1413m3)
@ -345,3 +336,4 @@ ROM_END
GAME( 1987, hyhoo, 0, hyhoo, hyhoo, hyhoo, ROT90, "Nichibutsu", "Taisen Quiz HYHOO (Japan)", 0 )
GAME( 1987, hyhoo2, 0, hyhoo, hyhoo2, hyhoo2, ROT90, "Nichibutsu", "Taisen Quiz HYHOO 2 (Japan)", 0 )

View File

@ -126,43 +126,29 @@ static ADDRESS_MAP_START( gfire2_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x24000, 0x241ff) AM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_BASE(&paletteram)
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, 0x3f) AM_WRITE(SMH_NOP) /* Z180 internal registers */
AM_RANGE(0x30, 0x30) AM_READ(SMH_NOP) /* Z180 internal registers */
AM_RANGE(0x70, 0x70) AM_READ(ym2203_status_port_0_r)
AM_RANGE(0x71, 0x71) AM_READ(ym2203_read_port_0_r)
AM_RANGE(0x72, 0x72) AM_READ(protection_r)
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(0x72, 0x72) AM_READWRITE(protection_r, protection_w)
AM_RANGE(0x74, 0x74) AM_READ_PORT("P1")
AM_RANGE(0x76, 0x76) AM_READ_PORT("P2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
static ADDRESS_MAP_START( gfire2_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_WRITE(SMH_NOP) /* Z180 internal registers */
AM_RANGE(0x70, 0x70) AM_WRITE(ym2203_control_port_0_w)
AM_RANGE(0x71, 0x71) AM_WRITE(ym2203_write_port_0_w)
AM_RANGE(0x72, 0x72) AM_WRITE(protection_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gfire2_readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x30, 0x30) AM_READ(SMH_NOP) /* Z180 internal registers */
AM_RANGE(0x70, 0x70) AM_READ(ym2203_status_port_0_r)
AM_RANGE(0x71, 0x71) AM_READ(ym2203_read_port_0_r)
AM_RANGE(0x72, 0x72) AM_READ(gfire2_protection_r)
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(0x72, 0x72) AM_READWRITE(gfire2_protection_r, gfire2_protection_w)
AM_RANGE(0x74, 0x74) AM_READ_PORT("P1")
AM_RANGE(0x76, 0x76) AM_READ_PORT("P2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( gfire2_writeport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x3f) AM_WRITE(SMH_NOP) /* Z180 internal registers */
AM_RANGE(0x70, 0x70) AM_WRITE(ym2203_control_port_0_w)
AM_RANGE(0x71, 0x71) AM_WRITE(ym2203_write_port_0_w)
AM_RANGE(0x72, 0x72) AM_WRITE(gfire2_protection_w)
ADDRESS_MAP_END
static INPUT_PORTS_START( mosaic )
PORT_START("P1")
@ -292,7 +278,7 @@ static const ym2203_interface ym2203_config =
static MACHINE_DRIVER_START( mosaic )
MDRV_CPU_ADD("main", Z180, 7000000) /* ??? */
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 */
@ -321,7 +307,7 @@ static MACHINE_DRIVER_START( gfire2 )
MDRV_IMPORT_FROM(mosaic)
MDRV_CPU_MODIFY("main")
MDRV_CPU_PROGRAM_MAP(gfire2_readmem,gfire2_writemem)
MDRV_CPU_IO_MAP(gfire2_readport,gfire2_writeport)
MDRV_CPU_IO_MAP(gfire2_io_map,0)
MACHINE_DRIVER_END
@ -388,3 +374,4 @@ ROM_END
GAME( 1990, mosaic, 0, mosaic, mosaic, 0, ROT0, "Space", "Mosaic", 0 )
GAME( 1990, mosaica, mosaic, mosaic, mosaic, 0, ROT0, "Space (Fuuki license)", "Mosaic (Fuuki)", 0 )
GAME( 1992, gfire2, 0, gfire2, gfire2, 0, ROT0, "Topis Corp", "Golden Fire II", 0 )

View File

@ -170,16 +170,12 @@ static READ8_HANDLER( mrflea_interrupt_type_r ){
/*******************************************************/
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x41, 0x41) AM_READ(mrflea_main_r)
AM_RANGE(0x42, 0x42) AM_READ(mrflea_main_status_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(SMH_NOP) /* watchdog? */
AM_RANGE(0x40, 0x40) AM_WRITE(mrflea_io_w)
AM_RANGE(0x41, 0x41) AM_READ(mrflea_main_r)
AM_RANGE(0x42, 0x42) AM_READ(mrflea_main_status_r)
AM_RANGE(0x43, 0x43) AM_WRITE(SMH_NOP) /* 0xa6,0x0d,0x05 */
AM_RANGE(0x60, 0x60) AM_WRITE(mrflea_gfx_bank_w)
ADDRESS_MAP_END
@ -230,17 +226,6 @@ static READ8_HANDLER( mrflea_input3_r )
/*******************************************************/
static ADDRESS_MAP_START( readport_io, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ(mrflea_interrupt_type_r) /* ? */
AM_RANGE(0x20, 0x20) AM_READ(mrflea_io_r)
AM_RANGE(0x22, 0x22) AM_READ(mrflea_io_status_r)
AM_RANGE(0x40, 0x40) AM_READ(mrflea_input0_r)
AM_RANGE(0x42, 0x42) AM_READ(mrflea_input1_r)
AM_RANGE(0x44, 0x44) AM_READ(mrflea_input2_r)
AM_RANGE(0x46, 0x46) AM_READ(mrflea_input3_r)
ADDRESS_MAP_END
static WRITE8_HANDLER( mrflea_data0_w ){
ay8910_control_port_0_w( machine, offset, mrflea_select0 );
ay8910_write_port_0_w( machine, offset, data );
@ -259,34 +244,38 @@ static WRITE8_HANDLER( mrflea_data3_w ){
ay8910_write_port_2_w( machine, offset, data );
}
static ADDRESS_MAP_START( writeport_io, ADDRESS_SPACE_IO, 8 )
static ADDRESS_MAP_START( inout_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(SMH_NOP) /* watchdog */
AM_RANGE(0x10, 0x10) AM_WRITE(SMH_NOP) /* irq ACK */
AM_RANGE(0x10, 0x10) AM_READWRITE(mrflea_interrupt_type_r, SMH_NOP) /* ? / irq ACK */
AM_RANGE(0x11, 0x11) AM_WRITE(SMH_NOP) /* 0x83,0x00,0xfc */
AM_RANGE(0x20, 0x20) AM_READ(mrflea_io_r)
AM_RANGE(0x21, 0x21) AM_WRITE(mrflea_main_w)
AM_RANGE(0x22, 0x22) AM_READ(mrflea_io_status_r)
AM_RANGE(0x23, 0x23) AM_WRITE(SMH_NOP) /* 0xb4,0x09,0x05 */
AM_RANGE(0x40, 0x40) AM_WRITE(mrflea_data0_w)
AM_RANGE(0x40, 0x40) AM_READWRITE(mrflea_input0_r, mrflea_data0_w)
AM_RANGE(0x41, 0x41) AM_WRITE(mrflea_select0_w)
AM_RANGE(0x42, 0x42) AM_WRITE(mrflea_data1_w)
AM_RANGE(0x42, 0x42) AM_READWRITE(mrflea_input1_r, mrflea_data1_w)
AM_RANGE(0x43, 0x43) AM_WRITE(mrflea_select1_w)
AM_RANGE(0x44, 0x44) AM_WRITE(mrflea_data2_w)
AM_RANGE(0x44, 0x44) AM_READWRITE(mrflea_input2_r, mrflea_data2_w)
AM_RANGE(0x45, 0x45) AM_WRITE(mrflea_select2_w)
AM_RANGE(0x46, 0x46) AM_WRITE(mrflea_data3_w)
AM_RANGE(0x46, 0x46) AM_READWRITE(mrflea_input3_r, mrflea_data3_w)
AM_RANGE(0x47, 0x47) AM_WRITE(mrflea_select3_w)
ADDRESS_MAP_END
/*******************************************************/
static MACHINE_DRIVER_START( mrflea )
/* 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) /* NMI resets the game */
MDRV_CPU_ADD("sub", Z80, 6000000)
MDRV_CPU_PROGRAM_MAP(readmem_io,writemem_io)
MDRV_CPU_IO_MAP(readport_io,writeport_io)
MDRV_CPU_IO_MAP(inout_io_map,0)
MDRV_CPU_VBLANK_INT_HACK(mrflea_io_interrupt,2)
MDRV_INTERLEAVE(100)
@ -425,3 +414,4 @@ INPUT_PORTS_END
GAME( 1982, mrflea, 0, mrflea, mrflea, 0, ROT270, "Pacific Novelty", "The Amazing Adventures of Mr. F. Lea" , 0 )

View File

@ -3798,7 +3798,7 @@ ROM_START( raveracw )
ROM_REGION( 0x100000, "user4", 0 ) /* sound data and MCU BIOS */
ROM_LOAD( "rv1data.6r", 0, 0x080000, CRC(d358ec20) SHA1(140c513349240417bb546dd2d151f3666b818e91) )
ROM_REGION( 0x200000*8, "textile", ROMREGION_DISPOSE) /* 16x16x8bpp texture tiles */
ROM_REGION( 0x200000*8, "textile", ROMREGION_DISPOSE) /* 16x16x8bpp texture tiles */
ROM_LOAD( "rv1cg0.1a", 0x200000*0x0, 0x200000,CRC(c518f06b) SHA1(4c01d453244192dd13087bdc72a7f7be80b47cbc) ) /* rv1cg0.2a */
ROM_LOAD( "rv1cg1.1c", 0x200000*0x1, 0x200000,CRC(6628f792) SHA1(7a5405c5fcb2f3f001ae17df393c31e61a834f2b) ) /* rv1cg1.2c */
ROM_LOAD( "rv1cg2.1d", 0x200000*0x2, 0x200000,CRC(0b707cc5) SHA1(38e1a554b278062edc369565353497ac4b016f78) ) /* rv1cg2.2d */

View File

@ -76,14 +76,9 @@ static ADDRESS_MAP_START( prehisle_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xf800, 0xf800) AM_WRITE(SMH_NOP) // ???
ADDRESS_MAP_END
static ADDRESS_MAP_START( prehisle_sound_readport, ADDRESS_SPACE_IO, 8 )
static ADDRESS_MAP_START( prehisle_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(ym3812_status_port_0_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( prehisle_sound_writeport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(ym3812_control_port_0_w)
AM_RANGE(0x00, 0x00) AM_READWRITE(ym3812_status_port_0_r, ym3812_control_port_0_w)
AM_RANGE(0x20, 0x20) AM_WRITE(ym3812_write_port_0_w)
AM_RANGE(0x40, 0x40) AM_WRITE(D7759_write_port_0_w)
AM_RANGE(0x80, 0x80) AM_WRITE(upd7759_0_reset_w)
@ -235,7 +230,7 @@ static MACHINE_DRIVER_START( prehisle )
MDRV_CPU_ADD("audio", Z80, XTAL_4MHz) /* verified on pcb */
MDRV_CPU_PROGRAM_MAP(prehisle_sound_readmem,prehisle_sound_writemem)
MDRV_CPU_IO_MAP(prehisle_sound_readport,prehisle_sound_writeport)
MDRV_CPU_IO_MAP(prehisle_sound_io_map,0)
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)
@ -354,3 +349,4 @@ ROM_END
GAME( 1989, prehisle, 0, prehisle, prehisle, 0, ROT0, "SNK", "Prehistoric Isle in 1930 (World)", GAME_SUPPORTS_SAVE )
GAME( 1989, prehislu, prehisle, prehisle, prehisle, 0, ROT0, "SNK of America", "Prehistoric Isle in 1930 (US)", GAME_SUPPORTS_SAVE )
GAME( 1989, gensitou, prehisle, prehisle, prehisle, 0, ROT0, "SNK", "Genshi-Tou 1930's", GAME_SUPPORTS_SAVE )

View File

@ -137,25 +137,18 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xffff) AM_WRITE(SMH_ROM) /* banked ROM */
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(0x07, 0x07) AM_WRITE(speedspn_global_display_w)
AM_RANGE(0x12, 0x12) AM_WRITE(speedspn_banked_rom_change)
AM_RANGE(0x13, 0x13) AM_WRITE(speedspn_sound_w)
AM_RANGE(0x17, 0x17) AM_WRITE(speedspn_banked_vidram_change)
ADDRESS_MAP_END
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x10) AM_READ_PORT("SYSTEM")
AM_RANGE(0x11, 0x11) AM_READ_PORT("P1")
AM_RANGE(0x12, 0x12) AM_READ_PORT("P2")
AM_RANGE(0x13, 0x13) AM_READ_PORT("DSW1")
AM_RANGE(0x12, 0x12) AM_READ_PORT("P2") AM_WRITE(speedspn_banked_rom_change)
AM_RANGE(0x13, 0x13) AM_READ_PORT("DSW1") AM_WRITE(speedspn_sound_w)
AM_RANGE(0x14, 0x14) AM_READ_PORT("DSW2")
AM_RANGE(0x16, 0x16) AM_READ(speedspn_irq_ack_r) // @@@ could be watchdog, value is discarded
AM_RANGE(0x17, 0x17) AM_WRITE(speedspn_banked_vidram_change)
ADDRESS_MAP_END
/* sound cpu */
static ADDRESS_MAP_START( readmem2, ADDRESS_SPACE_PROGRAM, 8 )
@ -304,7 +297,7 @@ static MACHINE_DRIVER_START( speedspn )
/* basic machine hardware */
MDRV_CPU_ADD("main",Z80,6000000) /* 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,6000000) /* 6 MHz */
@ -374,3 +367,4 @@ ROM_END
/*** GAME DRIVERS ************************************************************/
GAME( 1994, speedspn, 0, speedspn, speedspn, 0, ROT180, "TCH", "Speed Spin", GAME_IMPERFECT_GRAPHICS )

View File

@ -176,20 +176,13 @@ 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( suprslam_sound_readport, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
AM_RANGE(0x08, 0x08) AM_READ(ym2610_status_port_0_a_r)
AM_RANGE(0x0a, 0x0a) AM_READ(ym2610_status_port_0_b_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( suprslam_sound_writeport, ADDRESS_SPACE_IO, 8 )
static ADDRESS_MAP_START( suprslam_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(suprslam_sh_bankswitch_w)
AM_RANGE(0x04, 0x04) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x08, 0x08) AM_WRITE(ym2610_control_port_0_a_w)
AM_RANGE(0x04, 0x04) AM_READWRITE(soundlatch_r, pending_command_clear_w)
AM_RANGE(0x08, 0x08) AM_READWRITE(ym2610_status_port_0_a_r, ym2610_control_port_0_a_w)
AM_RANGE(0x09, 0x09) AM_WRITE(ym2610_data_port_0_a_w)
AM_RANGE(0x0a, 0x0a) AM_WRITE(ym2610_control_port_0_b_w)
AM_RANGE(0x0a, 0x0a) AM_READWRITE(ym2610_status_port_0_b_r, ym2610_control_port_0_b_w)
AM_RANGE(0x0b, 0x0b) AM_WRITE(ym2610_data_port_0_b_w)
ADDRESS_MAP_END
@ -329,7 +322,7 @@ static MACHINE_DRIVER_START( suprslam )
MDRV_CPU_ADD("audio", Z80,8000000/2) /* 4 MHz ??? */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
MDRV_CPU_IO_MAP(suprslam_sound_readport,suprslam_sound_writeport)
MDRV_CPU_IO_MAP(suprslam_sound_io_map,0)
MDRV_GFXDECODE(suprslam)
@ -392,3 +385,4 @@ ROM_END
GAME( 1995, suprslam, 0, suprslam, suprslam, 0, ROT0, "Banpresto / Toei Animation", "Super Slams", GAME_IMPERFECT_GRAPHICS )

View File

@ -52,6 +52,7 @@ static WRITE8_HANDLER( sound_reset_w )
cpunum_set_input_line(machine, 1, INPUT_LINE_RESET, PULSE_LINE );
}
/***************************************************************************/
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM) /* rom */
@ -81,7 +82,7 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc804, 0xc804) AM_WRITE(SMH_NOP) /* ???? not used */
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(watchdog_reset_r)
ADDRESS_MAP_END
@ -96,18 +97,14 @@ static ADDRESS_MAP_START( writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3800, 0x3bff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( readport_sound, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x8c, 0x8d) AM_READ(ay8910_read_port_0_r)
AM_RANGE(0x8e, 0x8f) AM_READ(ay8910_read_port_1_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writeport_sound, 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_0_w)
AM_RANGE(0x8c, 0x8d) AM_READ(ay8910_read_port_0_r)
AM_RANGE(0x8d, 0x8d) AM_WRITE(ay8910_write_port_0_w)
AM_RANGE(0x8e, 0x8e) AM_WRITE(ay8910_control_port_1_w)
AM_RANGE(0x8e, 0x8f) AM_READ(ay8910_read_port_1_r)
AM_RANGE(0x8f, 0x8f) AM_WRITE(ay8910_write_port_1_w)
ADDRESS_MAP_END
@ -265,12 +262,12 @@ static MACHINE_DRIVER_START( timelimt )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 5000000) /* 5.000 MHz */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_IO_MAP(readport,0)
MDRV_CPU_IO_MAP(io_map,0)
MDRV_CPU_VBLANK_INT("main", timelimt_irq)
MDRV_CPU_ADD("audio", Z80,18432000/6) /* 3.072 MHz */
MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound)
MDRV_CPU_IO_MAP(readport_sound,writeport_sound)
MDRV_CPU_IO_MAP(sound_io_map,0)
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* ? */
MDRV_INTERLEAVE(50)
@ -380,3 +377,4 @@ ROM_END
GAME( 1983, timelimt, 0, timelimt, timelimt, 0, ROT90, "Chuo Co. Ltd", "Time Limit", GAME_IMPERFECT_COLORS )
GAME( 1984, progress, 0, progress, progress, 0, ROT90, "Chuo Co. Ltd", "Progress", 0 )