suna16.c: Added board documentation, added PCB layouts for both styles of Back Street Soccer and Ultra Balloon. Added dipswitch locations to Back Street Soccer, Ultra Balloon and Best of Best. Changed CPU clocks to actual OSC based timing. [Brian Troha]

This commit is contained in:
Brian Troha 2013-04-14 17:38:31 +00:00
parent 0f8bca2de0
commit f843a6614e

View File

@ -14,8 +14,9 @@ Year + Game By Board Hardware
------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------
94 Best Of Best SunA KRB-0026 68000 + Z80 x 2 + YM3526 + DAC x 4 + AY-8910 94 Best Of Best SunA KRB-0026 68000 + Z80 x 2 + YM3526 + DAC x 4 + AY-8910
94 Suna Quiz 6000 Academy SunA KRB-0027A 68000 + Z80 x 2 + YM2151 + DAC x 2 94 Suna Quiz 6000 Academy SunA KRB-0027A 68000 + Z80 x 2 + YM2151 + DAC x 2
96 Ultra Balloon SunA 68000 + Z80 x 2 + YM2151 + DAC x 2 96 Back Street Soccer SunA KRB-0031 68000 + Z80 x 3 + YM2151 + DAC x 4
96 Back Street Soccer SunA 68000 + Z80 x 3 + YM2151 + DAC x 4 96 Back Street Soccer SunA KRB-0032A 68000 + Z80 x 3 + YM2151 + DAC x 4
96 Ultra Balloon SunA KRB-0033A 68000 + Z80 x 2 + YM2151 + DAC x 2
------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------
@ -444,8 +445,7 @@ static INPUT_PORTS_START( bssoccer )
PORT_START("P4") /* $a00007.b */ PORT_START("P4") /* $a00007.b */
JOY(4) JOY(4)
PORT_START("DSW1") /* $a00008.w */ PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
@ -454,51 +454,51 @@ static INPUT_PORTS_START( bssoccer )
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) ) PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x0010, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0010, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0018, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0018, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x0008, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, "Hardest?" ) // PORT_DIPSETTING( 0x0000, "Hardest?" ) // Not used / duplicate of "HARD"
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_SERVICE( 0x0080, IP_ACTIVE_LOW ) PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
PORT_DIPNAME( 0x0300, 0x0300, "Play Time P1" ) PORT_DIPNAME( 0x0300, 0x0300, "Play Time P1" ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, "1:30" ) PORT_DIPSETTING( 0x0300, "1:30" )
PORT_DIPSETTING( 0x0200, "1:45" ) PORT_DIPSETTING( 0x0200, "1:45" )
PORT_DIPSETTING( 0x0100, "2:00" ) PORT_DIPSETTING( 0x0100, "2:00" )
PORT_DIPSETTING( 0x0000, "2:15" ) PORT_DIPSETTING( 0x0000, "2:15" )
PORT_DIPNAME( 0x0c00, 0x0c00, "Play Time P2" ) PORT_DIPNAME( 0x0c00, 0x0c00, "Play Time P2" ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "1:30" ) PORT_DIPSETTING( 0x0c00, "1:30" )
PORT_DIPSETTING( 0x0800, "1:45" ) PORT_DIPSETTING( 0x0800, "1:45" )
PORT_DIPSETTING( 0x0400, "2:00" ) PORT_DIPSETTING( 0x0400, "2:00" )
PORT_DIPSETTING( 0x0000, "2:15" ) PORT_DIPSETTING( 0x0000, "2:15" )
PORT_DIPNAME( 0x3000, 0x3000, "Play Time P3" ) PORT_DIPNAME( 0x3000, 0x3000, "Play Time P3" ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x3000, "1:30" ) PORT_DIPSETTING( 0x3000, "1:30" )
PORT_DIPSETTING( 0x2000, "1:45" ) PORT_DIPSETTING( 0x2000, "1:45" )
PORT_DIPSETTING( 0x1000, "2:00" ) PORT_DIPSETTING( 0x1000, "2:00" )
PORT_DIPSETTING( 0x0000, "2:15" ) PORT_DIPSETTING( 0x0000, "2:15" )
PORT_DIPNAME( 0xc000, 0xc000, "Play Time P4" ) PORT_DIPNAME( 0xc000, 0xc000, "Play Time P4" ) PORT_DIPLOCATION("SW2:7,8")
PORT_DIPSETTING( 0xc000, "1:30" ) PORT_DIPSETTING( 0xc000, "1:30" )
PORT_DIPSETTING( 0x8000, "1:45" ) PORT_DIPSETTING( 0x8000, "1:45" )
PORT_DIPSETTING( 0x4000, "2:00" ) PORT_DIPSETTING( 0x4000, "2:00" )
PORT_DIPSETTING( 0x0000, "2:15" ) PORT_DIPSETTING( 0x0000, "2:15" )
PORT_START("DSW2") /* $a0000b.b */ PORT_START("DSW2") /* $a0000b.b - JP3, JP6 & JP7 and what else?? */
PORT_DIPNAME( 0x0001, 0x0001, "Copyright" ) // these 4 are shown in test mode PORT_DIPNAME( 0x0001, 0x0001, "Copyright" ) PORT_DIPLOCATION("Jumper:1") // these 4 are shown in test mode
PORT_DIPSETTING( 0x0001, "Distributer Unico" ) PORT_DIPSETTING( 0x0001, "Distributer Unico" )
PORT_DIPSETTING( 0x0000, "All Rights Reserved" ) PORT_DIPSETTING( 0x0000, "All Rights Reserved" )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) // used! PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) PORT_DIPLOCATION("Jumper:2") // used!
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) PORT_DIPLOCATION("Jumper:3")
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) PORT_DIPLOCATION("Jumper:4")
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN1 )
@ -553,7 +553,7 @@ static INPUT_PORTS_START( uballoon )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_START("DSW1") /* $600005.b */ PORT_START("DSW1") /* $600005.b */
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
@ -562,26 +562,26 @@ static INPUT_PORTS_START( uballoon )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Lives ) ) PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x0010, "2" ) PORT_DIPSETTING( 0x0010, "2" )
PORT_DIPSETTING( 0x0018, "3" ) PORT_DIPSETTING( 0x0018, "3" )
PORT_DIPSETTING( 0x0008, "4" ) PORT_DIPSETTING( 0x0008, "4" )
PORT_DIPSETTING( 0x0000, "5" ) PORT_DIPSETTING( 0x0000, "5" )
PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Difficulty ) ) PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6,7")
PORT_DIPSETTING( 0x0040, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0040, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0060, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0060, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x0020, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_SERVICE( 0x0080, IP_ACTIVE_LOW ) PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
PORT_START("DSW2") /* $600007.b */ PORT_START("DSW2") /* $600007.b */
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Cabinet ) ) PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
PORT_DIPSETTING( 0x0002, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x0002, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Cocktail ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Bonus_Life ) ) PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4,5")
PORT_DIPSETTING( 0x001c, "200K" ) PORT_DIPSETTING( 0x001c, "200K" )
PORT_DIPSETTING( 0x0010, "300K, 1000K" ) PORT_DIPSETTING( 0x0010, "300K, 1000K" )
PORT_DIPSETTING( 0x0018, "400K" ) PORT_DIPSETTING( 0x0018, "400K" )
@ -590,13 +590,13 @@ static INPUT_PORTS_START( uballoon )
PORT_DIPSETTING( 0x0004, "500K, 3000K" ) PORT_DIPSETTING( 0x0004, "500K, 3000K" )
PORT_DIPSETTING( 0x0014, "600K" ) PORT_DIPSETTING( 0x0014, "600K" )
PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) PORT_DIPSETTING( 0x0000, DEF_STR( None ) )
PORT_DIPNAME( 0x0020, 0x0020, "Unknown 1-5*" ) PORT_DIPNAME( 0x0020, 0x0020, "Unknown DSW2-6*" ) PORT_DIPLOCATION("SW2:6")
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, "Unknown 1-6*" ) PORT_DIPNAME( 0x0040, 0x0040, "Unknown DSW2-7*" ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
INPUT_PORTS_END INPUT_PORTS_END
@ -697,7 +697,7 @@ static INPUT_PORTS_START( bestbest )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_START("DSW") /* 500004.w */ PORT_START("DSW") /* 500004.w */
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SWA:1,2,3")
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
@ -706,32 +706,32 @@ static INPUT_PORTS_START( bestbest )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
PORT_DIPNAME( 0x0018, 0x0010, DEF_STR( Difficulty ) ) PORT_DIPNAME( 0x0018, 0x0010, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWA:4,5")
PORT_DIPSETTING( 0x0018, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0018, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0010, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x0008, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x0020, 0x0020, "Display Combos" ) PORT_DIPNAME( 0x0020, 0x0020, "Display Combos" ) PORT_DIPLOCATION("SWA:6")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) PORT_SERVICE_DIPLOC( 0x0040, IP_ACTIVE_LOW, "SWA:7" )
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SWB:1")
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0600, 0x0400, "Play Time" ) PORT_DIPNAME( 0x0600, 0x0400, "Play Time" ) PORT_DIPLOCATION("SWB:2,3")
PORT_DIPSETTING( 0x0600, "1:10" ) PORT_DIPSETTING( 0x0600, "1:10" )
PORT_DIPSETTING( 0x0400, "1:20" ) PORT_DIPSETTING( 0x0400, "1:20" )
PORT_DIPSETTING( 0x0200, "1:30" ) PORT_DIPSETTING( 0x0200, "1:30" )
PORT_DIPSETTING( 0x0000, "1:40" ) PORT_DIPSETTING( 0x0000, "1:40" )
PORT_DIPUNUSED( 0x0800, 0x0800 ) PORT_DIPUNUSED_DIPLOC( 0x0800, 0x0800, "SWB:4" )
PORT_DIPUNUSED( 0x1000, 0x1000 ) PORT_DIPUNUSED_DIPLOC( 0x1000, 0x1000, "SWB:5" )
PORT_DIPUNUSED( 0x2000, 0x2000 ) PORT_DIPUNUSED_DIPLOC( 0x2000, 0x2000, "SWB:6" )
PORT_DIPUNUSED( 0x4000, 0x4000 ) PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SWB:7" )
PORT_DIPUNUSED( 0x8000, 0x8000 ) PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SWB:8" )
INPUT_PORTS_END INPUT_PORTS_END
/*************************************************************************** /***************************************************************************
@ -794,18 +794,18 @@ TIMER_DEVICE_CALLBACK_MEMBER(suna16_state::bssoccer_interrupt)
static MACHINE_CONFIG_START( bssoccer, suna16_state ) static MACHINE_CONFIG_START( bssoccer, suna16_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 8000000) /* ? */ MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/4) /* 8MHz */
MCFG_CPU_PROGRAM_MAP(bssoccer_map) MCFG_CPU_PROGRAM_MAP(bssoccer_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna16_state, bssoccer_interrupt, "screen", 0, 1) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna16_state, bssoccer_interrupt, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* Z80B */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4) /* Z80B at 3.579545MHz */
MCFG_CPU_PROGRAM_MAP(bssoccer_sound_map) MCFG_CPU_PROGRAM_MAP(bssoccer_sound_map)
MCFG_CPU_ADD("pcm1", Z80, 5000000) /* Z80B */ MCFG_CPU_ADD("pcm1", Z80, XTAL_32MHz/6) /* Z80B at 5MHz */
MCFG_CPU_PROGRAM_MAP(bssoccer_pcm_1_map) MCFG_CPU_PROGRAM_MAP(bssoccer_pcm_1_map)
MCFG_CPU_IO_MAP(bssoccer_pcm_1_io_map) MCFG_CPU_IO_MAP(bssoccer_pcm_1_io_map)
MCFG_CPU_ADD("pcm2", Z80, 5000000) /* Z80B */ MCFG_CPU_ADD("pcm2", Z80, XTAL_32MHz/6) /* Z80B at 5MHz */
MCFG_CPU_PROGRAM_MAP(bssoccer_pcm_2_map) MCFG_CPU_PROGRAM_MAP(bssoccer_pcm_2_map)
MCFG_CPU_IO_MAP(bssoccer_pcm_2_io_map) MCFG_CPU_IO_MAP(bssoccer_pcm_2_io_map)
@ -826,7 +826,7 @@ static MACHINE_CONFIG_START( bssoccer, suna16_state )
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ymsnd", 3579545) MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4) /* 3.579545MHz */
MCFG_SOUND_ROUTE(0, "lspeaker", 0.20) MCFG_SOUND_ROUTE(0, "lspeaker", 0.20)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.20) MCFG_SOUND_ROUTE(1, "rspeaker", 0.20)
@ -852,14 +852,14 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( uballoon, suna16_state ) static MACHINE_CONFIG_START( uballoon, suna16_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 8000000) MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/4) /* 8MHz */
MCFG_CPU_PROGRAM_MAP(uballoon_map) MCFG_CPU_PROGRAM_MAP(uballoon_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", suna16_state, irq1_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", suna16_state, irq1_line_hold)
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4) /* Z80B at 3.579545MHz */
MCFG_CPU_PROGRAM_MAP(uballoon_sound_map) MCFG_CPU_PROGRAM_MAP(uballoon_sound_map)
MCFG_CPU_ADD("pcm1", Z80, 5000000) /* ? */ MCFG_CPU_ADD("pcm1", Z80, XTAL_32MHz/6) /* Z80B at 5MHz */
MCFG_CPU_PROGRAM_MAP(uballoon_pcm_1_map) MCFG_CPU_PROGRAM_MAP(uballoon_pcm_1_map)
MCFG_CPU_IO_MAP(uballoon_pcm_1_io_map) MCFG_CPU_IO_MAP(uballoon_pcm_1_io_map)
@ -884,7 +884,7 @@ static MACHINE_CONFIG_START( uballoon, suna16_state )
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ymsnd", 3579545) MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4) /* 3.579545MHz */
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
@ -902,14 +902,14 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( sunaq, suna16_state ) static MACHINE_CONFIG_START( sunaq, suna16_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 24000000/4) MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/4) /* 6MHz */
MCFG_CPU_PROGRAM_MAP(sunaq_map) MCFG_CPU_PROGRAM_MAP(sunaq_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", suna16_state, irq1_line_hold) MCFG_CPU_VBLANK_INT_DRIVER("screen", suna16_state, irq1_line_hold)
MCFG_CPU_ADD("audiocpu", Z80, 14318000/4) MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4) /* Z80B at 3.579545MHz */
MCFG_CPU_PROGRAM_MAP(sunaq_sound_map) MCFG_CPU_PROGRAM_MAP(sunaq_sound_map)
MCFG_CPU_ADD("pcm1", Z80, 24000000/4) /* Z80B */ MCFG_CPU_ADD("pcm1", Z80, XTAL_24MHz/4) /* Z80B at 6MHz */
MCFG_CPU_PROGRAM_MAP(bssoccer_pcm_1_map) MCFG_CPU_PROGRAM_MAP(bssoccer_pcm_1_map)
MCFG_CPU_IO_MAP(bssoccer_pcm_1_io_map) MCFG_CPU_IO_MAP(bssoccer_pcm_1_io_map)
@ -932,7 +932,7 @@ static MACHINE_CONFIG_START( sunaq, suna16_state )
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YM2151_ADD("ymsnd", 14318000/4) MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4) /* 3.579545MHz */
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
@ -968,14 +968,14 @@ static const ay8910_interface bestbest_ay8910_interface =
static MACHINE_CONFIG_START( bestbest, suna16_state ) static MACHINE_CONFIG_START( bestbest, suna16_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 24000000/4) MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/4) /* 6MHz */
MCFG_CPU_PROGRAM_MAP(bestbest_map) MCFG_CPU_PROGRAM_MAP(bestbest_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna16_state, bssoccer_interrupt, "screen", 0, 1) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna16_state, bssoccer_interrupt, "screen", 0, 1)
MCFG_CPU_ADD("audiocpu", Z80, 24000000/4) MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/4) /* 6MHz */
MCFG_CPU_PROGRAM_MAP(bestbest_sound_map) MCFG_CPU_PROGRAM_MAP(bestbest_sound_map)
MCFG_CPU_ADD("pcm1", Z80, 24000000/4) MCFG_CPU_ADD("pcm1", Z80, XTAL_24MHz/4) /* 6MHz */
MCFG_CPU_PROGRAM_MAP(bestbest_pcm_1_map) MCFG_CPU_PROGRAM_MAP(bestbest_pcm_1_map)
MCFG_CPU_IO_MAP(bestbest_pcm_1_iomap) MCFG_CPU_IO_MAP(bestbest_pcm_1_iomap)
@ -998,12 +998,12 @@ static MACHINE_CONFIG_START( bestbest, suna16_state )
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("aysnd", AY8910, 24000000/16) MCFG_SOUND_ADD("aysnd", AY8910, XTAL_24MHz/16) /* 1.5MHz */
MCFG_SOUND_CONFIG(bestbest_ay8910_interface) MCFG_SOUND_CONFIG(bestbest_ay8910_interface)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_SOUND_ADD("ymsnd", YM3526, 24000000/8) MCFG_SOUND_ADD("ymsnd", YM3526, XTAL_24MHz/8) /* 3MHz */
MCFG_SOUND_CONFIG(bestbest_ym3526_interface) MCFG_SOUND_CONFIG(bestbest_ym3526_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
@ -1034,24 +1034,77 @@ MACHINE_CONFIG_END
[ Back Street Soccer ] [ Back Street Soccer ]
68000-10 32MHz KRB-0031
14.318MHz +------------------------------------------+
01 02 12 | 6116-45 6116-45 10 09 |
03 04 Z80B | 6116-45 08 07 |
6264 6264 YM2151 | 6116-45 05 06 62256|
6116 | SW-1 62256|
11 13 |J JP7 SW-2 ACTEL 62256|
62256 Z80B Z80B |A JP6 Z80B Z80B A1020B |
62256 |M 13 11 JP3 |
62256 05 06 SW2 |M 6116 |
07 08 SW1 |A YM2151 6264 6264|
09 10 6116-45 | YM3012 Z80B 04 03 |
6116-45 | 12 02 01 |
6116-45 6116-45 | 32MHz |
| VOL 14.318MHz 68000-10|
+------------------------------------------+
KRB-0032A
+------------------------------------------+
| 6116-45 6116-45 UC08003 |
| 6116-45 |
| 6116-45 UC16002 62256|
| SW-1 62256|
|J JP7 SW-2 ACTEL 62256|
|A JP6 Z80B Z80B A1020B |
|M UC04005 UNICO5 JP3 |
|M 6116 |
|A YM2151 6264 6264|
| YM3012 Z80B |
|3P UC04004 UC16001 |
|4P 32MHz |
| VOL 14.318MHz 68000-8 |
+------------------------------------------+
CPU: MC68HC000P8 (or MC68HC000P10) @ 8Mhz
Video: Actel A1020B PL84C
Sound: Z0840006PSC Z80B x 3
YM2151 & YM3012 (rebadged as CY5002)
OSC: 32MHz & 14.31818MHz
Other: 8 position dipswitch bank x 2
Misc JP3, JP6 & JP7 jumper pads
CON-2 12 pin connector for Player 3 (3P)
CON-2 12 pin connector for Player 4 (4P)
VOL volume pot
The data is 100% identical between sets / PCB version, just in different rom types / sizes.
13 and 6 files
11 unico5 IDENTICAL
12 uc04004 IDENTICAL
13 uc04005 IDENTICAL
01 uc16001 [even 1/2] IDENTICAL
02 uc16001 [odd 1/2] IDENTICAL
03 uc16001 [even 2/2] IDENTICAL
04 uc16001 [odd 2/2] IDENTICAL
05 uc16002 [even 1/2] IDENTICAL
06 uc16002 [odd 1/2] IDENTICAL
07 uc16002 [even 2/2] IDENTICAL
08 uc16002 [odd 2/2] IDENTICAL
09 uc08003 [even] IDENTICAL
10 uc08003 [odd] IDENTICAL
***************************************************************************/ ***************************************************************************/
ROM_START( bssoccer ) ROM_START( bssoccer ) /* KRB-0031 PCB */
ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "02", 0x000000, 0x080000, CRC(32871005) SHA1(b094ee3f4fc24c0521915d565f6e203d51e51f6d) ) ROM_LOAD16_BYTE( "02", 0x000000, 0x080000, CRC(32871005) SHA1(b094ee3f4fc24c0521915d565f6e203d51e51f6d) )
ROM_LOAD16_BYTE( "01", 0x000001, 0x080000, CRC(ace00db6) SHA1(6bd146f9b44c97be77578b4f0ffa28cbf66283c2) ) ROM_LOAD16_BYTE( "01", 0x000001, 0x080000, CRC(ace00db6) SHA1(6bd146f9b44c97be77578b4f0ffa28cbf66283c2) )
@ -1076,30 +1129,7 @@ ROM_START( bssoccer )
ROM_LOAD16_BYTE( "10", 0x200001, 0x080000, CRC(1ca94d21) SHA1(23d892b840e37064a175584f955f25f990d9179d) ) ROM_LOAD16_BYTE( "10", 0x200001, 0x080000, CRC(1ca94d21) SHA1(23d892b840e37064a175584f955f25f990d9179d) )
ROM_END ROM_END
/* ROM_START( bssoccera ) /* KRB-0032A PCB */
13 and 6 files
11 unico5 IDENTICAL
12 uc04004 IDENTICAL
13 uc04005 IDENTICAL
01 uc16001 [even 1/2] IDENTICAL
02 uc16001 [odd 1/2] IDENTICAL
03 uc16001 [even 2/2] IDENTICAL
04 uc16001 [odd 2/2] IDENTICAL
05 uc16002 [even 1/2] IDENTICAL
06 uc16002 [odd 1/2] IDENTICAL
07 uc16002 [even 2/2] IDENTICAL
08 uc16002 [odd 2/2] IDENTICAL
09 uc08003 [even] IDENTICAL
10 uc08003 [odd] IDENTICAL
*/
// the content of this is 100% IDENTICAL to the parent, just a different rom layout (larger ROMs) both are official PCBs
ROM_START( bssoccera )
ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_WORD_SWAP( "uc16001", 0x000000, 0x200000, CRC(82fa613a) SHA1(451789190017b58b964e676b8e43f3638b4e56ef) ) ROM_LOAD16_WORD_SWAP( "uc16001", 0x000000, 0x200000, CRC(82fa613a) SHA1(451789190017b58b964e676b8e43f3638b4e56ef) )
@ -1120,40 +1150,65 @@ ROM_END
/*************************************************************************** /***************************************************************************
[ Ultra Ballon ] [ Ultra Ballon ]
KRB-0033A
+------------------------------------+
| VOL Z80B Z80B 14.318MHz 32MHz|
| ROM 8 ROM 7 |
| YM3012 6116 6|
| 8|
| JP2 SW1 YM2151 0|
|J JP3 SW2 0|
|A 0|
|M ACTEL |
|M A1020B ROM 2 ROM 1|
|A 6264 6264 |
| |
| 62256 |
| 6116 62256 |
| 6116 ROM 6 ROM 5 62256 |
| 6116 6116 ROM 4 ROM 3 |
+------------------------------------+
the gameplay on this game a like bubble bobble in many ways,it uses a CPU: MC68HC000P8
68k@8MHz as the main cpu,2 z80's and a ym2151,the names of the rom files Video: Actel A1020B PL84C
are just my guess. Sound: Z0840006PSC Z80B x 3
YM2151 & YM3012
OSC: 32MHz & 14.31818MHz
Other: 8 position dipswitch bank x 2
JP2 & JP3 jumper pads
VOL volume pot
prg1.rom 27c040 Roms had no labels and were asigned names by the original dumper.
prg2.rom 27c040
gfx1.rom 27c040 prg1.rom1 27c040
gfx2.rom 27c040 prg2.rom2 27c040
gfx3.rom 27c040 gfx3.rom3 27c040
gfx4.rom 27c040 gfx4.rom4 27c040
audio1.rom 27c512 gfx5.rom5 27c040
audio2.rom 27c010 gfx6.rom6 27c040
audio1.rom7 27c512
audio2.rom8 27c010
***************************************************************************/ ***************************************************************************/
ROM_START( uballoon ) ROM_START( uballoon )
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "prg2.rom", 0x000000, 0x080000, CRC(72ab80ea) SHA1(b755940877cf286559208106dd5e6933aeb72242) ) ROM_LOAD16_BYTE( "prg1.rom1", 0x000000, 0x080000, CRC(72ab80ea) SHA1(b755940877cf286559208106dd5e6933aeb72242) )
ROM_LOAD16_BYTE( "prg1.rom", 0x000001, 0x080000, CRC(27a04f55) SHA1(a530294b000654db8d84efe4835b72e0dca62819) ) ROM_LOAD16_BYTE( "prg2.rom2", 0x000001, 0x080000, CRC(27a04f55) SHA1(a530294b000654db8d84efe4835b72e0dca62819) )
ROM_REGION( 0x010000, "audiocpu", 0 ) /* Z80 #1 - Music */ ROM_REGION( 0x010000, "audiocpu", 0 ) /* Z80 #1 - Music */
ROM_LOAD( "audio1.rom", 0x000000, 0x010000, CRC(c771f2b4) SHA1(6da4c526c0ea3be5d5bb055a31bf1171a6ddb51d) ) ROM_LOAD( "audio1.rom7", 0x000000, 0x010000, CRC(c771f2b4) SHA1(6da4c526c0ea3be5d5bb055a31bf1171a6ddb51d) )
ROM_REGION( 0x020000, "pcm1", 0 ) /* Z80 #2 - PCM */ ROM_REGION( 0x020000, "pcm1", 0 ) /* Z80 #2 - PCM */
ROM_LOAD( "audio2.rom", 0x000000, 0x020000, CRC(c7f75347) SHA1(5bbbd39285c593441c6da6a12f3632d60b103216) ) ROM_LOAD( "audio2.rom8", 0x000000, 0x020000, CRC(c7f75347) SHA1(5bbbd39285c593441c6da6a12f3632d60b103216) )
/* There's no Z80 #3 - PCM */ /* There's no Z80 #3 - PCM */
ROM_REGION( 0x200000, "gfx1", ROMREGION_INVERT ) /* Sprites */ ROM_REGION( 0x200000, "gfx1", ROMREGION_INVERT ) /* Sprites */
ROM_LOAD16_BYTE( "gfx1.rom", 0x000000, 0x080000, CRC(fd2ec297) SHA1(885834d9b58ccfd9a32ecaa51c45e70fbbe935db) ) ROM_LOAD16_BYTE( "gfx3.rom3", 0x000000, 0x080000, CRC(fd2ec297) SHA1(885834d9b58ccfd9a32ecaa51c45e70fbbe935db) )
ROM_LOAD16_BYTE( "gfx3.rom", 0x000001, 0x080000, CRC(718f3150) SHA1(5971f006203f86743ebc825e4ab1ed1f811e3165) ) ROM_LOAD16_BYTE( "gfx4.rom4", 0x000001, 0x080000, CRC(718f3150) SHA1(5971f006203f86743ebc825e4ab1ed1f811e3165) )
ROM_LOAD16_BYTE( "gfx2.rom", 0x100000, 0x080000, CRC(6307aa60) SHA1(00406eba98ec368e72ee53c08b9111dec4f2552f) ) ROM_LOAD16_BYTE( "gfx5.rom5", 0x100000, 0x080000, CRC(6307aa60) SHA1(00406eba98ec368e72ee53c08b9111dec4f2552f) )
ROM_LOAD16_BYTE( "gfx4.rom", 0x100001, 0x080000, CRC(af7e057e) SHA1(67a03b54ffa1483c8ed044f27287b7f3f1150455) ) ROM_LOAD16_BYTE( "gfx6.rom6", 0x100001, 0x080000, CRC(af7e057e) SHA1(67a03b54ffa1483c8ed044f27287b7f3f1150455) )
ROM_END ROM_END
/*************************************************************************** /***************************************************************************
@ -1297,8 +1352,8 @@ ROM_END
***************************************************************************/ ***************************************************************************/
GAME( 1994, bestbest, 0, bestbest, bestbest, driver_device, 0, ROT0, "SunA", "Best Of Best", 0 ) GAME( 1994, bestbest, 0, bestbest, bestbest, driver_device, 0, ROT0, "SunA", "Best Of Best", 0 )
GAME( 1994, sunaq, 0, sunaq, sunaq, driver_device, 0, ROT0, "SunA", "SunA Quiz 6000 Academy (940620-6)", 0 ) // Date/Version on-screen is 940620-6, but in the program rom it's 1994,6,30 K.H.T V6.00 GAME( 1994, sunaq, 0, sunaq, sunaq, driver_device, 0, ROT0, "SunA", "SunA Quiz 6000 Academy (940620-6)", 0 ) // Date/Version on-screen is 940620-6, but in the program rom it's 1994,6,30 K.H.T V6.00
GAME( 1996, bssoccer, 0, bssoccer, bssoccer, driver_device, 0, ROT0, "SunA (Unico license)", "Back Street Soccer", 0 ) GAME( 1996, bssoccer, 0, bssoccer, bssoccer, driver_device, 0, ROT0, "SunA (Unico license)", "Back Street Soccer (KRB-0031 PCB)", 0 )
GAME( 1996, bssoccera,bssoccer, bssoccer, bssoccer, driver_device, 0, ROT0, "SunA (Unico license)", "Back Street Soccer (larger ROMs)", 0 ) GAME( 1996, bssoccera, bssoccer, bssoccer, bssoccer, driver_device, 0, ROT0, "SunA (Unico license)", "Back Street Soccer (KRB-0032A PCB)", 0 )
GAME( 1996, uballoon, 0, uballoon, uballoon, driver_device, 0, ROT0, "SunA (Unico license)", "Ultra Balloon", 0 ) GAME( 1996, uballoon, 0, uballoon, uballoon, driver_device, 0, ROT0, "SunA (Unico license)", "Ultra Balloon", 0 )