From 284b13c2771cc06bb4568bd59085b1d96f4fc665 Mon Sep 17 00:00:00 2001 From: Couriersud Date: Thu, 12 Jun 2008 19:33:02 +0000 Subject: [PATCH] Moved moonwar and moonwara from scobra.c to galaxian.c --- src/mame/drivers/galaxian.c | 86 +++++++++++++++++++++++ src/mame/drivers/galdrvr.c | 112 +++++++++++++++++++++++++++++- src/mame/drivers/scobra.c | 131 ----------------------------------- src/mame/includes/galaxian.h | 1 + src/mame/includes/galaxold.h | 3 - src/mame/machine/scramble.c | 47 +------------ src/mame/video/galaxian.c | 7 ++ src/mame/video/galaxold.c | 8 --- 8 files changed, 205 insertions(+), 190 deletions(-) diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c index bfddac89b06..8d008acc0f8 100644 --- a/src/mame/drivers/galaxian.c +++ b/src/mame/drivers/galaxian.c @@ -154,6 +154,18 @@ Notes about 'calipso' : It's possible that there is a cocktail version of the game. +Notes about 'moonwar' : +--------------------- + + Moonwar: 8255 Port C bit 4 was originally designed so when bit4=0, 1P spinner + is selected, and when bit4=1, 2P spinner gets selected. But they forgot to + change the 8255 initialization value and Port C was set to input, setting the + spinner select bit to HI regardless what was written to it. This bug has been + corrected in the newer set, but, to maintain hardware compatibility with + older PCB's, they had to reverse to active status of the select bit. So in the + newer set, Bit4=1 selects the 1P spinner and Bit4=0 selects the 2P spinner. + + TO DO : ------- @@ -207,6 +219,8 @@ static UINT8 protection_result; static UINT8 konami_sound_control; static UINT8 sfx_sample_control; +static UINT8 moonwar_port_select; + static UINT8 irq_enabled; static int irq_line; @@ -1094,6 +1108,51 @@ static READ8_HANDLER( dingoe_3001_r ) } +/************************************* + * + * Moon War I/O + * + *************************************/ + +static WRITE8_HANDLER( moonwar_port_select_w ) +{ + moonwar_port_select = data & 0x10; +} + + +static READ8_HANDLER( moonwar_input_port_0_r ) +{ + UINT8 sign; + UINT8 delta; + + delta = (moonwar_port_select ? input_port_read(machine, "IN3") : input_port_read(machine, "IN4")); + + sign = (delta & 0x80) >> 3; + delta &= 0x0f; + + return ((input_port_read(machine, "IN0") & 0xe0) | delta | sign ); +} + + +static const ppi8255_interface moonwar_ppi8255_intf[2] = +{ + { + moonwar_input_port_0_r, /* Port A read */ + konami_portb_0_r, /* Port B read */ + konami_portc_0_r, /* Port C read */ + NULL, /* Port A write */ + NULL, /* Port B write */ + moonwar_port_select_w /* Port C write */ + }, + { + NULL, /* Port A read */ + NULL, /* Port B read */ + konami_portc_1_r, /* Port C read */ + soundlatch_w, /* Port A write */ + konami_sound_control_w, /* Port B write */ + konami_portc_1_w /* Port C write */ + } +}; /************************************* * @@ -2084,6 +2143,22 @@ static MACHINE_DRIVER_START( anteater ) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1) MACHINE_DRIVER_END +static MACHINE_DRIVER_START( moonwar ) + + /* basic machine hardware */ + /* same as regular type 1, the only difference is that the bullets are less yellow */ + MDRV_IMPORT_FROM(scobra) + + /* device config overrides */ + MDRV_DEVICE_MODIFY( "ppi8255_0", PPI8255 ) + MDRV_DEVICE_CONFIG( moonwar_ppi8255_intf[0] ) + + MDRV_DEVICE_MODIFY( "ppi8255_1", PPI8255 ) + MDRV_DEVICE_CONFIG( moonwar_ppi8255_intf[1] ) + + MDRV_PALETTE_INIT(moonwar) +MACHINE_DRIVER_END + /************************************* * @@ -2848,4 +2923,15 @@ static DRIVER_INIT( calipso ) } + +static DRIVER_INIT( moonwar ) +{ + /* video extensions */ + common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); + + state_save_register_global(moonwar_port_select); +} + + + #include "galdrvr.c" diff --git a/src/mame/drivers/galdrvr.c b/src/mame/drivers/galdrvr.c index 6b93ca30cce..d04722b766b 100644 --- a/src/mame/drivers/galdrvr.c +++ b/src/mame/drivers/galdrvr.c @@ -2196,6 +2196,74 @@ static INPUT_PORTS_START( calipso ) INPUT_PORTS_END +static INPUT_PORTS_START( moonwar_common ) + PORT_START_TAG("IN0") + PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_SPECIAL ) /* the spinner */ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) + + PORT_START_TAG("IN1") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) +INPUT_PORTS_END + + +static INPUT_PORTS_START( moonwar ) + PORT_INCLUDE( moonwar_common ) + + PORT_START_TAG("IN2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) + PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */ + + PORT_START_TAG("IN3") /* IN3/4 - dummy ports for the dial */ + PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET + + PORT_START_TAG("IN4") + PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET PORT_COCKTAIL +INPUT_PORTS_END + +/* same as above, but coinage is different */ +static INPUT_PORTS_START( moonwara ) + PORT_INCLUDE( moonwar_common ) + + PORT_START_TAG("IN2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) + PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */ + + PORT_START_TAG("IN3") /* IN3/4 - dummy ports for the dial */ + PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET + + PORT_START_TAG("IN4") /* doesn't actually work due to bug in game code */ + PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET PORT_COCKTAIL +INPUT_PORTS_END + + /************************************* * * ROM definitions @@ -4780,6 +4848,45 @@ ROM_START( calipso ) ROM_END +ROM_START( moonwar ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "mw2.2c", 0x0000, 0x1000, CRC(7c11b4d9) SHA1(a27bdff6ce728647ec811df843ac235c32c293d6) ) + ROM_LOAD( "mw2.2e", 0x1000, 0x1000, CRC(1b6362be) SHA1(2fbd95869146adcc0c8be1df653251fda8849e8e) ) + ROM_LOAD( "mw2.2f", 0x2000, 0x1000, CRC(4fd8ba4b) SHA1(3da784267a96d05f66b00626a22cb3f06211d202) ) + ROM_LOAD( "mw2.2h", 0x3000, 0x1000, CRC(56879f0d) SHA1(d1e9932863aebc5761e71fca8d24f3c400e1250d) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "mw2.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) ) + ROM_LOAD( "mw2.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "mw2.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) ) + ROM_LOAD( "mw2.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "mw2.clr", 0x0000, 0x0020, CRC(99614c6c) SHA1(f068985f3c5e0cd88551a02c32f9baeabfd50241) ) +ROM_END + +ROM_START( moonwara ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "2c", 0x0000, 0x1000, CRC(bc20b734) SHA1(c6fe550987d0052979aad43c67aa1b9248049669) ) + ROM_LOAD( "2e", 0x1000, 0x1000, CRC(db6ffec2) SHA1(0fcd55b1e415e2e7041d10778052a235251f85fe) ) + ROM_LOAD( "2f", 0x2000, 0x1000, CRC(378931b8) SHA1(663f1eea9b0e8dc38de818df66c5211dac41c33b) ) + ROM_LOAD( "2h", 0x3000, 0x1000, CRC(031dbc2c) SHA1(5f2ca8b8763398bf161ee0c2c748a12d36cb40ec) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) + ROM_LOAD( "mw2.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) ) + ROM_LOAD( "mw2.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) ) + + ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) + ROM_LOAD( "mw2.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) ) + ROM_LOAD( "mw2.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) ) + + ROM_REGION( 0x0020, REGION_PROMS, 0 ) + ROM_LOAD( "moonwara.clr", 0x0000, 0x0020, CRC(f58d4f58) SHA1(12a80d1edf3c80dafa0e1e3622d2a03224b62f14) ) /* olive, instead of white */ +ROM_END + + /************************************* * * Game drivers @@ -4987,6 +5094,9 @@ GAME( 1985, superbon, 0, scobra, superbon, superbon, ROT90, "Signatron GAME( 1982, calipso, 0, scobra, calipso, calipso, ROT90, "[Stern] (Tago license)", "Calipso", GAME_SUPPORTS_SAVE ) +GAME( 1981, moonwar, 0, moonwar, moonwar, moonwar, ROT90, "Stern", "Moonwar", GAME_SUPPORTS_SAVE ) +GAME( 1981, moonwara, moonwar, moonwar, moonwara, moonwar, ROT90, "Stern", "Moonwar (older)", GAME_SUPPORTS_SAVE ) + /* currently in galaxold.c and should be moved here */ @@ -5036,8 +5146,6 @@ GAME( 1982, calipso, 0, scobra, calipso, calipso, ROT90, "[Stern] ( /* currently in scobra.c and should be moved here */ //GAME( 1981, stratgyx, 0, scobra/*stratgyx*/, stratgyx, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE ) //GAME( 1981, stratgys, stratgyx, scobra/*stratgyx*/, stratgyx, stratgyx, ROT0, "[Konami] (Stern license)", "Strategy X (Stern)", GAME_SUPPORTS_SAVE ) -//GAME( 1981, moonwar, 0, scobra/*moonwar*/, moonwar, moonwar, ROT90, "Stern", "Moonwar", GAME_SUPPORTS_SAVE ) -//GAME( 1981, moonwara, moonwar, scobra/*moonwar*/, moonwara, moonwar, ROT90, "Stern", "Moonwar (older)", GAME_SUPPORTS_SAVE ) //GAME( 1982, darkplnt, 0, scobra/*darkplnt*/, darkplnt, darkplnt, ROT180, "Stern", "Dark Planet", GAME_SUPPORTS_SAVE ) //GAME( 1982, tazmani2, tazmania, scobra/*type2*/, tazmania, tazmani2, ROT90, "Stern", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE ) //GAME( 1983, anteatg, anteater, scobra/*anteatg*/, anteatg, scramble_ppi, ROT90, "TV-Tuning (F.E.G. license)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c index 6bfdc3cd26b..7f1aeb0df76 100644 --- a/src/mame/drivers/scobra.c +++ b/src/mame/drivers/scobra.c @@ -19,14 +19,6 @@ TODO: Notes/Tidbits: ------------- -- Moonwar: 8255 Port C bit 4 was originally designed so when bit4=0, 1P spinner - is selected, and when bit4=1, 2P spinner gets selected. But they forgot to - change the 8255 initialization value and Port C was set to input, setting the - spinner select bit to HI regardless what was written to it. This bug has been - corrected in the newer set, but, to maintain hardware compatibility with - older PCB's, they had to reverse to active status of the select bit. So in the - newer set, Bit4=1 selects the 1P spinner and Bit4=0 selects the 2P spinner. - - Armored Car sets Port C as well, but it's input only and the games uses other bits for the 2nd player controls. Maybe the games was meant to use 2 joysticks at one time. @@ -596,69 +588,6 @@ SCOBRA_IN0 PORT_DIPSETTING( 0x00, "A 1/99 B 1/3" ) INPUT_PORTS_END -#define MOONWAR_COMMON\ - PORT_START_TAG("IN0")\ - PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_SPECIAL ) /* the spinner */\ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL\ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )\ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )\ - PORT_START_TAG("IN1")\ - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )\ - PORT_DIPSETTING( 0x00, "3" )\ - PORT_DIPSETTING( 0x01, "4" )\ - PORT_DIPSETTING( 0x02, "5" )\ - PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) )\ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )\ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )\ - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL\ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 )\ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )\ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) - -static INPUT_PORTS_START( moonwar ) - MOONWAR_COMMON - - PORT_START_TAG("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */ - - PORT_START_TAG("IN3") /* IN3/4 - dummy ports for the dial */ - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET - - PORT_START_TAG("IN4") - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET PORT_COCKTAIL -INPUT_PORTS_END - -/* same as above, but coinage is different */ -static INPUT_PORTS_START( moonwara ) - MOONWAR_COMMON - - PORT_START_TAG("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) - PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */ - - PORT_START_TAG("IN3") /* IN3/4 - dummy ports for the dial */ - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET - - PORT_START_TAG("IN4") /* doesn't actually work due to bug in game code */ - PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_RESET PORT_COCKTAIL -INPUT_PORTS_END /* cocktail mode is N/A */ @@ -1228,26 +1157,6 @@ MACHINE_DRIVER_END -/* same as regular type 1, the only difference is that the bullets are less yellow */ -static MACHINE_DRIVER_START( moonwar ) - - /* basic machine hardware */ - MDRV_IMPORT_FROM(type1) - - /* device config overrides */ - MDRV_DEVICE_MODIFY( "ppi8255_0", PPI8255 ) - MDRV_DEVICE_CONFIG( moonwar_ppi8255_intf[0] ) - - MDRV_DEVICE_MODIFY( "ppi8255_1", PPI8255 ) - MDRV_DEVICE_CONFIG( moonwar_ppi8255_intf[1] ) - - /* video hardware */ - MDRV_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for bg */ - - MDRV_PALETTE_INIT(moonwar) -MACHINE_DRIVER_END - - /* Rescue, Minefield and Strategy X have extra colors, and custom video initialise */ /* routines to set up the graduated color backgound they use */ static MACHINE_DRIVER_START( rescue ) @@ -1559,44 +1468,6 @@ ROM_START( stratgys ) ROM_LOAD( "strategy.10k", 0x0000, 0x0020, CRC(d95c0318) SHA1(83e5355fdca7b4e1fb5a0e6eeaacfbf9561e2c36) ) ROM_END -ROM_START( moonwar ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "mw2.2c", 0x0000, 0x1000, CRC(7c11b4d9) SHA1(a27bdff6ce728647ec811df843ac235c32c293d6) ) - ROM_LOAD( "mw2.2e", 0x1000, 0x1000, CRC(1b6362be) SHA1(2fbd95869146adcc0c8be1df653251fda8849e8e) ) - ROM_LOAD( "mw2.2f", 0x2000, 0x1000, CRC(4fd8ba4b) SHA1(3da784267a96d05f66b00626a22cb3f06211d202) ) - ROM_LOAD( "mw2.2h", 0x3000, 0x1000, CRC(56879f0d) SHA1(d1e9932863aebc5761e71fca8d24f3c400e1250d) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "mw2.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) ) - ROM_LOAD( "mw2.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "mw2.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) ) - ROM_LOAD( "mw2.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "mw2.clr", 0x0000, 0x0020, CRC(99614c6c) SHA1(f068985f3c5e0cd88551a02c32f9baeabfd50241) ) -ROM_END - -ROM_START( moonwara ) - ROM_REGION( 0x10000, REGION_CPU1, 0 ) - ROM_LOAD( "2c", 0x0000, 0x1000, CRC(bc20b734) SHA1(c6fe550987d0052979aad43c67aa1b9248049669) ) - ROM_LOAD( "2e", 0x1000, 0x1000, CRC(db6ffec2) SHA1(0fcd55b1e415e2e7041d10778052a235251f85fe) ) - ROM_LOAD( "2f", 0x2000, 0x1000, CRC(378931b8) SHA1(663f1eea9b0e8dc38de818df66c5211dac41c33b) ) - ROM_LOAD( "2h", 0x3000, 0x1000, CRC(031dbc2c) SHA1(5f2ca8b8763398bf161ee0c2c748a12d36cb40ec) ) - - ROM_REGION( 0x10000, REGION_CPU2, 0 ) - ROM_LOAD( "mw2.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) ) - ROM_LOAD( "mw2.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) ) - - ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) - ROM_LOAD( "mw2.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) ) - ROM_LOAD( "mw2.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) ) - - ROM_REGION( 0x0020, REGION_PROMS, 0 ) - ROM_LOAD( "moonwara.clr", 0x0000, 0x0020, CRC(f58d4f58) SHA1(12a80d1edf3c80dafa0e1e3622d2a03224b62f14) ) /* olive, instead of white */ -ROM_END - ROM_START( darkplnt ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) @@ -1935,8 +1806,6 @@ ROM_END GAME( 1981, stratgyx, 0, stratgyx, stratgyx, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE ) GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, stratgyx, ROT0, "[Konami] (Stern license)", "Strategy X (Stern)", GAME_SUPPORTS_SAVE ) -GAME( 1981, moonwar, 0, moonwar, moonwar, moonwar, ROT90, "Stern", "Moonwar", GAME_SUPPORTS_SAVE ) -GAME( 1981, moonwara, moonwar, moonwar, moonwara, moonwar, ROT90, "Stern", "Moonwar (older)", GAME_SUPPORTS_SAVE ) GAME( 1982, darkplnt, 0, darkplnt, darkplnt, darkplnt, ROT180, "Stern", "Dark Planet", GAME_SUPPORTS_SAVE ) GAME( 1982, tazmani2, tazmania, type2, tazmania, tazmani2, ROT90, "Stern", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE ) GAME( 1983, anteatg, anteater, anteatg, anteatg, scramble_ppi, ROT90, "TV-Tuning (F.E.G. license)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h index 78903c890d1..fbef500f8d2 100644 --- a/src/mame/includes/galaxian.h +++ b/src/mame/includes/galaxian.h @@ -34,6 +34,7 @@ extern UINT8 galaxian_sprite_clip_start; extern UINT8 galaxian_sprite_clip_end; PALETTE_INIT( galaxian ); +PALETTE_INIT( moonwar ); VIDEO_START( galaxian ); VIDEO_UPDATE( galaxian ); diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h index 930545eba2a..bb6e540182c 100644 --- a/src/mame/includes/galaxold.h +++ b/src/mame/includes/galaxold.h @@ -31,7 +31,6 @@ extern UINT8 galaxold_stars_on; PALETTE_INIT( galaxold ); PALETTE_INIT( scrambold ); -PALETTE_INIT( moonwar ); PALETTE_INIT( darkplnt ); PALETTE_INIT( rescue ); PALETTE_INIT( minefld ); @@ -154,7 +153,6 @@ READ8_HANDLER( gmgalax_input_port_2_r ); extern const ppi8255_interface scramble_ppi_ppi8255_intf[2]; extern const ppi8255_interface stratgyx_ppi8255_intf[2]; -extern const ppi8255_interface moonwar_ppi8255_intf[2]; extern const ppi8255_interface darkplnt_ppi8255_intf[2]; extern const ppi8255_interface scramble_ppi8255_intf[2]; extern const ppi8255_interface ckongs_ppi8255_intf[2]; @@ -176,7 +174,6 @@ DRIVER_INIT( devilfsh ); DRIVER_INIT( mars ); DRIVER_INIT( hotshock ); DRIVER_INIT( cavelon ); -DRIVER_INIT( moonwar ); DRIVER_INIT( darkplnt ); DRIVER_INIT( mimonkey ); DRIVER_INIT( mimonsco ); diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c index 6065b7c93a9..a14bd6eff76 100644 --- a/src/mame/machine/scramble.c +++ b/src/mame/machine/scramble.c @@ -12,8 +12,6 @@ #include "machine/8255ppi.h" #include "includes/galaxold.h" -static UINT8 moonwar_port_select; - static UINT8 cavelon_bank; static UINT8 security_2B_counter; @@ -76,25 +74,6 @@ static READ8_HANDLER( ckongs_input_port_2_r ) } -static WRITE8_HANDLER( moonwar_port_select_w ) -{ - moonwar_port_select = data & 0x10; -} - -static READ8_HANDLER( moonwar_input_port_0_r ) -{ - UINT8 sign; - UINT8 delta; - - delta = (moonwar_port_select ? input_port_read_indexed(machine, 3) : input_port_read_indexed(machine, 4)); - - sign = (delta & 0x80) >> 3; - delta &= 0x0f; - - return ((input_port_read_indexed(machine, 0) & 0xe0) | delta | sign ); -} - - /* the coinage DIPs are spread accross two input ports */ static READ8_HANDLER( stratgyx_input_port_2_r ) { @@ -265,27 +244,6 @@ const ppi8255_interface stratgyx_ppi8255_intf[2] = }; -const ppi8255_interface moonwar_ppi8255_intf[2] = -{ - { - moonwar_input_port_0_r, /* Port A read */ - input_port_1_r, /* Port B read */ - input_port_2_r, /* Port C read */ - NULL, /* Port A write */ - NULL, /* Port B write */ - moonwar_port_select_w /* Port C write */ - }, - { - NULL, /* Port A read */ - NULL, /* Port B read */ - NULL, /* Port C read */ - soundlatch_w, /* Port A write */ - scramble_sh_irqtrigger_w, /* Port B write */ - NULL /* Port C write */ - } -}; - - const ppi8255_interface darkplnt_ppi8255_intf[2] = { { @@ -525,10 +483,7 @@ DRIVER_INIT( cavelon ) state_save_register_global(cavelon_bank); } -DRIVER_INIT( moonwar ) -{ - state_save_register_global(moonwar_port_select); -} + DRIVER_INIT( darkplnt ) { diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c index 101b3ab08a6..d03f0b41cef 100644 --- a/src/mame/video/galaxian.c +++ b/src/mame/video/galaxian.c @@ -423,8 +423,15 @@ PALETTE_INIT( galaxian ) bullet_color[7] = MAKE_RGB(0xff,0xff,0x00); } +PALETTE_INIT( moonwar ) +{ + PALETTE_INIT_CALL(galaxian); + /* wire mod to connect the bullet blue output to the 220 ohm resistor */ + bullet_color[7] = MAKE_RGB(0xef,0xef,0x97); +} + /************************************* * * Common video init diff --git a/src/mame/video/galaxold.c b/src/mame/video/galaxold.c index 54ced0eab24..f34e39c4fb1 100644 --- a/src/mame/video/galaxold.c +++ b/src/mame/video/galaxold.c @@ -211,14 +211,6 @@ PALETTE_INIT( scrambold ) palette_set_color(machine,BACKGROUND_COLOR_BASE,MAKE_RGB(0,0,0x56)); } -PALETTE_INIT( moonwar ) -{ - PALETTE_INIT_CALL(scrambold); - - - /* wire mod to connect the bullet blue output to the 220 ohm resistor */ - palette_set_color(machine,BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0xef,0x97)); -} PALETTE_INIT( stratgyx ) {