mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
Part 3 of "The big IO_MAP merge of 2008". (Andrew Gardner)
This commit is contained in:
parent
f22c328768
commit
09231710bc
@ -134,19 +134,14 @@ static ADDRESS_MAP_START( crospang_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crospang_sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( crospang_sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(ym3812_status_port_0_r)
|
||||
AM_RANGE(0x02, 0x02) AM_READ(okim6295_status_0_r)
|
||||
AM_RANGE(0x00, 0x00) AM_READWRITE(ym3812_status_port_0_r, ym3812_control_port_0_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(ym3812_write_port_0_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
|
||||
AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( crospang_sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(ym3812_control_port_0_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(ym3812_write_port_0_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(okim6295_data_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( crospang )
|
||||
PORT_START("P1_P2")
|
||||
@ -338,7 +333,7 @@ static MACHINE_DRIVER_START( crospang )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 14318180/4)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_sound_readmem,crospang_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(crospang_sound_readport,crospang_sound_writeport)
|
||||
MDRV_CPU_IO_MAP(crospang_sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -375,7 +370,7 @@ static MACHINE_DRIVER_START( bestri )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 14318180/4)
|
||||
MDRV_CPU_PROGRAM_MAP(crospang_sound_readmem,crospang_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(crospang_sound_readport,crospang_sound_writeport)
|
||||
MDRV_CPU_IO_MAP(crospang_sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -595,3 +590,4 @@ static DRIVER_INIT( crospang )
|
||||
GAME( 1998, crospang, 0, crospang, crospang, crospang, ROT0, "F2 System", "Cross Pang", 0 )
|
||||
GAME( 199?, heuksun, 0, crospang, heuksun, crospang, ROT0, "Oksan / F2 System", "Heuk Sun Baek Sa (Korea)", 0 )
|
||||
GAME( 199?, bestri, 0, bestri, bestri, crospang, ROT0, "F2 System", "Bestri (Korea)", 0 )
|
||||
|
||||
|
@ -231,25 +231,17 @@ 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(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( 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(crshrace_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
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( crshrace )
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
|
||||
@ -463,7 +455,7 @@ static MACHINE_DRIVER_START( crshrace )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80,4000000) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_IO_MAP(sound_readport,sound_writeport)
|
||||
MDRV_CPU_IO_MAP(sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
@ -591,3 +583,4 @@ static DRIVER_INIT( crshrac2 )
|
||||
|
||||
GAME( 1993, crshrace, 0, crshrace, crshrace, crshrace, ROT270, "Video System Co.", "Lethal Crash Race (set 1)", GAME_NO_COCKTAIL )
|
||||
GAME( 1993, crshrac2, crshrace, crshrace, crshrac2, crshrac2, ROT270, "Video System Co.", "Lethal Crash Race (set 2)", GAME_NO_COCKTAIL )
|
||||
|
||||
|
@ -306,23 +306,11 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( arwritemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
|
||||
|
||||
|
||||
AM_RANGE(0xc500, 0xc500) AM_WRITE(cshooter_c500_w)
|
||||
AM_RANGE(0xc600, 0xc600) AM_WRITE(SMH_NOP) // see notes
|
||||
AM_RANGE(0xc700, 0xc700) AM_WRITE(cshooter_c700_w)
|
||||
AM_RANGE(0xc801, 0xc801) AM_WRITE(SMH_NOP) // see notes
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_WRITE(cshooter_txram_w) AM_BASE(&cshooter_txram)
|
||||
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -348,25 +336,13 @@ static ADDRESS_MAP_START( s2_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( s2_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE(0x4000, 0x4000) AM_WRITE(SMH_NOP) // ym2203_control_port_0_w ?
|
||||
AM_RANGE(0x4001, 0x4001) AM_WRITE(SMH_NOP) // ym2203_write_port_0_w
|
||||
|
||||
AM_RANGE(0x4008, 0x4008) AM_WRITE(SMH_NOP) // ym2203_control_port_0_w ?
|
||||
AM_RANGE(0x4009, 0x4009) AM_WRITE(SMH_NOP) // ym2203_write_port_0_w
|
||||
|
||||
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( s_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( s_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( cshooter )
|
||||
@ -471,12 +447,10 @@ GFXDECODE_END
|
||||
static MACHINE_DRIVER_START( cshooter )
|
||||
MDRV_CPU_ADD("main", Z80,XTAL_12MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80,XTAL_14_31818MHz/4) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(s_readmem,s_writemem)
|
||||
MDRV_CPU_IO_MAP(s_readport,s_writeport)
|
||||
|
||||
MDRV_MACHINE_RESET(cshooter)
|
||||
|
||||
@ -502,12 +476,10 @@ MACHINE_DRIVER_END
|
||||
static MACHINE_DRIVER_START( airraid )
|
||||
MDRV_CPU_ADD("main", Z80,XTAL_12MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(arreadmem,arwritemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80,XTAL_14_31818MHz/4) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(s2_readmem,s2_writemem)
|
||||
MDRV_CPU_IO_MAP(s_readport,s_writeport)
|
||||
|
||||
MDRV_MACHINE_RESET(cshooter)
|
||||
|
||||
@ -756,3 +728,4 @@ static DRIVER_INIT( cshootre )
|
||||
GAME( 1987, cshooter, 0, cshooter, cshooter, cshooter, ROT270, "[Seibu Kaihatsu] (Taito license)", "Cross Shooter (not encrypted)", GAME_NOT_WORKING | GAME_NO_SOUND )
|
||||
GAME( 1987, cshootre, cshooter, airraid, cshooter, cshootre, ROT270, "[Seibu Kaihatsu] (J.K.H. license)", "Cross Shooter (encrypted)", GAME_NOT_WORKING | GAME_NO_SOUND )
|
||||
GAME( 1987, airraid, cshooter, airraid, cshooter, cshootre, ROT270, "Seibu Kaihatsu", "Air Raid (encrypted)", GAME_NOT_WORKING | GAME_NO_SOUND )
|
||||
|
||||
|
@ -126,21 +126,15 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0x05, 0x05) AM_READ(okim6295_status_0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(ym3812_control_port_0_w)
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(ym3812_write_port_0_w)
|
||||
AM_RANGE(0x05, 0x05) AM_WRITE(okim6295_data_0_w)
|
||||
AM_RANGE(0x05, 0x05) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
|
||||
AM_RANGE(0x07, 0x07) AM_WRITE(deniam16b_oki_rom_bank_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/* identical to 16b, but handles sound directly */
|
||||
static ADDRESS_MAP_START( deniam16c_readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM)
|
||||
@ -288,7 +282,7 @@ static MACHINE_DRIVER_START( deniam16b )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80,25000000/4) /* (makes logicpro music tempo correct) */
|
||||
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_MACHINE_RESET(deniam)
|
||||
|
||||
@ -451,3 +445,4 @@ GAME( 1996, logicpro, 0, deniam16b, logicpr2, logicpro, ROT0, "Deniam", "
|
||||
GAME( 1996, croquis, logicpro, deniam16b, logicpr2, logicpro, ROT0, "Deniam", "Croquis (Germany)", 0 )
|
||||
GAME( 1996, karianx, 0, deniam16b, karianx, karianx, ROT0, "Deniam", "Karian Cross (Rev. 1.0)", 0 )
|
||||
GAME( 1997, logicpr2, 0, deniam16c, logicpr2, logicpro, ROT0, "Deniam", "Logic Pro 2 (Japan)", GAME_IMPERFECT_SOUND )
|
||||
|
||||
|
@ -303,29 +303,20 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xf000, 0xffff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static READ8_HANDLER( discoboy_port_06_r )
|
||||
{
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
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("DSWA")
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSWA") AM_WRITE(discoboy_port_00_w)
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(discoboy_port_01_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("P2") AM_WRITE(discoboy_port_03_w)
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWB")
|
||||
|
||||
AM_RANGE(0x06, 0x06) AM_READ(discoboy_port_06_r) // ???
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(discoboy_port_00_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(discoboy_port_01_w)
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(discoboy_port_03_w)
|
||||
AM_RANGE(0x06, 0x06) AM_WRITE(discoboy_port_06_w) // ?? unk
|
||||
|
||||
AM_RANGE(0x06, 0x06) AM_READWRITE(discoboy_port_06_r, discoboy_port_06_w) // ???
|
||||
AM_RANGE(0x07, 0x07) AM_WRITE(rambank_select_w) // 0x20 is palette bank bit.. others?
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -341,8 +332,6 @@ static void splash_msm5205_int(running_machine *machine, int data)
|
||||
// adpcm_data = (adpcm_data << 4) & 0xf0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_READ(SMH_RAM)
|
||||
@ -356,15 +345,6 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xec01, 0xec01) AM_WRITE(ym3812_write_port_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( discoboy )
|
||||
PORT_START("DSWA")
|
||||
@ -481,12 +461,12 @@ static MACHINE_DRIVER_START( discoboy )
|
||||
/* 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,10000000/2) /* 5 MHz? */
|
||||
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_VBLANK_INT_HACK(nmi_line_pulse,32)
|
||||
|
||||
@ -576,3 +556,4 @@ ROM_END
|
||||
|
||||
|
||||
GAME( 1993, discoboy, 0, discoboy, discoboy, discoboy, ROT270, "Soft Art Co.", "Disco Boy", 0 )
|
||||
|
||||
|
@ -90,37 +90,24 @@ 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("DSW")
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW") AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(epos_port_1_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("INPUTS") AM_WRITE(ay8910_write_port_0_w)
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("UNK")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(epos_port_1_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(ay8910_write_port_0_w)
|
||||
AM_RANGE(0x06, 0x06) AM_WRITE(ay8910_control_port_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( dealer_readport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( dealer_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x10, 0x13) AM_DEVREAD(PPI8255, "ppi8255", ppi8255_r)
|
||||
AM_RANGE(0x38, 0x38) AM_READ_PORT("DSW")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( dealer_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x10, 0x13) AM_DEVWRITE(PPI8255, "ppi8255", ppi8255_w)
|
||||
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE(PPI8255, "ppi8255", ppi8255_r, ppi8255_w)
|
||||
AM_RANGE(0x20, 0x24) AM_WRITE(dealer_decrypt_rom)
|
||||
AM_RANGE(0x38, 0x38) AM_READ_PORT("DSW")
|
||||
// AM_RANGE(0x40, 0x40) AM_WRITE(watchdog_reset_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/*
|
||||
ROMs U01-U03 are checked with the same code in a loop.
|
||||
There's a separate ROM check for banked U04 at 30F3.
|
||||
@ -360,7 +347,7 @@ static MACHINE_DRIVER_START( epos )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80, 11000000/4) /* 2.75 MHz (see notes) */
|
||||
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 */
|
||||
@ -384,7 +371,7 @@ static MACHINE_DRIVER_START( dealer )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80, 11000000/4) /* 2.75 MHz (see notes) */
|
||||
MDRV_CPU_PROGRAM_MAP(dealer_readmem,dealer_writemem)
|
||||
MDRV_CPU_IO_MAP(dealer_readport,dealer_writeport)
|
||||
MDRV_CPU_IO_MAP(dealer_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_DEVICE_ADD( "ppi8255", PPI8255 )
|
||||
@ -633,3 +620,4 @@ GAME( 1983, theglob3, suprglob, epos, suprglob, 0, ROT270, "Epos Corporat
|
||||
GAME( 1984, igmo, 0, epos, igmo, 0, ROT270, "Epos Corporation", "IGMO", GAME_WRONG_COLORS )
|
||||
GAME( 1984, dealer, 0, dealer, dealer, dealer, ROT270, "Epos Corporation", "The Dealer", GAME_WRONG_COLORS )
|
||||
GAME( 1984, revenger, 0, dealer, dealer, dealer, ROT270, "Epos Corporation", "Revenger", GAME_NOT_WORKING )
|
||||
|
||||
|
@ -141,19 +141,15 @@ 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 )
|
||||
AM_RANGE(0x00, 0xff) AM_READ(soundlatch_r)
|
||||
AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(i8039_T1_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( i8039_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( i8039_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x00, 0xff) AM_READ(soundlatch_r)
|
||||
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_w)
|
||||
AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_WRITE(i8039_T0_w)
|
||||
AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(i8039_T1_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( finalizr )
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
@ -323,7 +319,7 @@ static MACHINE_DRIVER_START( finalizr )
|
||||
|
||||
MDRV_CPU_ADD("audio", I8039,18432000/2) /* 9.216MHz clkin ?? */
|
||||
MDRV_CPU_PROGRAM_MAP(i8039_readmem,i8039_writemem)
|
||||
MDRV_CPU_IO_MAP(i8039_readport,i8039_writeport)
|
||||
MDRV_CPU_IO_MAP(i8039_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -417,3 +413,4 @@ static DRIVER_INIT( finalizr )
|
||||
|
||||
GAME( 1985, finalizr, 0, finalizr, finalizr, finalizr, ROT90, "Konami", "Finalizer - Super Transformation", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
|
||||
GAME( 1985, finalizb, finalizr, finalizr, finalizb, finalizr, ROT90, "bootleg", "Finalizer - Super Transformation (bootleg)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
|
||||
|
||||
|
@ -119,16 +119,11 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xf800, 0xf800) AM_WRITE(watchdog_reset_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x02, 0x02) 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(ay8910_control_port_0_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(ay8910_write_port_0_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READ(ay8910_read_port_0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -305,7 +300,7 @@ static MACHINE_DRIVER_START( funkybee )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80, 3072000) /* 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 */
|
||||
@ -441,3 +436,4 @@ GAME( 1982, funkybee, 0, funkybee, funkybee, 0, ROT90, "Orca",
|
||||
GAME( 1982, funkbeeb, funkybee, funkybee, funkbeeb, 0, ROT90, "bootleg", "Funky Bee (bootleg, harder)", 0 )
|
||||
GAME( 1983, skylancr, 0, funkybee, skylancr, 0, ROT90, "Orca", "Sky Lancer", 0 )
|
||||
GAME( 1983, skylance, skylancr, funkybee, skylance, 0, ROT90, "Orca (Esco Trading Co license)", "Sky Lancer (Esco Trading Co license)", 0 )
|
||||
|
||||
|
@ -155,23 +155,17 @@ static ADDRESS_MAP_START( fuuki16_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM ) // Banked ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( fuuki16_sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x11, 0x11) AM_READ(soundlatch_r ) // From Main CPU
|
||||
AM_RANGE(0x50, 0x50) AM_READ(ym3812_status_port_0_r ) // YM3812
|
||||
AM_RANGE(0x60, 0x60) AM_READ(okim6295_status_0_r ) // M6295
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( fuuki16_sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( fuuki16_sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(fuuki16_sound_rombank_w ) // ROM Bank
|
||||
AM_RANGE(0x11, 0x11) AM_WRITE(SMH_NOP ) // ? To Main CPU
|
||||
AM_RANGE(0x11, 0x11) AM_READWRITE(soundlatch_r, SMH_NOP ) // From Main CPU / ? To Main CPU ?
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(fuuki16_oki_banking_w ) // Oki Banking
|
||||
AM_RANGE(0x30, 0x30) AM_WRITE(SMH_NOP ) // ? In the NMI routine
|
||||
AM_RANGE(0x40, 0x40) AM_WRITE(ym2203_control_port_0_w ) // YM2203
|
||||
AM_RANGE(0x41, 0x41) AM_WRITE(ym2203_write_port_0_w )
|
||||
AM_RANGE(0x50, 0x50) AM_WRITE(ym3812_control_port_0_w ) // YM3812
|
||||
AM_RANGE(0x50, 0x50) AM_READWRITE(ym3812_status_port_0_r, ym3812_control_port_0_w) // YM3812
|
||||
AM_RANGE(0x51, 0x51) AM_WRITE(ym3812_write_port_0_w )
|
||||
AM_RANGE(0x60, 0x60) AM_READ(okim6295_status_0_r ) // M6295
|
||||
AM_RANGE(0x61, 0x61) AM_WRITE(okim6295_data_0_w ) // M6295
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -477,7 +471,7 @@ static MACHINE_DRIVER_START( fuuki16 )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 3000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(fuuki16_sound_readmem,fuuki16_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(fuuki16_sound_readport,fuuki16_sound_writeport)
|
||||
MDRV_CPU_IO_MAP(fuuki16_sound_io_map,0)
|
||||
|
||||
MDRV_MACHINE_START(fuuki16)
|
||||
MDRV_MACHINE_RESET(fuuki16)
|
||||
@ -653,7 +647,6 @@ Mitsubishi M60067-0901FP 452100 (208pin PQFP, GA1)
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( pbancho )
|
||||
|
||||
ROM_REGION( 0x100000, "main", 0 ) /* 68000 Code */
|
||||
ROM_LOAD16_BYTE( "rom2.no1", 0x000000, 0x080000, CRC(1b4fd178) SHA1(02cf3d2554b29cd253470d68ea959738f3b98dbe) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF
|
||||
ROM_LOAD16_BYTE( "rom1.no2", 0x000001, 0x080000, CRC(9cf510a5) SHA1(08e79b5bbd1c011c32f82dd15fba42d7898861be) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF
|
||||
@ -677,7 +670,6 @@ ROM_START( pbancho )
|
||||
|
||||
ROM_REGION( 0x040000, "oki", 0 ) /* Samples */
|
||||
ROM_LOAD( "rom25.no3", 0x000000, 0x040000, CRC(a7bfb5ea) SHA1(61937eae4f8855bc09c494aff52d76d41dc3b76a) )
|
||||
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -692,3 +684,4 @@ ROM_END
|
||||
GAME( 1995, gogomile, 0, fuuki16, gogomile, 0, ROT0, "Fuuki", "Go Go! Mile Smile", 0 )
|
||||
GAME( 1995, gogomilj, gogomile, fuuki16, gogomilj, 0, ROT0, "Fuuki", "Susume! Mile Smile (Japan)", 0 )
|
||||
GAME( 1996, pbancho, 0, fuuki16, pbancho, 0, ROT0, "Fuuki", "Gyakuten!! Puzzle Bancho (Japan)", 0)
|
||||
|
||||
|
@ -60,23 +60,16 @@ static ADDRESS_MAP_START( crzrally_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xf800, 0xf801) AM_WRITE(holeland_pal_offs_w)
|
||||
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(0x01, 0x01) AM_READ(watchdog_reset_r) /* ? */
|
||||
AM_RANGE(0x04, 0x04) AM_READ(ay8910_read_port_0_r)
|
||||
AM_RANGE(0x06, 0x06) AM_READ(ay8910_read_port_1_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x04, 0x04) AM_WRITE(ay8910_control_port_0_w)
|
||||
AM_RANGE(0x04, 0x04) AM_READWRITE(ay8910_read_port_0_r, ay8910_control_port_0_w)
|
||||
AM_RANGE(0x05, 0x05) AM_WRITE(ay8910_write_port_0_w)
|
||||
AM_RANGE(0x06, 0x06) AM_WRITE(ay8910_control_port_1_w)
|
||||
AM_RANGE(0x06, 0x06) AM_READWRITE(ay8910_read_port_1_r, ay8910_control_port_1_w)
|
||||
AM_RANGE(0x07, 0x07) AM_WRITE(ay8910_write_port_1_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( holeland )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
@ -307,7 +300,7 @@ static MACHINE_DRIVER_START( holeland )
|
||||
/* 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 */
|
||||
@ -376,7 +369,7 @@ static MACHINE_DRIVER_START( crzrally )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80, 20000000/4) /* 5 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(crzrally_readmem,crzrally_writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_IO_MAP(io_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
@ -530,3 +523,4 @@ GAME( 1984, holeland, 0, holeland, holeland, 0, ROT0, "Tecfri", "Hole L
|
||||
GAME( 1985, crzrally, 0, crzrally, crzrally, 0, ROT270, "Tecfri", "Crazy Rally (set 1)", GAME_IMPERFECT_GRAPHICS )
|
||||
GAME( 1985, crzralla, crzrally, crzrally, crzrally, 0, ROT270, "Tecfri", "Crazy Rally (set 2)", GAME_IMPERFECT_GRAPHICS )
|
||||
GAME( 1985, crzrallg, crzrally, crzrally, crzrally, 0, ROT270, "Tecfri (Gecas license)", "Crazy Rally (Gecas license)", GAME_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
@ -237,25 +237,16 @@ static ADDRESS_MAP_START( inufuku_writemem_sound, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( inufuku_readport_sound, 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(0x09, 0x09) AM_READ(ym2610_read_port_0_r)
|
||||
AM_RANGE(0x0a, 0x0a) AM_READ(ym2610_status_port_0_b_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( inufuku_writeport_sound, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( inufuku_sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(inufuku_soundrombank_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(0x09, 0x09) AM_WRITE(ym2610_data_port_0_a_w)
|
||||
AM_RANGE(0x0a, 0x0a) AM_WRITE(ym2610_control_port_0_b_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_READWRITE(ym2610_read_port_0_r, ym2610_data_port_0_a_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
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
Port definitions
|
||||
@ -396,7 +387,7 @@ static MACHINE_DRIVER_START( inufuku )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 32000000/4) /* 8.00 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(inufuku_readmem_sound, inufuku_writemem_sound)
|
||||
MDRV_CPU_IO_MAP(inufuku_readport_sound, inufuku_writeport_sound)
|
||||
MDRV_CPU_IO_MAP(inufuku_sound_io_map,0)
|
||||
/* IRQs are triggered by the YM2610 */
|
||||
|
||||
MDRV_MACHINE_RESET(inufuku)
|
||||
@ -466,3 +457,4 @@ ROM_END
|
||||
******************************************************************************/
|
||||
|
||||
GAME( 1998, inufuku, 0, inufuku, inufuku, inufuku, ROT0, "Video System Co.", "Quiz & Variety Sukusuku Inufuku (Japan)", GAME_NO_COCKTAIL )
|
||||
|
||||
|
@ -225,12 +225,7 @@ static ADDRESS_MAP_START( magmax_soundwritemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x6000, 0x67ff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( magmax_soundreadport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x06, 0x06) AM_READ(magmax_sound_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( magmax_soundwriteport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( magmax_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(0x01, 0x01) AM_WRITE(ay8910_write_port_0_w)
|
||||
@ -238,6 +233,7 @@ static ADDRESS_MAP_START( magmax_soundwriteport, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(ay8910_write_port_1_w)
|
||||
AM_RANGE(0x04, 0x04) AM_WRITE(ay8910_control_port_2_w)
|
||||
AM_RANGE(0x05, 0x05) AM_WRITE(ay8910_write_port_2_w)
|
||||
AM_RANGE(0x06, 0x06) AM_READ(magmax_sound_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -362,7 +358,7 @@ static MACHINE_DRIVER_START( magmax )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80,XTAL_20MHz/8) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(magmax_soundreadmem,magmax_soundwritemem)
|
||||
MDRV_CPU_IO_MAP(magmax_soundreadport,magmax_soundwriteport)
|
||||
MDRV_CPU_IO_MAP(magmax_sound_io_map,0)
|
||||
|
||||
MDRV_INTERLEAVE(10)
|
||||
|
||||
@ -448,3 +444,4 @@ ROM_END
|
||||
|
||||
|
||||
GAME( 1985, magmax, 0, magmax, magmax, 0, ROT0, "Nichibutsu", "Mag Max", GAME_SUPPORTS_SAVE )
|
||||
|
||||
|
@ -185,27 +185,14 @@ static READ8_HANDLER( marinedt_obj1_yq_r )
|
||||
return cyq | (cyqh<<4);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( marinedt_obj1_a_w ) { marinedt_obj1_a = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj1_x_w ) { marinedt_obj1_x = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj1_y_w ) { marinedt_obj1_y = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj2_a_w ) { marinedt_obj2_a = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj2_x_w ) { marinedt_obj2_x = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj2_y_w ) { marinedt_obj2_y = data; }
|
||||
|
||||
static ADDRESS_MAP_START( marinedt_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW0") //dips coinage
|
||||
AM_RANGE(0x01, 0x01) AM_READ(marinedt_port1_r) //trackball xy muxed
|
||||
AM_RANGE(0x02, 0x02) AM_READ(marinedt_obj1_x_r)
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("IN0") //buttons
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") //dips
|
||||
AM_RANGE(0x06, 0x06) AM_READ(marinedt_obj1_yr_r)
|
||||
AM_RANGE(0x0a, 0x0a) AM_READ(marinedt_obj1_yq_r)
|
||||
AM_RANGE(0x0e, 0x0e) AM_READ(marinedt_coll_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static WRITE8_HANDLER( marinedt_obj1_a_w ) { marinedt_obj1_a = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj1_x_w ) { marinedt_obj1_x = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj1_y_w ) { marinedt_obj1_y = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj2_a_w ) { marinedt_obj2_a = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj2_x_w ) { marinedt_obj2_x = data; }
|
||||
static WRITE8_HANDLER( marinedt_obj2_y_w ) { marinedt_obj2_y = data; }
|
||||
|
||||
static WRITE8_HANDLER( marinedt_music_w ){ marinedt_music = data; }
|
||||
static WRITE8_HANDLER( marinedt_music_w ){ marinedt_music = data; }
|
||||
|
||||
static WRITE8_HANDLER( marinedt_sound_w )
|
||||
{
|
||||
@ -282,21 +269,25 @@ static WRITE8_HANDLER( marinedt_pf_w )
|
||||
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( marinedt_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
|
||||
static ADDRESS_MAP_START( marinedt_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(marinedt_obj1_a_w)
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(marinedt_obj1_x_w)
|
||||
AM_RANGE(0x04, 0x04) AM_WRITE(marinedt_obj1_y_w)
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW0") //dips coinage
|
||||
AM_RANGE(0x01, 0x01) AM_READ(marinedt_port1_r) //trackball xy muxed
|
||||
AM_RANGE(0x02, 0x02) AM_READWRITE(marinedt_obj1_x_r, marinedt_obj1_a_w)
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("IN0") AM_WRITE(marinedt_obj1_x_w)
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(marinedt_obj1_y_w)
|
||||
AM_RANGE(0x05, 0x05) AM_WRITE(marinedt_music_w)
|
||||
AM_RANGE(0x06, 0x06) AM_WRITE(marinedt_sound_w)
|
||||
AM_RANGE(0x06, 0x06) AM_READWRITE(marinedt_obj1_yr_r, marinedt_sound_w)
|
||||
AM_RANGE(0x08, 0x08) AM_WRITE(marinedt_obj2_a_w)
|
||||
AM_RANGE(0x09, 0x09) AM_WRITE(marinedt_obj2_x_w)
|
||||
AM_RANGE(0x0a, 0x0a) AM_WRITE(marinedt_obj2_y_w)
|
||||
AM_RANGE(0x0a, 0x0a) AM_READWRITE(marinedt_obj1_yq_r, marinedt_obj2_y_w)
|
||||
AM_RANGE(0x0d, 0x0d) AM_WRITE(marinedt_pd_w)
|
||||
AM_RANGE(0x0e, 0x0e) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x0e, 0x0e) AM_READWRITE(marinedt_coll_r, watchdog_reset_w)
|
||||
AM_RANGE(0x0f, 0x0f) AM_WRITE(marinedt_pf_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( marinedt )
|
||||
PORT_START("DSW0") /* IN0 */
|
||||
PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_A ) )
|
||||
@ -586,7 +577,7 @@ static MACHINE_DRIVER_START( marinedt )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80,10000000/4)
|
||||
MDRV_CPU_PROGRAM_MAP(marinedt_readmem,marinedt_writemem)
|
||||
MDRV_CPU_IO_MAP(marinedt_readport,marinedt_writeport)
|
||||
MDRV_CPU_IO_MAP(marinedt_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
@ -644,3 +635,4 @@ ROM_START( marinedt )
|
||||
ROM_END
|
||||
|
||||
GAME( 1981, marinedt, 0, marinedt, marinedt, 0, ROT270, "Taito", "Marine Date", GAME_NO_SOUND )
|
||||
|
||||
|
@ -186,11 +186,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(soundlatch2_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
|
||||
@ -393,7 +390,7 @@ static MACHINE_DRIVER_START( pandoras )
|
||||
|
||||
MDRV_CPU_ADD("mcu", I8039,14318000/2)
|
||||
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(50) /* slices per frame */
|
||||
|
||||
@ -466,3 +463,4 @@ ROM_END
|
||||
|
||||
|
||||
GAME( 1984, pandoras, 0, pandoras, pandoras, 0, ROT90, "Konami/Interlogic", "Pandora's Palace", 0 )
|
||||
|
||||
|
@ -157,29 +157,26 @@ static ADDRESS_MAP_START( sauro_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xfc00, 0xffff) AM_WRITE(tecfri_colorram2_w) AM_BASE(&tecfri_colorram2)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sauro_readport, ADDRESS_SPACE_IO, 8 )
|
||||
|
||||
static ADDRESS_MAP_START( sauro_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x20, 0x20) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x40, 0x40) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x60, 0x60) AM_READ_PORT("P2")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sauro_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x80, 0x80) AM_WRITE(sauro_sound_command_w)
|
||||
AM_RANGE(0xa0, 0xa0) AM_WRITE(tecfri_scroll_bg_w)
|
||||
AM_RANGE(0xa1, 0xa1) AM_WRITE(sauro_scroll_fg_w)
|
||||
AM_RANGE(0x80, 0x80) AM_WRITE(sauro_sound_command_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_WRITE(flip_screen_w)
|
||||
AM_RANGE(0xc2, 0xc2) AM_WRITE(SMH_NOP) /* coin reset */
|
||||
AM_RANGE(0xc2, 0xc2) AM_WRITE(SMH_NOP) /* coin reset */
|
||||
AM_RANGE(0xc3, 0xc3) AM_WRITE(sauro_coin1_w)
|
||||
AM_RANGE(0xc4, 0xc4) AM_WRITE(SMH_NOP) /* coin reset */
|
||||
AM_RANGE(0xc5, 0xc5) AM_WRITE(sauro_coin2_w)
|
||||
AM_RANGE(0xc6, 0xc7) AM_WRITE(SMH_NOP) /* same as 0x80 - verified with debugger */
|
||||
AM_RANGE(0xc8, 0xc8) AM_WRITE(SMH_NOP) /* written every int: 0 written at end of isr */
|
||||
AM_RANGE(0xc9, 0xc9) AM_WRITE(SMH_NOP) /* written every int: 1 written at start of isr */
|
||||
AM_RANGE(0xca, 0xcb) AM_WRITE(sauro_palette_bank_w) /* 1 written upon death, cleared 2 vblanks later */
|
||||
/* Sequence 3,2,1 written during intro screen */
|
||||
AM_RANGE(0xca, 0xcb) AM_WRITE(sauro_palette_bank_w) /* 1 written upon death, cleared 2 vblanks later */
|
||||
/* Sequence 3,2,1 written during intro screen */
|
||||
AM_RANGE(0xcc, 0xcc) AM_WRITE(SMH_NOP) /* same as 0xca */
|
||||
AM_RANGE(0xcd, 0xcd) AM_WRITE(SMH_NOP) /* same as 0xcb */
|
||||
AM_RANGE(0xce, 0xce) AM_WRITE(SMH_NOP) /* only written at startup */
|
||||
@ -393,6 +390,7 @@ static MACHINE_DRIVER_START( trckydoc )
|
||||
|
||||
MDRV_VIDEO_START(trckydoc)
|
||||
MDRV_VIDEO_UPDATE(trckydoc)
|
||||
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( sauro )
|
||||
@ -400,7 +398,7 @@ static MACHINE_DRIVER_START( sauro )
|
||||
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(sauro_readmem, sauro_writemem)
|
||||
MDRV_CPU_IO_MAP(sauro_readport, sauro_writeport)
|
||||
MDRV_CPU_IO_MAP(sauro_io_map,0)
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 4000000) // 4 MHz?
|
||||
MDRV_CPU_PROGRAM_MAP(sauro_sound_readmem, sauro_sound_writemem)
|
||||
@ -517,3 +515,4 @@ static DRIVER_INIT( tecfri )
|
||||
GAME( 1987, sauro, 0, sauro, tecfri, tecfri, ROT0, "Tecfri", "Sauro", 0 )
|
||||
GAME( 1987, trckydoc, 0, trckydoc, tecfri, tecfri, ROT0, "Tecfri", "Tricky Doc (Set 1)", 0 )
|
||||
GAME( 1987, trckydca, trckydoc, trckydoc, tecfri, tecfri, ROT0, "Tecfri", "Tricky Doc (Set 2)", 0 )
|
||||
|
||||
|
@ -193,24 +193,18 @@ static ADDRESS_MAP_START( heberpop_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xf800, 0xffff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( heberpop_sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(ym3438_status_port_0_a_r)
|
||||
AM_RANGE(0x80, 0x80) AM_READ(okim6295_status_0_r)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( heberpop_sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( heberpop_sound_io_map, 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(okim6295_data_0_w)
|
||||
AM_RANGE(0x80, 0x80) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
|
||||
AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( shangha3 )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
|
||||
@ -542,11 +536,10 @@ static MACHINE_DRIVER_START( heberpop )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 6000000) /* 6 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(heberpop_sound_readmem,heberpop_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(heberpop_sound_readport,heberpop_sound_writeport)
|
||||
/* NMI triggered by YM3438 */
|
||||
MDRV_CPU_IO_MAP(heberpop_sound_io_map,0) /* NMI triggered by YM3438 */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS )
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
|
||||
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
@ -584,8 +577,7 @@ static MACHINE_DRIVER_START( blocken )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 6000000) /* 6 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(heberpop_sound_readmem,heberpop_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(heberpop_sound_readport,heberpop_sound_writeport)
|
||||
/* NMI triggered by YM3438 */
|
||||
MDRV_CPU_IO_MAP(heberpop_sound_io_map,0) /* NMI triggered by YM3438 */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
|
||||
@ -690,3 +682,4 @@ static DRIVER_INIT( heberpop )
|
||||
GAME( 1993, shangha3, 0, shangha3, shangha3, shangha3, ROT0, "Sunsoft", "Shanghai III (Japan)", 0 )
|
||||
GAME( 1994, heberpop, 0, heberpop, heberpop, heberpop, ROT0, "Sunsoft / Atlus", "Hebereke no Popoon (Japan)", 0 )
|
||||
GAME( 1994, blocken, 0, blocken, blocken, heberpop, ROT0, "KID / Visco", "Blocken (Japan)", 0 )
|
||||
|
||||
|
@ -61,22 +61,15 @@ 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(sichuan2_dsw1_r)
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x00, 0x00) AM_READWRITE(sichuan2_dsw1_r, sichuan2_coin_w)
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("DSW2") AM_WRITE(m72_sound_command_byte_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("P1") AM_WRITE(sichuan2_bankswitch_w)
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("P2")
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("COIN")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(sichuan2_coin_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(m72_sound_command_byte_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(sichuan2_bankswitch_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
|
||||
AM_RANGE(0xfd00, 0xffff) AM_READ(SMH_RAM)
|
||||
@ -87,20 +80,15 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xfd00, 0xffff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x01, 0x01) AM_READ(ym2151_status_port_0_r)
|
||||
AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0x84, 0x84) AM_READ(m72_sample_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(ym2151_register_port_0_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(ym2151_data_port_0_w)
|
||||
AM_RANGE(0x01, 0x01) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w)
|
||||
AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r)
|
||||
AM_RANGE(0x80, 0x81) AM_WRITE(shisen_sample_addr_w)
|
||||
AM_RANGE(0x82, 0x82) AM_WRITE(m72_sample_w)
|
||||
AM_RANGE(0x83, 0x83) AM_WRITE(m72_sound_irq_ack_w)
|
||||
AM_RANGE(0x84, 0x84) AM_READ(m72_sample_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -243,12 +231,12 @@ static MACHINE_DRIVER_START( shisen )
|
||||
/* 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, 3579645)
|
||||
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_HACK(nmi_line_pulse,128) /* clocked by V1? (Vigilante) */
|
||||
/* IRQs are generated by main Z80 and YM2151 */
|
||||
|
||||
@ -464,3 +452,4 @@ GAME( 1989, matchit, 0, shisen, matchit, 0, ROT0, "Tamtex", "Match It"
|
||||
GAME( 1989, shisen, matchit, shisen, shisen, 0, ROT0, "Tamtex", "Shisensho - Joshiryo-Hen (Japan)", 0 )
|
||||
GAME( 1989, sichuan2, matchit, shisen, shisen, 0, ROT0, "hack", "Sichuan II (hack, set 1)", 0 )
|
||||
GAME( 1989, sichuana, matchit, shisen, shisen, 0, ROT0, "hack", "Sichuan II (hack, set 2)", 0 )
|
||||
|
||||
|
@ -110,15 +110,11 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_WRITE(SMH_ROM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( sound_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(MCS48_PORT_BUS, MCS48_PORT_BUS) AM_READ(soundlatch_r)
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READ(spcforce_SN76496_select_r)
|
||||
AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(spcforce_t0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_WRITE(spcforce_SN76496_latch_w)
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(spcforce_SN76496_select_w)
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READWRITE(spcforce_SN76496_select_r, spcforce_SN76496_select_w)
|
||||
AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(spcforce_t0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -262,9 +258,9 @@ static MACHINE_DRIVER_START( spcforce )
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT("main", irq3_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audio", I8035,6144000) /* divisor ??? */
|
||||
MDRV_CPU_ADD("audio", I8035, 6144000) /* divisor ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_IO_MAP(sound_readport,sound_writeport)
|
||||
MDRV_CPU_IO_MAP(sound_io_map,0)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -372,3 +368,4 @@ ROM_END
|
||||
GAME( 1980, spcforce, 0, spcforce, spcforce, 0, ROT270, "Venture Line", "Space Force (set 1)", GAME_IMPERFECT_COLORS )
|
||||
GAME( 19??, spcforc2, spcforce, spcforce, spcforc2, 0, ROT270, "Elcon (bootleg?)", "Space Force (set 2)", GAME_IMPERFECT_COLORS )
|
||||
GAME( 1981, meteor, spcforce, spcforce, spcforc2, 0, ROT270, "Venture Line", "Meteoroids", GAME_IMPERFECT_COLORS )
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user