diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c index 0352a9e6251..9f94601eda0 100644 --- a/src/mame/drivers/tunhunt.c +++ b/src/mame/drivers/tunhunt.c @@ -131,6 +131,7 @@ READ8_MEMBER(tunhunt_state::dsw2_4r) *************************************/ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tunhunt_state ) + ADDRESS_MAP_GLOBAL_MASK(0x7fff) AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("workram") /* Work RAM */ AM_RANGE(0x1080, 0x10ff) AM_WRITEONLY AM_RANGE(0x1200, 0x12ff) AM_WRITEONLY @@ -148,7 +149,6 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tunhunt_state ) AM_RANGE(0x3000, 0x300f) AM_DEVREADWRITE("pokey1", pokey_device, read, write) AM_RANGE(0x4000, 0x400f) AM_DEVREADWRITE("pokey2", pokey_device, read, write) AM_RANGE(0x5000, 0x7fff) AM_ROM - AM_RANGE(0xfffa, 0xffff) AM_ROM ADDRESS_MAP_END @@ -162,11 +162,7 @@ static INPUT_PORTS_START( tunhunt ) PORT_START("IN0") PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_TILT ) PORT_BIT ( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Service_Mode ) ) - PORT_DIPSETTING ( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING ( 0x04, DEF_STR( On ) ) - //Should the above switch be described as: - //PORT_SERVICE(0x04, IP_ACTIVE_HIGH) ? + PORT_SERVICE( 0x04, IP_ACTIVE_HIGH ) PORT_BIT ( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT ( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) @@ -180,40 +176,42 @@ static INPUT_PORTS_START( tunhunt ) PORT_BIT( 0xff, 0x00, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE PORT_START("DSW") - PORT_DIPNAME (0x0003, 0x0002, DEF_STR( Coinage ) ) + PORT_DIPNAME (0x0003, 0x0002, DEF_STR( Coinage ) ) PORT_DIPLOCATION("B4:1,2") PORT_DIPSETTING ( 0x0003, DEF_STR( 2C_1C ) ) PORT_DIPSETTING ( 0x0002, DEF_STR( 1C_1C ) ) PORT_DIPSETTING ( 0x0001, DEF_STR( 1C_2C ) ) PORT_DIPSETTING ( 0x0000, DEF_STR( Free_Play ) ) - PORT_DIPNAME (0x000c, 0x0000, DEF_STR( Coin_B ) ) - PORT_DIPSETTING ( 0x0000, "*1" ) - PORT_DIPSETTING ( 0x0004, "*4" ) - PORT_DIPSETTING ( 0x0008, "*5" ) - PORT_DIPSETTING ( 0x000c, "*6" ) - PORT_DIPNAME (0x0010, 0x0000, DEF_STR( Coin_A ) ) - PORT_DIPSETTING ( 0x0000, "*1" ) - PORT_DIPSETTING ( 0x0010, "*2" ) - PORT_DIPNAME (0x0060, 0x0000, "Bonus Credits" ) + PORT_DIPNAME (0x000c, 0x0000, "Coin 2 Multiplier" ) PORT_DIPLOCATION("B4:3,4") + PORT_DIPSETTING ( 0x0000, "1" ) + PORT_DIPSETTING ( 0x0004, "4" ) + PORT_DIPSETTING ( 0x0008, "5" ) + PORT_DIPSETTING ( 0x000c, "6" ) + PORT_DIPNAME (0x0010, 0x0000, "Coin 1 Multiplier" ) PORT_DIPLOCATION("B4:5") + PORT_DIPSETTING ( 0x0000, "1" ) + PORT_DIPSETTING ( 0x0010, "2" ) + PORT_DIPNAME (0x0060, 0x0000, "Bonus Credits" ) PORT_DIPLOCATION("B4:6,7") PORT_DIPSETTING ( 0x0000, DEF_STR( None ) ) - PORT_DIPSETTING ( 0x0060, "5 credits, 1 bonus" ) - PORT_DIPSETTING ( 0x0040, "4 credits, 1 bonus" ) - PORT_DIPSETTING ( 0x0020, "2 credits, 1 bonus" ) - PORT_DIPNAME (0x0880, 0x0000, DEF_STR( Language ) ) + PORT_DIPSETTING ( 0x0060, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING ( 0x0040, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING ( 0x0020, DEF_STR( 2C_1C ) ) + PORT_DIPNAME (0x0880, 0x0000, DEF_STR( Language ) ) PORT_DIPLOCATION("B3:3,B4:8") PORT_DIPSETTING ( 0x0000, DEF_STR( English ) ) PORT_DIPSETTING ( 0x0080, DEF_STR( German ) ) PORT_DIPSETTING ( 0x0800, DEF_STR( French ) ) PORT_DIPSETTING ( 0x0880, DEF_STR( Spanish ) ) - PORT_DIPNAME (0x0100, 0x0000, DEF_STR( Unknown ) ) - PORT_DIPSETTING ( 0x0000, DEF_STR( Off ) ) - PORT_DIPSETTING ( 0x0100, DEF_STR( On ) ) - PORT_DIPNAME (0x0600, 0x0200, DEF_STR( Lives ) ) + PORT_DIPNAME (0x1100, 0x0100, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("B3:2,1") + PORT_DIPSETTING ( 0x0000, DEF_STR( None ) ) + PORT_DIPSETTING ( 0x1000, "30K, 100K" ) + PORT_DIPSETTING ( 0x0100, "60K, 100K" ) + PORT_DIPSETTING ( 0x1100, "90K, 100K" ) + PORT_DIPNAME (0x0600, 0x0200, DEF_STR( Lives ) ) PORT_DIPLOCATION("B3:4,5") PORT_DIPSETTING ( 0x0000, "2" ) PORT_DIPSETTING ( 0x0200, "3" ) PORT_DIPSETTING ( 0x0400, "4" ) PORT_DIPSETTING ( 0x0600, "5" ) - PORT_DIPNAME (0x1000, 0x1000, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING ( 0x1000, "30000" ) - PORT_DIPSETTING ( 0x0000, DEF_STR( None ) ) + PORT_DIPUNUSED_DIPLOC( 0x2000, 0x0000, "B3:6" ) // N/C + PORT_DIPUNUSED_DIPLOC( 0x4000, 0x0000, "B3:7" ) // N/C + PORT_DIPUNUSED_DIPLOC( 0x8000, 0x0000, "B3:8" ) // N/C INPUT_PORTS_END @@ -302,9 +300,9 @@ static const pokey_interface pokey_interface_2 = static MACHINE_CONFIG_START( tunhunt, tunhunt_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6502,2000000) /* ??? */ + MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz/6) /* ??? */ MCFG_CPU_PROGRAM_MAP(main_map) - MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* ? probably wrong */ + MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) /* 48V, 112V, 176V, 240V */ /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -323,12 +321,12 @@ static MACHINE_CONFIG_START( tunhunt, tunhunt_state ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_POKEY_ADD("pokey1", 1209600) + MCFG_POKEY_ADD("pokey1", XTAL_12_096MHz/10) MCFG_POKEY_CONFIG(pokey_interface_1) MCFG_POKEY_OUTPUT_RC(RES_K(1), CAP_U(0.047), 5.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - MCFG_POKEY_ADD("pokey2", 1209600) + MCFG_POKEY_ADD("pokey2", XTAL_12_096MHz/10) MCFG_POKEY_CONFIG(pokey_interface_2) MCFG_POKEY_OUTPUT_RC(RES_K(1), CAP_U(0.047), 5.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) @@ -371,7 +369,6 @@ ROM_START( tunhunt ) ROM_LOAD( "004.fh1", 0x6800, 0x800, CRC(4d6c920e) SHA1(2ef274356f4b8a0170a267cd6a3758b2bda693b5) ) ROM_LOAD( "005.ef1", 0x7000, 0x800, CRC(e17badf0) SHA1(6afbf517486340fe54b01fa26258877b2a8fc510) ) ROM_LOAD( "006.d1", 0x7800, 0x800, CRC(c3ae8519) SHA1(2b2e49065bc38429894ef29a29ffc60f96e64840) ) - ROM_RELOAD( 0xf800, 0x800 ) /* 6502 vectors */ ROM_REGION( 0x400, "gfx1", 0 ) /* alphanumeric characters */ ROM_LOAD( "019.c10", 0x000, 0x400, CRC(d6fd45a9) SHA1(c86ea3790c29c554199af8ad6f3d563dcb7723c7) ) @@ -396,7 +393,6 @@ ROM_START( tunhuntc ) ROM_LOAD( "004.fh1", 0x6800, 0x800, CRC(4d6c920e) SHA1(2ef274356f4b8a0170a267cd6a3758b2bda693b5) ) ROM_LOAD( "005.ef1", 0x7000, 0x800, CRC(e17badf0) SHA1(6afbf517486340fe54b01fa26258877b2a8fc510) ) ROM_LOAD( "006.d1", 0x7800, 0x800, CRC(c3ae8519) SHA1(2b2e49065bc38429894ef29a29ffc60f96e64840) ) - ROM_RELOAD( 0xf800, 0x800 ) /* 6502 vectors */ ROM_REGION( 0x400, "gfx1", 0 ) /* alphanumeric characters */ ROM_LOAD( "019.c10", 0x000, 0x400, CRC(d6fd45a9) SHA1(c86ea3790c29c554199af8ad6f3d563dcb7723c7) )