From faf2c387df2d56237a50642cfeae17693329e546 Mon Sep 17 00:00:00 2001 From: David Haywood <28625134+DavidHaywood@users.noreply.github.com> Date: Mon, 14 Feb 2022 16:31:34 +0000 Subject: new WORKING machine (#9301) ----- The Tower (DECO Cassette) (Europe?) [Darksoft, Senil Data Systems] --- src/mame/drivers/decocass.cpp | 50 ++++++++++++++++++++++++++++++++++++++++--- src/mame/mame.lst | 1 + 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp index d37ded4e522..972a80097cf 100644 --- a/src/mame/drivers/decocass.cpp +++ b/src/mame/drivers/decocass.cpp @@ -343,6 +343,35 @@ static INPUT_PORTS_START( cprogolf ) /* Switches 6, 7 & 8 are listed as "Country Code" A through F and "Don't Change" */ INPUT_PORTS_END +static INPUT_PORTS_START( ctower ) + PORT_INCLUDE( decocass ) + + PORT_MODIFY("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_RIGHT ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_LEFT ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_UP ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_DOWN ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_RIGHT ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_LEFT ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_UP ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_DOWN ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_RIGHT ) PORT_COCKTAIL + PORT_BIT( 0x02, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_LEFT ) PORT_COCKTAIL + PORT_BIT( 0x04, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_UP ) PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH,IPT_JOYSTICKRIGHT_DOWN ) PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_RIGHT ) PORT_COCKTAIL + PORT_BIT( 0x20, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_LEFT ) PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_UP ) PORT_COCKTAIL + PORT_BIT( 0x80, IP_ACTIVE_HIGH,IPT_JOYSTICKLEFT_DOWN ) PORT_COCKTAIL + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1") + PORT_DIPSETTING( 0x01, "2" ) + PORT_DIPSETTING( 0x00, "4" ) +INPUT_PORTS_END + static INPUT_PORTS_START( cdsteljn ) PORT_INCLUDE( decocass ) @@ -1346,7 +1375,7 @@ void decocass_type3_state::cfghtice(machine_config &config) /* rms8.7e, New boardset bios, country code D */ \ #define DECOCASS_BIOS_D_MAINCPU \ - ROM_SYSTEM_BIOS( 4, "d", "Bios D (unknown region)" ) \ + ROM_SYSTEM_BIOS( 4, "d", "Bios D (Europe?)" ) \ ROM_LOAD_BIOS( 4, "v0d-.7e", 0xf000, 0x1000, CRC(1e0c22b1) SHA1(5fec8fef500bbebc13d0173406afc55235d3affb) ) /* handcrafted (single byte changed) because ctisland3 requires region D */ #define DECOCASS_BIOS_D_AUDIOCPU \ ROM_LOAD_BIOS( 4, "v1-.5a", 0xf800, 0x0800, CRC(b66b2c2a) SHA1(0097f38beb4872e735e560148052e258a26b08fd) ) /* from RMS-8 board: 2716 eprom @5A w/V1- label, contains audio cpu code */ @@ -1469,6 +1498,21 @@ ROM_START( castfant ) ROM_LOAD( "castfant.cas", 0x0000, 0x8000, CRC(6d77d1b5) SHA1(821bd65fbe887cbeac9281a2ad3f88595918f886) ) ROM_END +/* 08 The Tower */ +ROM_START( ctower ) // no copyright display? (possibly by design, as it lifts a lot from Crazy Climber) + DECOCASS_BIOS_D_ROMS + + ROM_REGION( 0x10000, "cassette", 0 ) /* (max) 64k for cassette image */ + ROM_LOAD( "ctower.cas", 0x0000, 0x6900, CRC(94ad1dd6) SHA1(d54691ad8802b63ff4533202d6e6b29d4652c4f6) ) + + /* this is handcrafted, it ends up being the same as ctisland3 but with the lower data and address lines + both swapped. ctisland3 is also handcrafted and could in turn just be a transformation of one of the + standard PROMs, the data order ends up being arbitrary for these handcrafted PROMs as there are + multiple places transformations could be occurring */ + ROM_REGION( 0x00020, "dongle", 0 ) /* dongle data */ + ROM_LOAD( "ctower.pro", 0x0000, 0x0020, CRC(32e9dcd7) SHA1(956b593911f6337008c375cda4dac43043d921dd) ) +ROM_END + /* 09 Super Astro Fighter */ ROM_START( csuperas ) DECOCASS_BIOS_B_ROMS @@ -2135,7 +2179,7 @@ void decocass_state::init_cdsteljn() /* 05 */ // 1981.?? Missile Sprinter /* 06 */ // 1980.12 Nebula /* 07 */ GAME( 1981, castfant, decocass, castfant, castfant, decocass_type1_state, init_decocass, ROT270, "Data East Corporation", "Astro Fantasia (DECO Cassette) (US)", 0 ) -/* 08 */ // 1981.03 The Tower +/* 08 */ GAME( 1981, ctower, decocass, cfboy0a1, ctower, decocass_type1_state, init_decocass, ROT270, "Data East Corporation", "The Tower (DECO Cassette) (Europe?)", 0 ) // 1981.03 The Tower (1981.02.04 in cassette data) /* 09 */ GAME( 1981, csuperas, decocass, csuperas, csuperas, decocass_type1_state, init_decocass, ROT270, "Data East Corporation", "Super Astro Fighter (DECO Cassette) (US)", 0 ) /* 10 */ GAME( 1981, cocean1a, decocass, cocean1a, cocean1a, decocass_type1_state, init_decocass, ROT270, "Data East Corporation", "Ocean to Ocean (Medal) (DECO Cassette MD) (No.10/Ver.1,Japan)", 0 ) /* no lever, 1P/2P buttons used to switch player, cocktail mode not emulated */ /* */ GAME( 1981, cocean6b, cocean1a, cocean1a, cocean1a, decocass_type1_state, init_decocass, ROT270, "Data East Corporation", "Ocean to Ocean (Medal) (DECO Cassette MD) (No.10/Ver.6,US)", 0 ) /* lever, 1P/2P buttons used to switch player, cocktail mode not emulated */ @@ -2148,7 +2192,7 @@ void decocass_state::init_cdsteljn() /* 15 */ GAME( 1981, cluckypo, decocass, cluckypo, cluckypo, decocass_type1_state, init_decocass, ROT270, "Data East Corporation", "Lucky Poker (DECO Cassette) (US)", 0 ) /* 16 */ GAME( 1981, ctisland, decocass, ctisland, ctisland, decocass_type1_state, init_decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette) (US) (set 1)", 0 ) /* */ GAME( 1981, ctisland2, ctisland, ctisland, ctisland, decocass_type1_state, init_decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette) (US) (set 2)", 0 ) /* newer? has instructions in attract */ -/* */ GAME( 1981, ctisland3, ctisland, ctisland3,ctisland, decocass_type1_state, init_decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette) (Region D)", 0 ) /* region code 'D' unknown region */ +/* */ GAME( 1981, ctisland3, ctisland, ctisland3,ctisland, decocass_type1_state, init_decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette) (Europe?)", 0 ) /* 17 */ // 1981.10 Bobbitto /* 18 */ GAME( 1982, cexplore, decocass, cexplore, cexplore, decocass_type1_state, init_decocrom, ROT270, "Data East Corporation", "Explorer (DECO Cassette) (US)", 0 ) /* 19 */ GAME( 1982, cdiscon1, decocass, decocass, cdiscon1, decocass_type2_state, init_decocass, ROT270, "Data East Corporation", "Disco No.1 (DECO Cassette) (US)", 0 ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 82df0e1b8fe..3466787b1e0 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12365,6 +12365,7 @@ ctisland // 16 1982.02 Treasure Island ctisland2 // 16 ctisland3 // 16 ctornado // 20 1982.05 Tornado +ctower // 1981.03 The Tower ctsttape // ? czeroize // 37 1983.10 Zeroize decocass // -- cgit v1.2.3