From eec46650ff2f53b4a52cbb073d6b5beb92d949c8 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 27 May 2020 21:35:47 +0200 Subject: [PATCH] New machines marked as NOT_WORKING ---------------------------------- High Roller [malcor] --- src/mame/drivers/galaxian.cpp | 109 ++++++++++++++++++++++++++++++++++ src/mame/includes/galaxian.h | 2 + src/mame/mame.lst | 1 + 3 files changed, 112 insertions(+) diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index caafede0388..76e1def1239 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -5898,6 +5898,37 @@ static INPUT_PORTS_START( victoryc ) PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +static INPUT_PORTS_START( highroll ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END /************************************* * @@ -6241,6 +6272,12 @@ void gmgalax_state::gmgalax(machine_config &config) m_palette->set_init(FUNC(gmgalax_state::galaxian_palette)); } +void galaxian_state::highroll(machine_config &config) +{ + galaxian(config); + + m_maincpu->set_addrmap(AS_OPCODES, &galaxian_state::moonqsr_decrypted_opcodes_map); +} void galaxian_state::mooncrst(machine_config &config) { @@ -7068,6 +7105,40 @@ void galaxian_state::init_galaxian() common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr); } +void galaxian_state::init_highroll() // possibly still something wrong? +{ + init_galaxian(); + + uint8_t *rom = memregion("maincpu")->base(); + + for (int i = 0; i < 0x4000; i++) + { + uint8_t x = rom[i]; + + switch(i & 0x03) + { + case 0x000: x = bitswap<8>(x, 1, 6, 7, 4, 5, 2, 3, 0); break; + case 0x001: x = bitswap<8>(x, 5, 6, 3, 4, 1, 2, 7, 0); break; + case 0x002: x = bitswap<8>(x, 3, 6, 1, 4, 7, 2, 5, 0); break; + case 0x003: x = bitswap<8>(x, 1, 6, 3, 4, 5, 2, 7, 0); break; + } + + m_decrypted_opcodes[i] = x; + } + + for (int i = 0; i < 0x4000; i++) + { + uint8_t x = rom[i]; + + switch(i & 0x01) + { + case 0x000: x = bitswap<8>(x, 3, 6, 1, 4, 5, 2, 7, 0); break; + case 0x001: x = bitswap<8>(x, 1, 6, 7, 4, 3, 2, 5, 0); break; + } + + rom[i] = x; + } +} void galaxian_state::init_nolock() { @@ -8458,6 +8529,43 @@ ROM_START( tst_galx ) ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) ROM_END +/* +Dumper's notes for High Roller + +Sub - Sub-board +CPU - Main PCB Sega 96753-P (79.12.20 0758A) +Hardware is very much like Galaxian +The CPU is a custom (potted) processor. A little like the +Sega Customs used on system 18 PCBs, etc (except it is not +based on a 68000). + +Due to poor potting, I was able to expose the custom. The +battery in the custom on my PCB is flat and as a result my +PCB does not work. Hence the unknown label of this archive. + +Custom CPU contains: Z80 CPU + HM4334P-4 SRAMs (x2) + PAL16L88CN + HCF4040 + LM393 + misc TTLs, LS00, LS32, LS138 + misc discrete components + battery (for the SRAMs) +*/ +ROM_START( highroll ) // even if the PCB is by Sega, copyright in game is 'Kne Wla'? + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "epr66", 0x0000, 0x1000, CRC(508ace44) SHA1(c7d830cf2ca0011c6e218240c46aa094c29ae083) ) + ROM_LOAD( "epr65", 0x1000, 0x1000, CRC(727129c3) SHA1(d4c92690b8f4f280f78eadd9290b2a349c4f9d0d) ) + ROM_LOAD( "epr64", 0x2000, 0x1000, CRC(f70ded8f) SHA1(a41f2b96f3ab93d1c22f09caa21c22258f12bc6b) ) + ROM_LOAD( "epr63", 0x3000, 0x1000, CRC(b0d2ec11) SHA1(1c226684fd869781a67bc533519c1db25d313fa3) ) + + ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_LOAD( "epra", 0x0000, 0x1000, CRC(7033c767) SHA1(df0adceb067ed158b9fa182b110e85e58ea851c5) ) + ROM_LOAD( "eprb", 0x1000, 0x1000, CRC(82cf2863) SHA1(4f7e94b43ee529b3ad7fd52f9adb742ca8690385) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "pr50", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END ROM_START( blkhole ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -13004,6 +13112,7 @@ GAME( 1980, luctoday, 0, galaxian, luctoday, galaxian_state, init_ GAME( 19??, chewing, luctoday, galaxian, luctoday, galaxian_state, init_galaxian, ROT90, "", "Chewing Gum", MACHINE_SUPPORTS_SAVE ) GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian_state, init_galaxian, ROT90, "MTM Games", "Catacomb", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) GAME( 19??, omegab, theend, galaxian, omegab, galaxian_state, init_galaxian, ROT270, "bootleg?", "Omega (bootleg?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, highroll, 0, highroll, highroll, galaxian_state, init_highroll, ROT90, "bootleg?", "High Roller", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // cards GFX messed up, no inputs, terrible sound, decryption needs verifying // Basic hardware + extra RAM GAME( 1982, victoryc, 0, victoryc, victoryc, galaxian_state, init_victoryc, ROT270, "Comsoft", "Victory (Comsoft)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h index 5279c61ae4d..8ef83768e6b 100644 --- a/src/mame/includes/galaxian.h +++ b/src/mame/includes/galaxian.h @@ -182,6 +182,7 @@ public: void init_azurian(); void init_pisces(); void init_batman2(); + void init_highroll(); void init_frogg(); void init_mooncrst(); void init_mooncrsu(); @@ -314,6 +315,7 @@ public: void pacmanbl(machine_config &config); void quaak(machine_config &config); void galaxian(machine_config &config); + void highroll(machine_config &config); void tenspot(machine_config &config); void froggers(machine_config &config); void froggervd(machine_config &config); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index cb95c798ba7..e805ec4eb71 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14098,6 +14098,7 @@ gteikoku // (c) Irem gteikokub // bootleg gteikokub2 // bootleg gteikokub3 // bootleg (Honly Enterprises) +highroll // jumpbug // (c) 1981 Rock-ola jumpbugb // (c) 1981 Sega jungsub // bootleg