mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
Flower updates:
Fixed dip switches and added dip locations Changed game name from flower --> flowerk (Flower (Komax) Changed game name from flowerbl --> flower (Flower (Sega/Alpha) and is the new parent Added a little info to driver about the oficial Sega game number
This commit is contained in:
parent
9ba06ea183
commit
a2c68b589f
@ -1,6 +1,15 @@
|
||||
/* Flower (c)1986 Komax
|
||||
/*
|
||||
|
||||
Flower (c)1986 Sega/Alpha (Sega game number 834-5998)
|
||||
(c)1986 Komax (licensed or sold to?)
|
||||
|
||||
- Driver by InsideOutBoy
|
||||
|
||||
There is a PCB picture that shows two stickers, the first
|
||||
says "Flower (c) 1986 Clarue" while the second one
|
||||
is an original serial number tag also showing "Clarue"
|
||||
|
||||
|
||||
todo:
|
||||
|
||||
fix sound
|
||||
@ -132,24 +141,24 @@ static INPUT_PORTS_START( flower )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Invulnerability (Cheat)")
|
||||
PORT_DIPNAME( 0x08, 0x08, "Energy Decrease" ) PORT_DIPLOCATION("SW2:4")
|
||||
PORT_DIPSETTING( 0x08, "Slow" )
|
||||
PORT_DIPSETTING( 0x00, "Fast" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW2:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, "Keep Items on Life Loss" ) // check code at 0x74a2
|
||||
PORT_DIPNAME( 0x20, 0x00, "Keep Weapon Items When Destroyed" ) PORT_DIPLOCATION("SW2:6") /* check code at 0x74a2 */
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Shot Range" ) // check code at 0x75f9
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Medium ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Enemy Bullets" ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x40, "Less" )
|
||||
PORT_DIPSETTING( 0x00, "More" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Shot Range" ) PORT_DIPLOCATION("SW2:8") /* check code at 0x75f9 */
|
||||
PORT_DIPSETTING( 0x80, "Short" )
|
||||
PORT_DIPSETTING( 0x00, "Long" )
|
||||
|
||||
PORT_START_TAG("IN1CPU0")
|
||||
PORT_DIPNAME( 0x07, 0x05, DEF_STR( Lives ) ) // what should be the default value ?
|
||||
PORT_DIPNAME( 0x07, 0x05, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2,3") /* what should be the default value ? */
|
||||
PORT_DIPSETTING( 0x07, "1" )
|
||||
PORT_DIPSETTING( 0x06, "2" )
|
||||
PORT_DIPSETTING( 0x05, "3" )
|
||||
@ -158,29 +167,29 @@ static INPUT_PORTS_START( flower )
|
||||
PORT_DIPSETTING( 0x02, "6" )
|
||||
PORT_DIPSETTING( 0x01, "7" )
|
||||
PORT_DIPSETTING( 0x00, "Infinite (Cheat)")
|
||||
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Coinage ) )
|
||||
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x18, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) // check code at 0x759f
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6") /* check code at 0x759f */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x80, "30k, 80k then every 50k" )
|
||||
PORT_DIPSETTING( 0x00, "50k, 130k then every 80k" )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x80, "30k, then every 50k" )
|
||||
PORT_DIPSETTING( 0x00, "50k, then every 80k" )
|
||||
|
||||
PORT_START_TAG("IN0CPU1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Fire") // Fire (normal or laser)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Missile") // Missile
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P1 Cutter") // Cutter
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Fire")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Missile")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P1 Cutter")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START_TAG("IN1CPU1")
|
||||
@ -188,9 +197,9 @@ static INPUT_PORTS_START( flower )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Fire")// Fire (normal or laser)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Missile")// Missile
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("P2 Cutter")// Cutter
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Fire")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Missile")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("P2 Cutter")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -269,7 +278,51 @@ static MACHINE_DRIVER_START( flower )
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
ROM_START( flower )
|
||||
|
||||
ROM_START( flower ) /* Sega/Alpha version. Sega game number 834-5998 */
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* main cpu */
|
||||
ROM_LOAD( "1", 0x0000, 0x8000, CRC(63a2ef04) SHA1(0770f5a18d58b780abcda7e000c2a5e46f96d319) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sub cpu */
|
||||
ROM_LOAD( "2.5f", 0x0000, 0x8000, CRC(7c7ee2d8) SHA1(1e67bfe0f3585be5a6e6719ccf9db764bafbcb01) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* sound cpu */
|
||||
ROM_LOAD( "3.d9", 0x0000, 0x4000, CRC(8866c2b0) SHA1(d00f31994673e8087a1406f98e8832d07cedeb66) ) // 1xxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_INVERT | ROMREGION_DISPOSE ) /* tx layer */
|
||||
ROM_LOAD( "10.13e", 0x0000, 0x2000, CRC(62f9b28c) SHA1(d57d06b99e72a4f68f197a5b6c042c926cc70ca0) ) // FIRST AND SECOND HALF IDENTICAL
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_INVERT | ROMREGION_DISPOSE ) /* sprites */
|
||||
ROM_LOAD( "14.19e", 0x0000, 0x2000, CRC(11b491c5) SHA1(be1c4a0fbe8fd4e124c21e0f700efa0428376691) )
|
||||
ROM_LOAD( "13.17e", 0x2000, 0x2000, CRC(ea743986) SHA1(bbef4fd0f7d21cc89a52061fa50d7c2ea37287bd) )
|
||||
ROM_LOAD( "12.16e", 0x4000, 0x2000, CRC(e3779f7f) SHA1(8e12d06b3cdc2fcb7b77cc35f8eca45544cc4873) )
|
||||
ROM_LOAD( "11.14e", 0x6000, 0x2000, CRC(8801b34f) SHA1(256059fcd16b21e076db1c18fd9669128df1d658) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX3, ROMREGION_INVERT | ROMREGION_DISPOSE ) /* bg layers */
|
||||
ROM_LOAD( "8.10e", 0x0000, 0x2000, CRC(f85eb20f) SHA1(699edc970c359143dee6de2a97cc2a552454785b) )
|
||||
ROM_LOAD( "6.7e", 0x2000, 0x2000, CRC(3e97843f) SHA1(4e4e5625dbf78eca97536b1428b2e49ad58c618f) )
|
||||
ROM_LOAD( "9.12e", 0x4000, 0x2000, CRC(f1d9915e) SHA1(158e1cc8c402f9ae3906363d99f2b25c94c64212) )
|
||||
ROM_LOAD( "7.9e", 0x6000, 0x2000, CRC(e350f36c) SHA1(f97204dc95b4000c268afc053a2333c1629e07d8) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_SOUND1, 0 )
|
||||
ROM_LOAD( "4.12a", 0x0000, 0x8000, CRC(851ed9fd) SHA1(5dc048b612e45da529502bf33d968737a7b0a646) ) /* 8-bit samples */
|
||||
|
||||
ROM_REGION( 0x4000, REGION_SOUND2, 0 )
|
||||
ROM_LOAD( "5.16a", 0x0000, 0x4000, CRC(42fa2853) SHA1(cc1e8b8231d6f27f48b05d59390e93ea1c1c0e4c) ) /* volume tables? */
|
||||
|
||||
ROM_REGION( 0x300, REGION_PROMS, 0 ) /* RGB proms */
|
||||
ROM_LOAD( "82s129.k1", 0x0200, 0x0100, CRC(d311ed0d) SHA1(1d530c874aecf93133d610ab3ce668548712913a) ) // r?
|
||||
ROM_LOAD( "82s129.k2", 0x0100, 0x0100, CRC(ababb072) SHA1(a9d46d12534c8662c6b54df94e96907f3a156968) ) // g?
|
||||
ROM_LOAD( "82s129.k3", 0x0000, 0x0100, CRC(5aab7b41) SHA1(8d44639c7c9f1ba34fe9c4e74c8a38b6453f7ac0) ) // b?
|
||||
|
||||
ROM_REGION( 0x0520, REGION_USER1, 0 ) /* Other proms, (zoom table?) */
|
||||
ROM_LOAD( "82s147.d7", 0x0000, 0x0200, CRC(f0dbb2a7) SHA1(03cd8fd41d6406894c6931e883a9ac6a4a4effc9) )
|
||||
ROM_LOAD( "82s147.j18", 0x0200, 0x0200, CRC(d7de0860) SHA1(5d3d8c5476b1edffdacde09d592c64e78d2b90c0) )
|
||||
ROM_LOAD( "82s123.k7", 0x0400, 0x0020, CRC(ea9c65e4) SHA1(1bdd77a7f3ef5f8ec4dbb9524498c0c4a356f089) )
|
||||
ROM_LOAD( "82s129.a1", 0x0420, 0x0100, CRC(c8dad3fc) SHA1(8e852efac70223d02e45b20ed8a12e38c5010a78) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( flowerk ) /* Komax version */
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* main cpu */
|
||||
ROM_LOAD( "1.5j", 0x0000, 0x8000, CRC(a4c3af78) SHA1(d149b0e0d82318273dd9cc5a143b175cdc818d0d) )
|
||||
|
||||
@ -312,49 +365,6 @@ ROM_START( flower )
|
||||
ROM_LOAD( "82s129.a1", 0x0420, 0x0100, CRC(c8dad3fc) SHA1(8e852efac70223d02e45b20ed8a12e38c5010a78) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( flowerbl )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* main cpu */
|
||||
ROM_LOAD( "1", 0x0000, 0x8000, CRC(63a2ef04) SHA1(0770f5a18d58b780abcda7e000c2a5e46f96d319) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sub cpu */
|
||||
ROM_LOAD( "2.5f", 0x0000, 0x8000, CRC(7c7ee2d8) SHA1(1e67bfe0f3585be5a6e6719ccf9db764bafbcb01) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* sound cpu */
|
||||
ROM_LOAD( "3.d9", 0x0000, 0x4000, CRC(8866c2b0) SHA1(d00f31994673e8087a1406f98e8832d07cedeb66) ) // 1xxxxxxxxxxxxx = 0xFF
|
||||
|
||||
ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_INVERT | ROMREGION_DISPOSE ) /* tx layer */
|
||||
ROM_LOAD( "10.13e", 0x0000, 0x2000, CRC(62f9b28c) SHA1(d57d06b99e72a4f68f197a5b6c042c926cc70ca0) ) // FIRST AND SECOND HALF IDENTICAL
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_INVERT | ROMREGION_DISPOSE ) /* sprites */
|
||||
ROM_LOAD( "14.19e", 0x0000, 0x2000, CRC(11b491c5) SHA1(be1c4a0fbe8fd4e124c21e0f700efa0428376691) )
|
||||
ROM_LOAD( "13.17e", 0x2000, 0x2000, CRC(ea743986) SHA1(bbef4fd0f7d21cc89a52061fa50d7c2ea37287bd) )
|
||||
ROM_LOAD( "12.16e", 0x4000, 0x2000, CRC(e3779f7f) SHA1(8e12d06b3cdc2fcb7b77cc35f8eca45544cc4873) )
|
||||
ROM_LOAD( "11.14e", 0x6000, 0x2000, CRC(8801b34f) SHA1(256059fcd16b21e076db1c18fd9669128df1d658) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX3, ROMREGION_INVERT | ROMREGION_DISPOSE ) /* bg layers */
|
||||
ROM_LOAD( "8.10e", 0x0000, 0x2000, CRC(f85eb20f) SHA1(699edc970c359143dee6de2a97cc2a552454785b) )
|
||||
ROM_LOAD( "6.7e", 0x2000, 0x2000, CRC(3e97843f) SHA1(4e4e5625dbf78eca97536b1428b2e49ad58c618f) )
|
||||
ROM_LOAD( "9.12e", 0x4000, 0x2000, CRC(f1d9915e) SHA1(158e1cc8c402f9ae3906363d99f2b25c94c64212) )
|
||||
ROM_LOAD( "7", 0x6000, 0x2000, CRC(e350f36c) SHA1(f97204dc95b4000c268afc053a2333c1629e07d8) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_SOUND1, 0 )
|
||||
ROM_LOAD( "4.12a", 0x0000, 0x8000, CRC(851ed9fd) SHA1(5dc048b612e45da529502bf33d968737a7b0a646) ) /* 8-bit samples */
|
||||
|
||||
ROM_REGION( 0x4000, REGION_SOUND2, 0 )
|
||||
ROM_LOAD( "5.16a", 0x0000, 0x4000, CRC(42fa2853) SHA1(cc1e8b8231d6f27f48b05d59390e93ea1c1c0e4c) ) /* volume tables? */
|
||||
|
||||
ROM_REGION( 0x300, REGION_PROMS, 0 ) /* RGB proms */
|
||||
ROM_LOAD( "82s129.k1", 0x0200, 0x0100, CRC(d311ed0d) SHA1(1d530c874aecf93133d610ab3ce668548712913a) ) // r?
|
||||
ROM_LOAD( "82s129.k2", 0x0100, 0x0100, CRC(ababb072) SHA1(a9d46d12534c8662c6b54df94e96907f3a156968) ) // g?
|
||||
ROM_LOAD( "82s129.k3", 0x0000, 0x0100, CRC(5aab7b41) SHA1(8d44639c7c9f1ba34fe9c4e74c8a38b6453f7ac0) ) // b?
|
||||
|
||||
ROM_REGION( 0x0520, REGION_USER1, 0 ) /* Other proms, (zoom table?) */
|
||||
ROM_LOAD( "82s147.d7", 0x0000, 0x0200, CRC(f0dbb2a7) SHA1(03cd8fd41d6406894c6931e883a9ac6a4a4effc9) )
|
||||
ROM_LOAD( "82s147.j18", 0x0200, 0x0200, CRC(d7de0860) SHA1(5d3d8c5476b1edffdacde09d592c64e78d2b90c0) )
|
||||
ROM_LOAD( "82s123.k7", 0x0400, 0x0020, CRC(ea9c65e4) SHA1(1bdd77a7f3ef5f8ec4dbb9524498c0c4a356f089) )
|
||||
ROM_LOAD( "82s129.a1", 0x0420, 0x0100, CRC(c8dad3fc) SHA1(8e852efac70223d02e45b20ed8a12e38c5010a78) )
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME( 1986, flower, 0, flower, flower, 0, ROT0, "Komax", "Flower", GAME_IMPERFECT_SOUND )
|
||||
GAME( 1986, flowerbl, flower, flower, flower, 0, ROT0, "bootleg", "Flower (bootleg)", GAME_IMPERFECT_SOUND )
|
||||
GAME( 1986, flower, 0, flower, flower, 0, ROT0, "Sega/Alpha", "Flower (Sega/Alpha)", GAME_IMPERFECT_SOUND )
|
||||
GAME( 1986, flowerk, flower, flower, flower, 0, ROT0, "Komax", "Flower (Komax)", GAME_IMPERFECT_SOUND )
|
||||
|
@ -7678,8 +7678,8 @@ Other Sun games
|
||||
DRIVER( fitfight ) /* bootleg of Art of Fighting */
|
||||
DRIVER( histryma ) /* bootleg of Fighter's History */
|
||||
DRIVER( bbprot ) /* unfinished prototype */
|
||||
DRIVER( flower ) /* (c) 1986 Komax */
|
||||
DRIVER( flowerbl ) /* bootleg but (c) 1986 Sega/Alpha */
|
||||
DRIVER( flower ) /* (c) 1986 Sega/Alpha */
|
||||
DRIVER( flowerk ) /* (c) 1986 Komax */
|
||||
DRIVER( beaminv ) /* Tekunon Kougyou */
|
||||
DRIVER( beaminva ) /* Tekunon Kougyou */
|
||||
DRIVER( mcatadv ) /* (c) 1993 Wintechno */
|
||||
|
Loading…
Reference in New Issue
Block a user