summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/videopin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/videopin.c')
-rw-r--r--src/mame/drivers/videopin.c69
1 files changed, 57 insertions, 12 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 )