Improvements to Magic's 10 driver. [Roberto Fresca]

* New inputs from the scratch for Music Sort.
 * Complete DIP Switches and DIP locations for Music Sort.
 * Added a new button-lamps layout for Music Sort.
 * Created a default NVRAM that allow Music Sort work properly.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Music Sort (ver 2.02, English) [Roberto Fresca, Team Europe]
This commit is contained in:
Roberto Fresca 2011-02-01 06:16:41 +00:00
parent dc172c011b
commit 3d3ffe3a59
5 changed files with 269 additions and 23 deletions

1
.gitattributes vendored
View File

@ -3346,6 +3346,7 @@ src/mame/layout/maxaflex.lay svneol=native#text/plain
src/mame/layout/mil4000.lay svneol=native#text/plain
src/mame/layout/mpoker.lay svneol=native#text/plain
src/mame/layout/mpu4.lay svneol=native#text/plain
src/mame/layout/musicsrt.lay svneol=native#text/plain
src/mame/layout/namcofl.lay svneol=native#text/plain
src/mame/layout/nbmj8688.lay svneol=native#text/plain
src/mame/layout/neogeo.lay svneol=native#text/plain

View File

@ -9,14 +9,15 @@
Supported games:
Magic's 10 (ver. 16.15), 1995, AWP Games.
Magic's 10 (ver. 16.45), 1995, AWP Games.
Magic's 10 (ver. 16.55), 1995, AWP Games.
Magic's 10 2, 1997, ABM Games.
Super Pool (9743 rev.01), 1997, ABM Games.
Hot Slot (ver. 05.01), 1996, ABM Electronics.
Magic Colors (ver. 1.7a), 1999, Unknown.
Super Gran Safari (ver 3.11), 1996, New Impeuropex Corp.
Magic's 10 (ver. 16.15), 1995, AWP Games.
Magic's 10 (ver. 16.45), 1995, AWP Games.
Magic's 10 (ver. 16.55), 1995, AWP Games.
Magic's 10 2, 1997, ABM Games.
Music Sort (ver 2.02, English), 1995, ABM Games.
Super Pool (9743 rev.01), 1997, ABM Games.
Hot Slot (ver. 05.01), 1996, ABM Electronics.
Magic Colors (ver. 1.7a), 1999, Unknown.
Super Gran Safari (ver 3.11), 1996, New Impeuropex Corp.
*****************************************************************************
@ -63,13 +64,14 @@
- Ticket / Hopper support.
- Some unknown writes
- Finish magic10_2 (association coin - credits handling its inputs
and some reads that drive the note displayed?)
and some reads that drive the note displayed?)
- Dump/decap/trojan the MCU in the later games (magic102, suprpool, hotslot, mcolors).
The MCU shares memory addresses at $500000-$50001f (in magic102)
It can't be simulated with a high level of confidence because all the game logic is
in there, including rngs for the cards and combinations for the points.
The MCU shares memory addresses at $500000-$50001f (in magic102)
It can't be simulated with a high level of confidence because all the game logic is
in there, including rngs for the cards and combinations for the points.
- Priorities,likely to be hardwired with the color writes (0=tile has the
highest priority).
highest priority).
- Define parent/clone relationship between Magic's 10 and Music Sort.
****************************************************************************/
@ -80,6 +82,7 @@
#include "sound/okim6295.h"
#include "machine/nvram.h"
#include "sgsafari.lh"
#include "musicsrt.lh"
static tilemap_t *layer0_tilemap, *layer1_tilemap, *layer2_tilemap;
static UINT16 *layer0_videoram, *layer1_videoram, *layer2_videoram;
@ -506,6 +509,50 @@ static INPUT_PORTS_START( magic102 )
*/
INPUT_PORTS_END
static INPUT_PORTS_START( musicsrt )
PORT_START("INPUTS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Heads")
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Tails")
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Half Gamble")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet / Take)")
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door") PORT_CODE(KEYCODE_S)
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Aux A")
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("Aux B")
PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Outhole") PORT_CODE(KEYCODE_D)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN5 ) PORT_NAME("Aux C") PORT_CODE(KEYCODE_9)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("OK")
PORT_START("DSW")
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_DIPNAME( 0x0300, 0x0100, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1: 1, 2")
PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0300, DEF_STR( Hardest ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1: 3, 4")
PORT_DIPSETTING( 0x0000, "Coin A: 50 - Coin B: 50" )
PORT_DIPSETTING( 0x0800, "Coin A: 50 - Coin B: 50" )
PORT_DIPSETTING( 0x0400, "Coin A: 100 - Coin B: 100" )
PORT_DIPSETTING( 0x0c00, "Coin A: 100 - Coin B: 100" )
PORT_DIPNAME( 0x3000, 0x3000, "Bonus?" ) PORT_DIPLOCATION("SW1: 5, 6")
PORT_DIPSETTING( 0x3000, "1000= 1 Play; 2000= 2 Play; 3000= 3 Play" )
PORT_DIPSETTING( 0x2000, "2000= 1 Play; 4000= 2 Play; 6000= 3 Play" )
PORT_DIPSETTING( 0x1000, "2500= 1 Play; 5000= 2 Play; 7500= 3 Play" )
PORT_DIPSETTING( 0x0000, "5000= 1 Play; 10000= 2 Play; 15000= 3 Play" )
PORT_DIPNAME( 0x4000, 0x4000, "Hopper" ) PORT_DIPLOCATION("SW1: 7")
PORT_DIPSETTING( 0x0000, "Disabled" )
PORT_DIPSETTING( 0x4000, "Enabled" )
PORT_DIPNAME( 0x8000, 0x8000, "Score" ) PORT_DIPLOCATION("SW1: 8")
PORT_DIPSETTING( 0x0000, "Play Score" )
PORT_DIPSETTING( 0x8000, "No Play Score" )
INPUT_PORTS_END
static INPUT_PORTS_START( hotslot )
PORT_START("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Win-Tab") PORT_CODE(KEYCODE_A)
@ -1087,6 +1134,49 @@ ROM_START( sgsafari )
ROM_LOAD( "3.u39", 0x00000, 0x40000, CRC(43257bb5) SHA1(993fbeb6ee0a8a4da185303ec24eee8424b90cd0) )
ROM_END
/*
Music Sort (Ver. 2.02).
Same PCB than Magic's 10 (ver. 16.15)
CPU:
1x TS68000P12 (main)
2x TPC1020AFN-084C (PLD)(not dumped)
Sound:
1x OKI M6295
1x TDA2003
1x LM358N
1x oscillator 20.000000MHz (close to main)
1x oscillator 30.000MHz (close to sound)
1x orange resonator 1000J (close to sound)
Note:
1x 28x2 edge connector
1x trimmer (volume)
1x 8x2 switches dip
1x battery
*/
ROM_START( musicsrt )
ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "2.u3", 0x000000, 0x20000, CRC(6a5cd39f) SHA1(c7ec0d9a640ff876bd9362bfe896ebc09795b418) )
ROM_LOAD16_BYTE( "3.u2", 0x000001, 0x20000, CRC(7af68760) SHA1(08d333037a70cda60df9b0c288e9f6eb6fa7eb84) )
ROM_REGION( 0x80000, "gfx1", 0 ) /* tiles */
ROM_LOAD( "6.u25", 0x00000, 0x20000, CRC(9bcf89a6) SHA1(5b16ef9482249585a714cf2d3efffddd3f0e5834) )
ROM_LOAD( "4.u26", 0x20000, 0x20000, CRC(b9397659) SHA1(f809f612fd6a7ecfdb0fa55260ef7a57f00c0733) )
ROM_LOAD( "5.u27", 0x40000, 0x20000, CRC(36d7aeb3) SHA1(2c0863f2f366008640e8a19587460a30fda4ad6e) )
ROM_LOAD( "7.u28", 0x60000, 0x20000, CRC(a03e750b) SHA1(046e3eb5671bed09d9e5fd3572a8d41ac9e8b69e) )
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM samples */
ROM_LOAD( "1.u22", 0x00000, 0x40000, CRC(98885246) SHA1(752d549e6248074f2a7f6c5cc4d0bbc44c7fa4c3) )
ROM_REGION( 0x0800, "nvram", 0 ) /* default Non Volatile RAM */
ROM_LOAD( "musicsrt_nv.bin", 0x0000, 0x0800, CRC(f4e063cf) SHA1(a60bbd960bb7dcf023417e8c7164303b6ce71014) )
ROM_END
/****************************
* Driver Init *
@ -1130,12 +1220,13 @@ static DRIVER_INIT( sgsafari )
* Game Drivers *
******************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
GAMEL( 1995, magic10, 0, magic10, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.55)", 0, layout_sgsafari )
GAMEL( 1995, magic10a, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.45)", 0, layout_sgsafari )
GAMEL( 1995, magic10b, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.15)", 0, layout_sgsafari )
GAME( 1997, magic102, 0, magic102, magic102, magic102, ROT0, "ABM Games", "Magic's 10 2 (ver 1.1)", GAME_NOT_WORKING )
GAME( 1997, suprpool, 0, magic102, magic102, suprpool, ROT0, "ABM Games", "Super Pool (9743 rev.01)", GAME_NOT_WORKING )
GAME( 1996, hotslot, 0, hotslot, hotslot, hotslot, ROT0, "ABM Electronics", "Hot Slot (ver. 05.01)", GAME_NOT_WORKING )
GAME( 1999, mcolors, 0, magic102, magic102, magic102, ROT0, "<unknown>", "Magic Colors (ver. 1.7a)", GAME_NOT_WORKING )
GAMEL( 1996, sgsafari, 0, sgsafari, sgsafari, sgsafari, ROT0, "New Impeuropex Corp.", "Super Gran Safari (ver 3.11)", 0, layout_sgsafari )
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
GAMEL( 1995, magic10, 0, magic10, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.55)", 0, layout_sgsafari )
GAMEL( 1995, magic10a, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.45)", 0, layout_sgsafari )
GAMEL( 1995, magic10b, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.15)", 0, layout_sgsafari )
GAME( 1997, magic102, 0, magic102, magic102, magic102, ROT0, "ABM Games", "Magic's 10 2 (ver 1.1)", GAME_NOT_WORKING )
GAME( 1997, suprpool, 0, magic102, magic102, suprpool, ROT0, "ABM Games", "Super Pool (9743 rev.01)", GAME_NOT_WORKING )
GAME( 1996, hotslot, 0, hotslot, hotslot, hotslot, ROT0, "ABM Electronics", "Hot Slot (ver. 05.01)", GAME_NOT_WORKING )
GAME( 1999, mcolors, 0, magic102, magic102, magic102, ROT0, "<unknown>", "Magic Colors (ver. 1.7a)", GAME_NOT_WORKING )
GAMEL( 1996, sgsafari, 0, sgsafari, sgsafari, sgsafari, ROT0, "New Impeuropex Corp.", "Super Gran Safari (ver 3.11)", 0, layout_sgsafari )
GAMEL( 1995, musicsrt, 0, magic10a, musicsrt, magic10, ROT0, "ABM Games", "Music Sort (ver 2.02, English)", 0, layout_musicsrt )

View File

@ -0,0 +1,152 @@
<?xml version="1.0"?>
<mamelayout version="2">
<element name="L1" defstate="1">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="HOLD 1">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<element name="L2" defstate="1">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="HOLD 2">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.4" />
</text>
<text string="HEADS">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.5" width="1" height="0.4" />
</text>
</element>
<element name="L3" defstate="1">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="HOLD 3">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<element name="L4" defstate="1">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="HOLD 4">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.4" />
</text>
<text string="TAILS">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.5" width="1" height="0.4" />
</text>
</element>
<element name="L5" defstate="1">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="HOLD 5">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.4" />
</text>
<text string="HALF">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.5" width="1" height="0.4" />
</text>
</element>
<element name="L6" defstate="1">
<rect state="1">
<color red="1.0" green="1.0" blue="1.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.3" blue="0.3" />
</rect>
<text string="START">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<element name="L7" defstate="1">
<rect state="1">
<color red="1.0" green="1.0" blue="1.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.3" blue="0.3" />
</rect>
<text string="PLAY">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.1" width="1" height="0.4" />
</text>
<text string="TAKE">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.5" width="1" height="0.4" />
</text>
</element>
<element name="L8" defstate="1">
<rect state="1">
<color red="1.0" green="1.0" blue="1.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.3" blue="0.3" />
</rect>
<text string="OK">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0" y="0.2" width="1" height="0.6" />
</text>
</element>
<view name="Button Lamps">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
<bezel name="lamp1" element="L1">
<bounds x="1.6" y="3.13" width="0.40" height="0.24" />
</bezel>
<bezel name="lamp2" element="L2">
<bounds x="2.1" y="3.13" width="0.40" height="0.24" />
</bezel>
<bezel name="lamp3" element="L3">
<bounds x="2.6" y="3.13" width="0.40" height="0.24" />
</bezel>
<bezel name="lamp4" element="L4">
<bounds x="3.1" y="3.13" width="0.40" height="0.24" />
</bezel>
<bezel name="lamp5" element="L5">
<bounds x="3.6" y="3.13" width="0.40" height="0.24" />
</bezel>
<bezel name="lamp6" element="L6">
<bounds x="0" y="3.13" width="0.40" height="0.24" />
</bezel>
<bezel name="lamp7" element="L7">
<bounds x="0.5" y="3.13" width="0.40" height="0.24" />
</bezel>
<bezel name="lamp8" element="L8">
<bounds x="1.0" y="3.13" width="0.40" height="0.24" />
</bezel>
</view>
</mamelayout>

View File

@ -1864,7 +1864,8 @@ $(DRIVERS)/luckgrln.o: $(LAYOUT)/luckgrln.lh
$(DRIVERS)/lucky74.o: $(LAYOUT)/lucky74.lh
$(DRIVERS)/magic10.o: $(LAYOUT)/sgsafari.lh
$(DRIVERS)/magic10.o: $(LAYOUT)/sgsafari.lh \
$(LAYOUT)/musicsrt.lh
$(DRIVERS)/maxaflex.o: $(LAYOUT)/maxaflex.lh

View File

@ -9512,6 +9512,7 @@ Other Sun games
DRIVER( hotslot ) /* (c) 1996 ABM Electronics */
DRIVER( mcolors ) /* 1999 unknown */
DRIVER( sgsafari ) /* (c) 1996 New Impeuropex Corp. */
DRIVER( musicsrt ) /* (c) 1995 ABM Games */
DRIVER( galaxi ) /* (c) 2000 BRL S.R.L. Bologna */
DRIVER( magjoker ) /* (c) 2000 BRL S.R.L. Bologna */
DRIVER( dwarfd ) /* (c) 198? Electro-Sports */