From d53c0b73ba04a51e3842a2efa2741f048192fcc0 Mon Sep 17 00:00:00 2001 From: Scott Stone Date: Sat, 25 Oct 2014 14:16:06 -0400 Subject: [PATCH] New games added --------------- Solar War (Anonymous) NOTE: Added as playable, but with issues. Layout needs work and coins do not operate in game. Therefore, game is set to Free Play by default. Also, renamed Solar Warrior (xain.c) from solarwar -> solrwarr to allow this original game to use the setname "solarwar". Added diplocations to both games. --- src/mame/drivers/videopin.c | 69 ++++++++++++++++++++++++++++++------- src/mame/drivers/xain.c | 4 +-- src/mame/mame.lst | 4 ++- 3 files changed, 62 insertions(+), 15 deletions(-) diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c index 9535eeda97d..79f8bd1cd27 100644 --- a/src/mame/drivers/videopin.c +++ b/src/mame/drivers/videopin.c @@ -6,7 +6,12 @@ Known issues: - - plunger doesn't work in test mode - bug in the game code? +videopin +- plunger doesn't work in test mode - bug in the game code? + +solarwar +- coins not working (free play is default for now) +- needs correct layout file *************************************************************************/ @@ -17,11 +22,6 @@ #include "sound/discrete.h" - - - - - void videopin_state::update_plunger() { UINT8 val = ioport("IN2")->read(); @@ -235,26 +235,26 @@ static INPUT_PORTS_START( videopin ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW") /* IN1 */ - PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW:8,7") PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Language ) ) + PORT_DIPNAME( 0x30, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("DSW:6,5") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x10, DEF_STR( German ) ) PORT_DIPSETTING( 0x20, DEF_STR( French ) ) PORT_DIPSETTING( 0x30, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0x08, 0x08, "Balls" ) + PORT_DIPNAME( 0x08, 0x08, "Balls" ) PORT_DIPLOCATION("DSW:4") PORT_DIPSETTING( 0x08, "3" ) PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPNAME( 0x04, 0x00, "Replay" ) + PORT_DIPNAME( 0x04, 0x00, "Replay" ) PORT_DIPLOCATION("DSW:3") PORT_DIPSETTING( 0x04, "Off (award 80000 points instead)" ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Extra Ball" ) + PORT_DIPNAME( 0x02, 0x00, "Extra Ball" ) PORT_DIPLOCATION("DSW:2") PORT_DIPSETTING( 0x02, "Off (award 50000 points instead)" ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x01, 0x01, "Replay Level" ) + PORT_DIPNAME( 0x01, 0x01, "Replay Level" ) PORT_DIPLOCATION("DSW:1") PORT_DIPSETTING( 0x00, "180000 (3 balls) / 300000 (5 balls)" ) PORT_DIPSETTING( 0x01, "210000 (3 balls) / 350000 (5 balls)" ) @@ -272,6 +272,19 @@ static INPUT_PORTS_START( videopin ) PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Ball Shooter") PORT_CODE(KEYCODE_DOWN) INPUT_PORTS_END +static INPUT_PORTS_START( solarwar ) + PORT_INCLUDE( videopin ) + PORT_MODIFY("DSW") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW:8,7") + PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) + PORT_DIPUNKNOWN_DIPLOC( 0x30, 0x30, "DSW:6,5" ) + PORT_DIPNAME( 0x01, 0x01, "Replay Level" ) PORT_DIPLOCATION("DSW:1") + PORT_DIPSETTING( 0x00, "180000 (3 balls) / 300000 (5 balls)" ) + PORT_DIPSETTING( 0x01, "300000 (3 balls) / 500000 (5 balls)" ) +INPUT_PORTS_END /************************************* @@ -395,6 +408,37 @@ ROM_START( videopin ) ROM_LOAD( "9402-01.h4", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* sync */ ROM_END +ROM_START( solarwar ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD_NIB_LOW ( "36159-01.e0", 0x2000, 0x0400, CRC(0db9f0fc) SHA1(191429a25b43727694f75c0ae9cbff705fbc4d77) ) + ROM_LOAD_NIB_HIGH( "36154-01.k0", 0x2000, 0x0400, CRC(64629efc) SHA1(4da3870c35e693ed334502ea17ae023a0073ff85) ) + ROM_LOAD_NIB_LOW ( "36160-01.d0", 0x2400, 0x0400, CRC(63a25dee) SHA1(cff0f1c4d381eb99a30f2fe09ff6f42ca994a19f) ) + ROM_LOAD_NIB_HIGH( "36155-01.j0", 0x2400, 0x0400, CRC(5fa64f47) SHA1(64e37380be0df761ba81c516592fef87bba30b91) ) + ROM_LOAD_NIB_LOW ( "36167-01.h1", 0x2800, 0x0400, CRC(5a85bca8) SHA1(7af9895c2e567d569ed60305fa1245081e346fc1) ) + ROM_LOAD_NIB_HIGH( "36166-01.h1", 0x2800, 0x0400, CRC(6ce095a6) SHA1(e3bb534487d3cd0cecccff47c0742de8f951b46c) ) + ROM_LOAD_NIB_LOW ( "36161-01.c0", 0x2c00, 0x0400, CRC(a9e2e08f) SHA1(5539a86d4fb69735182762e21cf3cc26d16eff80) ) + ROM_LOAD_NIB_HIGH( "36157-01.h0", 0x2c00, 0x0400, CRC(30b6eb18) SHA1(ae819dd97c6a7e26981731e7706cbfa3699b6a0b) ) + ROM_LOAD_NIB_LOW ( "36169-01.e1", 0x3000, 0x0400, CRC(f702127c) SHA1(7fb83c616671e4ea9697282a04662ec035d5d8ed) ) + ROM_LOAD_NIB_HIGH( "36164-01.k1", 0x3000, 0x0400, CRC(3dcded96) SHA1(eacdf017b08a7c3305fd79430fbbf07292d0cfa0) ) + ROM_LOAD_NIB_LOW ( "36163-02.a0", 0x3400, 0x0400, CRC(3e176619) SHA1(9b6a9a5fa02b1d87bdaa43fad8971ff3317b132d) ) + ROM_LOAD_NIB_HIGH( "36156-02.h0", 0x3400, 0x0400, CRC(e51363fb) SHA1(c01b263dfd6d448a18ff855a93aa4e48afc6d725) ) + ROM_LOAD_NIB_LOW ( "36168-01.f1", 0x3800, 0x0400, CRC(5ccbcf7e) SHA1(10f8932265abe6e62e9f243c653d7fad770a2ff5) ) + ROM_LOAD_NIB_HIGH( "36165-01.j1", 0x3800, 0x0400, CRC(e2ee4f7d) SHA1(be2f602a5bcfe404509ac8d6914a03213573b0a6) ) + ROM_LOAD_NIB_LOW ( "36162-02.b0", 0x3c00, 0x0400, CRC(cec1baaa) SHA1(15c130b01a7b8b9aa07e01f7c84c4c26494f39d8) ) + ROM_RELOAD( 0xfc00, 0x0400 ) + ROM_LOAD_NIB_HIGH( "36158-02.f0", 0x3c00, 0x0400, CRC(2606b87e) SHA1(ea72e36837eccf29cd5c82fe9a6a018a1a94730c) ) + ROM_RELOAD( 0xfc00, 0x0400 ) + + ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */ + ROM_LOAD_NIB_LOW ( "34259-01.d5", 0x0000, 0x0200, CRC(6cd98c06) SHA1(48bf077b7abbd2f529a19bdf85700b93014f39f9) ) + ROM_LOAD_NIB_HIGH( "34258-01.c5", 0x0000, 0x0200, CRC(91a5f117) SHA1(03ac6b0b3da0ed5faf1ba6695d16918d12ceeff5) ) + + ROM_REGION( 0x0020, "gfx2", 0 ) /* ball */ + ROM_LOAD( "34257-01.m1", 0x0000, 0x0020, CRC(50245866) SHA1(b0692bc8d44f127f6e7182a1ce75a785e22ac5b9) ) + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "9402-01.h4", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* sync */ +ROM_END /************************************* @@ -404,3 +448,4 @@ ROM_END *************************************/ GAMEL( 1979, videopin, 0, videopin, videopin, driver_device, 0, ROT270, "Atari", "Video Pinball", 0, layout_videopin ) +GAMEL( 1979, solarwar, 0, videopin, solarwar, driver_device, 0, ROT270, "Atari", "Solar War", 0, layout_videopin ) diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c index 146066a87b2..0b09466e319 100644 --- a/src/mame/drivers/xain.c +++ b/src/mame/drivers/xain.c @@ -729,7 +729,7 @@ ROM_START( xsleenaj ) ROM_LOAD( "pt-0.ic59", 0x00000, 0x0100, CRC(fed32888) SHA1(4e9330456b20f7198c1e27ca1ae7200f25595599) ) /* BPROM type MB7114E Priority (not used) */ ROM_END -ROM_START( solarwar ) +ROM_START( solrwarr ) ROM_REGION( 0x14000, "maincpu", 0 ) ROM_LOAD( "p9-02.ic66", 0x08000, 0x8000, CRC(8ff372a8) SHA1(0fc396e662419fb9cb5bea11748aa8e0e8d072e6) ) ROM_LOAD( "pa-03.ic65", 0x04000, 0x4000, CRC(154f946f) SHA1(25b776eb9c494e5302795ae79e494cbfc7c104b1) ) @@ -837,5 +837,5 @@ ROM_END GAME( 1986, xsleena, 0, xsleena, xsleena, driver_device, 0, ROT0, "Technos Japan (Taito license)", "Xain'd Sleena (World)", 0 ) GAME( 1986, xsleenaj, xsleena, xsleena, xsleena, driver_device, 0, ROT0, "Technos Japan", "Xain'd Sleena (Japan)", 0 ) -GAME( 1986, solarwar, xsleena, xsleena, xsleena, driver_device, 0, ROT0, "Technos Japan (Taito / Memetron license)", "Solar-Warrior (US)", 0 ) +GAME( 1986, solrwarr, xsleena, xsleena, xsleena, driver_device, 0, ROT0, "Technos Japan (Taito / Memetron license)", "Solar-Warrior (US)", 0 ) GAME( 1986, xsleenab, xsleena, xsleenab, xsleena, driver_device, 0, ROT0, "bootleg", "Xain'd Sleena (bootleg)", 0 ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 5b8056556ae..21c7e488514 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -6849,6 +6849,7 @@ boxer // ?????? prototype 1978 [6502] wolfpack // ?????? prototype [6502] mgolf // ?????? prototype 1978 [6502] videopin // 034253-034267 1979/02 [6502] +solarwar // 036154-036169 1979 [6502] atarifb4 // 034754 1979/04 [6502] subs // 033714 1979/05 [6502] bsktball // 034756-034766 1979/05 [6502] @@ -6857,6 +6858,7 @@ abaseb2 // 034711-034738 1979/06 [6502] montecar // 035763-035780 1980/04 [6502] soccer // 035222-035260 1980/04 [6502] + // Atari "Missile Command hardware" games missile // 035820-035825 (c) 1980, 1 ROM update to rev 2 board missile2 // 035820-035825 (c) 1980 @@ -7782,7 +7784,7 @@ kuniokunb // bootleg xsleena // TA-0019 (c) 1986 + Taito license xsleenaj // TA-0019 (c) 1986 xsleenab // bootleg -solarwar // TA-0019 (c) 1986 + Taito / Memetron license +solrwarr // TA-0019 (c) 1986 + Taito / Memetron license battlane // -0215, -0216 (Data East part number) (c) 1986 + Taito license battlane2 // -0215, -0216 (Data East part number) (c) 1986 + Taito license battlane3 // -0215, -0216 (Data East part number) (c) 1986 + Taito license