Previous 199869 Revisions Next

r33739 Monday 8th December, 2014 at 11:28:45 UTC by David Haywood
new WORKING game
Su Ho Seong [system11, David Haywood]
[src/mame/drivers]snowbros.c
[src/mame/includes]snowbros.h

trunk/src/mame/drivers/snowbros.c
r242250r242251
13881388   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
13891389INPUT_PORTS_END
13901390
1391// ignore service mode, it shows a regular joystick + 3 buttons config, these game simply uses 6 buttons
1392static INPUT_PORTS_START( suhosong )
1393   PORT_START("DSW1")
1394   PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) )    PORT_DIPLOCATION("SW1:1")
1395   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1396   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1397   PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW1:2" )
1398   PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW1:3" )
1399   PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW1:4" )
1400   PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW1:5" )
1401   PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW1:6" )
1402   PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW1:7" )
1403   PORT_SERVICE_DIPLOC(   0x0080, IP_ACTIVE_LOW, "SW1:8" )
1404   PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Button 4 / Stand / Stop / Drop / Full Bet / Take") PORT_CODE(KEYCODE_V)
1405   PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Button 1 / High") PORT_CODE(KEYCODE_Z)
1406   PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Button 2 / Low") PORT_CODE(KEYCODE_X)
1407   PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Button 3 / Hit / Go / Double Up") PORT_CODE(KEYCODE_C)
1408   PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1409   PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Button 6 / Bet / Raise") PORT_CODE(KEYCODE_N)
1410   PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1411   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
13911412
1413   PORT_START("DSW2")
1414   PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0000, "SW2:1" )
1415   PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0000, "SW2:2" )
1416   PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0000, "SW2:3" )
1417   PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0000, "SW2:4" )
1418   PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0000, "SW2:5" )
1419   PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0000, "SW2:6" )
1420   PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0000, "SW2:7" )
1421   PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0000, "SW2:8" )
1422   PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1423   PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1424   PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1425   PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1426   PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1427   PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1428   PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1429   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1430
1431   PORT_START("SYSTEM")
1432   PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Button 5 / Start / Double / Call / Check") PORT_CODE(KEYCODE_B) // Double != Double Up
1433   PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1434   PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_COIN1 )
1435   PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_COIN2 )
1436   PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1437   PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1438   PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1439   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1440INPUT_PORTS_END
1441
13921442/* SnowBros */
13931443
13941444static const gfx_layout tilelayout =
r242250r242251
23592409   ROM_LOAD16_BYTE( "su_ho_sung.uh12",  0x00001, 0x20000, CRC(6bd8bd08) SHA1(668398c9c77cc4cc52858daefd3cb13fbaf29a37) )
23602410   ROM_LOAD16_BYTE( "su_ho_sung.ui12",  0x00000, 0x20000, CRC(79a4806e) SHA1(a4080ea70fa588ada384ffa9877f5cf965fb68df) )
23612411
2362   ROM_LOAD( "fakecode",     0x3fe00, 0x200, CRC(2849b78a) SHA1(a1aec7510de9476c23b3f65ffc465a32dfa70718) ) // temphack: this is extracted from puzzle break ram at runtime
23632412
23642413   ROM_REGION( 0x10000, "soundcpu", 0 ) /* Z80 Code */
23652414   ROM_LOAD( "su_ho_sung.u1", 0x00000, 0x10000 ,  CRC(509ce74e) SHA1(a93add5ab674671078b55128281dcf9b0db46617) )
r242250r242251
23682417   ROM_LOAD( "87c52.mcu", 0x00000, 0x10000 , NO_DUMP ) /* can't be dumped */
23692418
23702419   ROM_REGION16_BE( 0x200, "user1", ROMREGION_ERASE00 ) /* Data from Shared RAM */
2371//  ROM_LOAD16_WORD( "protdata.bin", 0x00000, 0x200 , CRC(1) SHA1(1) )
2420   ROM_LOAD16_WORD( "protdata.bin", 0x000, 0x200 , CRC(4478e251) SHA1(08489d6bfe5503c8eb62909e56a07193a922b4c1) )
23722421
23732422   ROM_REGION( 0x040000, "oki", 0 ) /* Samples */
23742423   ROM_LOAD( "su_ho_sung.uj15", 0x00000, 0x40000, CRC(266fcae8) SHA1(0f15f880bde0c12b5c663ed387f9353c13b731b6) )
r242250r242251
28152864   m_pandora->set_bg_pen(0xc0);
28162865}
28172866
2818DRIVER_INIT_MEMBER(snowbros_state,suhosong)
2819{
2820   UINT16 *HCROM = (UINT16*)memregion("maincpu")->base();
28212867
2822   // replace jump to ram with jump to fake code we load in rom region
2823   HCROM[0x580/2] = 0x0003;
2824   HCROM[0x582/2] = 0xfe04;
28252868
2826   // disable checksum check fail
2827   HCROM[0x41e/2] = 0x4e71;
2828   HCROM[0x420/2] = 0x4e71;
2829}
2830
2831GAME( 1990, snowbros,  0,        snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 1)", 0 )
2832GAME( 1990, snowbrosa, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 2)", 0 )
2833GAME( 1990, snowbrosb, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 3)", 0 )
2834GAME( 1990, snowbrosc, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 4)", 0 )
2835GAME( 1990, snowbrosj, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (Japan)", 0 )
2836GAME( 1990, snowbrosd, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan (Dooyong license)", "Snow Bros. - Nick & Tom (Dooyong license)", 0 )
2869GAME( 1990, snowbros,  0,        snowbros, snowbros, driver_device, 0, ROT0, "Toaplan",                        "Snow Bros. - Nick & Tom (set 1)", 0 )
2870GAME( 1990, snowbrosa, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan",                        "Snow Bros. - Nick & Tom (set 2)", 0 )
2871GAME( 1990, snowbrosb, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan",                        "Snow Bros. - Nick & Tom (set 3)", 0 )
2872GAME( 1990, snowbrosc, snowbros, snowbros, snowbros, driver_device, 0, ROT0, "Toaplan",                        "Snow Bros. - Nick & Tom (set 4)", 0 )
2873GAME( 1990, snowbrosj, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan",                        "Snow Bros. - Nick & Tom (Japan)", 0 )
2874GAME( 1990, snowbrosd, snowbros, snowbros, snowbroj, driver_device, 0, ROT0, "Toaplan (Dooyong license)",      "Snow Bros. - Nick & Tom (Dooyong license)", 0 )
28372875GAME( 1990, wintbob,   snowbros, wintbob,  snowbros, driver_device, 0, ROT0, "bootleg (Sakowa Project Korea)", "The Winter Bobble (bootleg of Snow Bros.)", 0 )
2838GAME( 1990, snowbroswb,snowbros, wintbob,  snowbros, driver_device, 0, ROT0, "bootleg", "Snow Bros. - Nick & Tom (The Winter Bobble hardware bootleg)", 0 ) // this was probably unhacked back from the more common Winter Bobble to make it look more original
2876GAME( 1990, snowbroswb,snowbros, wintbob,  snowbros, driver_device, 0, ROT0, "bootleg",                        "Snow Bros. - Nick & Tom (The Winter Bobble hardware bootleg)", 0 ) // this was probably unhacked back from the more common Winter Bobble to make it look more original
28392877
28402878// none of the games below are on genuine SnowBros hardware, but they clone the functionality of it.
2841GAME( 1993, finalttr, 0,        finalttr, finalttr, driver_device, 0,        ROT0, "Jeil Computer System", "Final Tetris", 0 )
2879
2880// SemiCom / Jeil titles are protected, a dumb MCU copies code into RAM at startup, some also check for a specific return value from an address on startup.
2881GAME( 1993, finalttr, 0,        finalttr,     finalttr, driver_device,  0,        ROT0, "Jeil Computer System", "Final Tetris", 0 )
2882GAME( 1995, hyperpac, 0,        semicom_mcu,  hyperpac, driver_device,  0,        ROT0, "SemiCom",              "Hyper Pacman", 0 )
2883GAME( 1995, hyperpacb,hyperpac, semicom,      hyperpac, driver_device,  0,        ROT0, "bootleg",              "Hyper Pacman (bootleg)", 0 )
2884GAME( 1996, cookbib2, 0,        semiprot,     cookbib2, snowbros_state, cookbib2, ROT0, "SemiCom",              "Cookie & Bibi 2", 0 )
2885GAME( 1996, toppyrap, 0,        semiprot,     toppyrap, driver_device,  0,        ROT0, "SemiCom",              "Toppy & Rappy", 0 )
2886GAME( 1997, cookbib3, 0,        semiprot,     cookbib3, snowbros_state, cookbib3, ROT0, "SemiCom",              "Cookie & Bibi 3", 0 )
2887GAME( 1997, 3in1semi, 0,        semiprot,     moremore, snowbros_state, 3in1semi, ROT0, "SemiCom",              "XESS - The New Revolution (SemiCom 3-in-1)", 0 )
2888GAME( 1997, twinkle,  0,        semiprot,     twinkle,  driver_device,  0,        ROT0, "SemiCom",              "Twinkle", 0 )
2889GAME( 1997, pzlbreak, 0,        semiprot,     pzlbreak, snowbros_state, pzlbreak, ROT0, "SemiCom",              "Puzzle Break", 0 )
2890GAME( 1999, moremore, 0,        semiprot,     moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit",       "More More", 0 )
2891GAME( 1999, moremorp, 0,        semiprot,     moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit",       "More More Plus", 0 )
2892GAME( 1997, suhosong, 0,        semiprot,     suhosong, driver_device,  0,        ROT0, "SemiCom",              "Su Ho Seong", 0 )
2893// This is very similar to the SemiCom titles, but unprotected.
2894GAME( 2002, 4in1boot, 0,        _4in1,    4in1boot, snowbros_state, 4in1boot, ROT0, "K1 Soft", "Puzzle King (PacMan 2, Tetris, HyperMan 2, Snow Bros.)" , 0)
2895
28422896GAME( 1995, honeydol, 0,        honeydol, honeydol, driver_device, 0, ROT0, "Barko Corp.", "Honey Dolls", 0 ) // based on snowbros code..
2897
28432898GAME( 1995, twinadv,  0,        twinadv,  twinadv, driver_device,  0, ROT0, "Barko Corp.", "Twin Adventure (World)", 0 )
28442899GAME( 1995, twinadvk, twinadv,  twinadv,  twinadv, driver_device,  0, ROT0, "Barko Corp.", "Twin Adventure (Korea)", 0 )
2845GAME( 1995, hyperpac, 0,        semicom_mcu,  hyperpac, driver_device, 0, ROT0, "SemiCom", "Hyper Pacman", 0 )
2846GAME( 1995, hyperpacb,hyperpac, semicom,  hyperpac, driver_device, 0,        ROT0, "bootleg", "Hyper Pacman (bootleg)", 0 )
2847GAME( 1996, cookbib2, 0,        semiprot, cookbib2, snowbros_state, cookbib2, ROT0, "SemiCom", "Cookie & Bibi 2", 0 )
2848GAME( 1996, toppyrap, 0,        semiprot, toppyrap, driver_device, 0,        ROT0, "SemiCom", "Toppy & Rappy", 0 )
2849GAME( 1997, cookbib3, 0,        semiprot, cookbib3, snowbros_state, cookbib3, ROT0, "SemiCom", "Cookie & Bibi 3", 0 )
2850GAME( 1997, 3in1semi, 0,        semiprot, moremore, snowbros_state, 3in1semi, ROT0, "SemiCom", "XESS - The New Revolution (SemiCom 3-in-1)", 0 )
2851GAME( 1997, twinkle,  0,        semiprot, twinkle, driver_device,  0,        ROT0, "SemiCom", "Twinkle", 0 )
2852GAME( 1997, pzlbreak, 0,        semiprot, pzlbreak, snowbros_state, pzlbreak, ROT0, "SemiCom", "Puzzle Break", 0 )
2853GAME( 1999, moremore, 0,        semiprot, moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit", "More More", 0 )
2854GAME( 1999, moremorp, 0,        semiprot, moremore, snowbros_state, moremorp, ROT0, "SemiCom / Exit", "More More Plus", 0 )
2855GAME( 2002, 4in1boot, 0,        _4in1,    4in1boot, snowbros_state, 4in1boot, ROT0, "K1 Soft", "Puzzle King (includes bootleg of Snow Bros.)" , 0)
2856GAME( 1997, suhosong, 0,        semiprot, cookbib3, snowbros_state, suhosong, ROT0, "SemiCom", "Su Ho Seong", GAME_NOT_WORKING )
28572900
28582901// The Korean games database shows an earlier version of this called Ball Boy with a different title screen to the version of Ball Boy we have
28592902// http://mamedev.emulab.it/undumped/images/Ballboy.jpg
28602903// it is possible this 'ball boy' is the original bootleg, with snwobro3 being a hack of that, and the ballboy set we have a further hack of that
28612904// there is also a later 2004 version with 3 player support
2862GAME( 2002, snowbro3, 0,        snowbro3, snowbroj, snowbros_state, snowbro3, ROT0, "Syrmex", "Snow Brothers 3 - Magical Adventure", GAME_IMPERFECT_SOUND ) // hacked from SnowBros code but released as an original game
2905// these use an MCU to drive the sound
2906GAME( 2002, snowbro3, 0,        snowbro3, snowbroj, snowbros_state, snowbro3, ROT0, "Syrmex",  "Snow Brothers 3 - Magical Adventure", GAME_IMPERFECT_SOUND ) // hacked from SnowBros code but released as an original game
28632907GAME( 2003, ballboy,  snowbro3, snowbro3, snowbroj, snowbros_state, snowbro3, ROT0, "bootleg", "Ball Boy", GAME_IMPERFECT_SOUND )
trunk/src/mame/includes/snowbros.h
r242250r242251
5555   DECLARE_DRIVER_INIT(4in1boot);
5656   DECLARE_DRIVER_INIT(3in1semi);
5757   DECLARE_DRIVER_INIT(cookbib2);
58   DECLARE_DRIVER_INIT(suhosong);
5958   DECLARE_MACHINE_RESET(semiprot);
6059   DECLARE_MACHINE_RESET(finalttr);
6160   UINT32 screen_update_snowbros(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team