From 6d62d34e130b45024c7901a14b238db188cf2b17 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Thu, 25 Jul 2024 22:36:21 +0200 Subject: New clones marked not working ----------------------------- Hamburger House 9 [Taksangs, Charlie] --- src/mame/igs/goldstar.cpp | 48 +++++++++++++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 1 + src/mame/merit/merit3xx.cpp | 30 +++++++++++++--------------- src/mame/skeleton/boo.cpp | 13 ++++++------ 4 files changed, 70 insertions(+), 22 deletions(-) diff --git a/src/mame/igs/goldstar.cpp b/src/mame/igs/goldstar.cpp index 56c8ee68294..be2e7939837 100644 --- a/src/mame/igs/goldstar.cpp +++ b/src/mame/igs/goldstar.cpp @@ -452,6 +452,7 @@ public: void init_cmtetriskr(); void init_ll3(); void init_hamhouse(); + void init_hamhouse9(); void init_cmast91(); void init_cll(); void init_animalhs(); @@ -14535,6 +14536,39 @@ ROM_START( hamhouse ) ROM_LOAD( "atf16v8b.u35", 0x00200, 0x00117, CRC(a883a133) SHA1(d0b1ee535d60bffdc03a8ce94e6a0274ae6621d5) ) ROM_END +ROM_START( hamhouse9 ) // basically same PCB as above but this has standard PROMs + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "am27c512.u33", 0x00000, 0x10000, CRC(9d0653b6) SHA1(81a015b0b78c75f7c998064fa4eb337da19d0df0) ) + + ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_LOAD( "m27c256b.u28", 0x00000, 0x08000, CRC(e8d6be2b) SHA1(95ba907e4f969816638d5021606348d69a45fedc) ) + ROM_LOAD( "tms27c256.u42", 0x08000, 0x08000, CRC(f83d5131) SHA1(3848efd58e3c5a54a947de3a3ea4e96265cd8af8) ) + ROM_LOAD( "m27256.u43", 0x10000, 0x08000, CRC(a5105928) SHA1(ea3a4fb7a0ca3e14da001beb5aca03bfbd43410d) ) + + ROM_REGION( 0x08000, "gfx2", 0 ) + ROM_LOAD( "intel27128.u24", 0x00000, 0x02000, CRC(69ce2859) SHA1(68cb0c81a471d09f173d8534d94877f3f5c276f4) ) // 1ST AND 2ND HALF IDENTICAL + ROM_IGNORE( 0x2000 ) + ROM_LOAD( "hn4827128g.u26", 0x02000, 0x02000, CRC(6ba11862) SHA1(ce34727190689df8d591147dc342fe7bf230ce26) ) // 1ST AND 2ND HALF IDENTICAL + ROM_IGNORE( 0x2000 ) + ROM_LOAD( "am27c128.u10", 0x04000, 0x02000, CRC(69ce2859) SHA1(68cb0c81a471d09f173d8534d94877f3f5c276f4) ) // 1ST AND 2ND HALF IDENTICAL + ROM_IGNORE( 0x2000 ) + ROM_LOAD( "tms27c128.u11", 0x06000, 0x02000, CRC(61a17c65) SHA1(b1212c45c9c98aba50aeed6a38e17960f868ccd3) ) // 1ST AND 2ND HALF IDENTICAL + ROM_IGNORE( 0x2000 ) + + ROM_REGION( 0x10000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0x200, "proms", 0 ) + ROM_LOAD( "am27s21.u55", 0x0000, 0x0100, CRC(161d189e) SHA1(5e13133871522e5d4c295fa7a02727da95d74e44) ) + ROM_LOAD( "am27s21.u56", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) + + ROM_REGION( 0x100, "proms2", 0 ) + ROM_LOAD( "am27s21.u39", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) + + ROM_REGION( 0x400, "plds", ROMREGION_ERASE00 ) + ROM_LOAD( "atf16v8b.u15", 0x000, 0x117, CRC(9a62f369) SHA1(c027a7e3dc12506ed45ed936b9f650549651be4f) ) + ROM_LOAD( "atf16v8b.u35", 0x200, 0x117, CRC(a883a133) SHA1(d0b1ee535d60bffdc03a8ce94e6a0274ae6621d5) ) +ROM_END + /* New Lucky 8 Lines / New Super 8 Lines. @@ -20884,6 +20918,19 @@ void cmaster_state::init_hamhouse() m_palette->update(); } +void cmaster_state::init_hamhouse9() +{ + init_cmv4(); + + uint8_t *rom = memregion("maincpu")->base(); + std::vector buffer(0x10000); + + memcpy(&buffer[0], rom, 0x10000); + + for (int i = 0; i < 0x10000; i++) + rom[i] = buffer[bitswap<24>(i, 23, 22, 21, 20, 19, 18, 17, 16, 15, 13, 12, 14, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)]; +} + void cmaster_state::init_cmpacmanb() { uint8_t *rom = memregion("maincpu")->base(); @@ -22067,6 +22114,7 @@ GAMEL( 1991, srmagic, cmv4, cm, cmv4, cmaster_state, empty_ini GAMEL( 1991, cmv4zg, cmv4, cmv4zg, cmv4, cmaster_state, empty_init, ROT0, "hack", "Cherry Bonus III (Ziogas V4.1 hack, set 1)", MACHINE_NOT_WORKING, layout_cmv4 ) // needs correct I/O, maybe slightly protected GAMEL( 1991, cmv4zga, cmv4, cmv4zg, cmv4, cmaster_state, empty_init, ROT0, "hack", "Cherry Bonus III (Ziogas V4.1 hack, set 2)", MACHINE_NOT_WORKING, layout_cmv4 ) // needs correct I/O, maybe slightly protected GAMEL( 199?, hamhouse, cmaster, cm, cmaster, cmaster_state, init_hamhouse, ROT0, "bootleg", "Hamburger House", MACHINE_NOT_WORKING, layout_cmaster ) // needs correct I/O +GAMEL( 199?, hamhouse9, cmaster, cm, cmaster, cmaster_state, init_hamhouse9, ROT0, "bootleg", "Hamburger House 9", MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING, layout_cmaster ) // bad reel colors, needs correct I/O GAMEL( 1991, tonypok, 0, cm, tonypok, cmaster_state, init_tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 , layout_tonypok ) GAME( 1998, jkrmast, 0, jkrmast, jkrmast, goldstar_state, init_jkrmast, ROT0, "Pick-A-Party USA", "Joker Master 2000 Special Edition (V515)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_COLORS | MACHINE_NOT_WORKING ) // needs correct FG colors and controls diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 3b1ff17f965..6709762fdb3 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -20032,6 +20032,7 @@ goldfrui // bootleg goldstar // (c) 198? IGS goldstbl // (c) 198? IGS hamhouse // bootleg +hamhouse9 // bootleg jkrmast // (c) 199? unknown jkrmasta // (c) 199? unknown kkotnoli // 198? south korean hack diff --git a/src/mame/merit/merit3xx.cpp b/src/mame/merit/merit3xx.cpp index 262d689e4f1..39d3cd1e4bd 100644 --- a/src/mame/merit/merit3xx.cpp +++ b/src/mame/merit/merit3xx.cpp @@ -46,7 +46,7 @@ NOTE: From ma7558r4 set, U12 contains: "PERIOD RESET TO TEST TOUCHSCREEN" "BOOKS - TO CALIBRATE TOUCHSCREEN" "AUDIT KEY - TO EXIT" (another internal and unmapped button??) - The touchscreen is controlled through the Maxim MAX232CPE RS-232 on the CRT-352 rom board? + The touchscreen is controlled through the Maxim MAX232CPE RS-232 on the CRT-352 ROM board? =================================================================================================== @@ -245,7 +245,7 @@ Other: Dallas DS1225Y-200 8Kx8 NVRAM Dallas DS1230Y-200 32Kx8 NVRAM Dallas DS1216 2Kx8 SmartWatch RTC PC16550DN UART with FIFO clocked @ 1.84MHz - Maxim MAX232CPE RS-232 Line Transmitter/Reciver + Maxim MAX232CPE RS-232 Line Transmitter/Receiver 8 switch DIP switch block labeled SW1 (enable/disable games) Connectors: @@ -986,9 +986,8 @@ void merit3xx_state::main_map(address_map &map) { // map.unmap_value_high(); map(0x0000, 0x7fff).bankr("rombank"); - map(0x8000, 0x9fff).ram().share("nvram"); // TODO: reenable NVRAM, currently m6710a doesn't like it at all - // definitely accesses RAM here, would drop to "RAM error" with unmap high - map(0xa000, 0xbfff).ram(); + map(0x8000, 0x9fff).ram(); + map(0xa000, 0xbfff).ram().share("nvram"); map(0xc000, 0xdfff).ram().share("charram"); map(0xe000, 0xffff).ram().share("attrram"); } @@ -1020,7 +1019,7 @@ void merit3xx_state::crt352_io_map(address_map &map) map(0x20, 0x20).w(FUNC(merit3xx_state::crt352_rombank_w)); } -// currently geared towards 'Joker Poker' in ma6710a +// currently geared towards 'Video Poker' in general and also the m6710 "family" sets static INPUT_PORTS_START( merit3xx ) PORT_START("IN0") @@ -1101,7 +1100,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( ma6711 ) PORT_INCLUDE( merit3xx ) - PORT_MODIFY("IN1") + PORT_MODIFY("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Discard 1 / Double") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Discard 2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Discard 3 / Split") @@ -1111,8 +1110,8 @@ static INPUT_PORTS_START( ma6711 ) PORT_MODIFY("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // gives 1 credit at a time (25 cents) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) // gives 4 credits at a time ($1.00) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 2") PORT_CODE(KEYCODE_U) PORT_TOGGLE // Uknown what these 2 are but will give DOOR OPEN errors - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 3") PORT_CODE(KEYCODE_Y) PORT_TOGGLE // Uknown what these 2 are but will give DOOR OPEN errors + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 2") PORT_CODE(KEYCODE_U) PORT_TOGGLE // Unknown what these 2 are but will give DOOR OPEN errors + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 3") PORT_CODE(KEYCODE_Y) PORT_TOGGLE // Unknown what these 2 are but will give DOOR OPEN errors PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) // gives 4 credits at a time ($1.00) INPUT_PORTS_END @@ -1133,8 +1132,8 @@ static INPUT_PORTS_START( ma9800 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // gives 1 credit at a time (25 cents) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) // gives 4 credits at a time ($1.00) // PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_STAND ) // Button labeled BEFEJEZ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 2") PORT_CODE(KEYCODE_U) PORT_TOGGLE // Uknown what these 2 are but will give DOOR OPEN errors - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 3") PORT_CODE(KEYCODE_Y) PORT_TOGGLE // Uknown what these 2 are but will give DOOR OPEN errors + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 2") PORT_CODE(KEYCODE_U) PORT_TOGGLE // Unknown what these 2 are but will give DOOR OPEN errors + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Door 3") PORT_CODE(KEYCODE_Y) PORT_TOGGLE // Unknown what these 2 are but will give DOOR OPEN errors PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) // gives 4 credits at a time ($1.00) INPUT_PORTS_END @@ -1173,8 +1172,7 @@ void merit3xx_state::crt307(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &merit3xx_state::main_map); m_maincpu->set_addrmap(AS_IO, &merit3xx_state::crt307_io_map); - // TODO: reenable NVRAM, currently m6710a doesn't like it at all - //NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); i8255_device &ppi0(I8255(config, "ppi0")); ppi0.in_pa_callback().set_ioport("IN0"); @@ -1273,7 +1271,7 @@ ROM_END ROM_START( ma6711 ) // CRT-350 mainboard + CRT-307 rev A, coin hopper - no printer ROM_REGION(0x20000, "maincpu", 0) ROM_LOAD( "6711-14_r0a.u1", 0x00000, 0x10000, CRC(cfb47c33) SHA1(d1638dbc9f6cec159b1f638f92974798e7e93f0b) ) // English / French set - ROM_LOAD( "6711-14_r0a.u2", 0x10000, 0x10000, CRC(46d11f57) SHA1(ef5f45812429a662cd89df1d9b94dc96cbb2c531) ) // 6710-14 R0A 100692 + ROM_LOAD( "6711-14_r0a.u2", 0x10000, 0x10000, CRC(46d11f57) SHA1(ef5f45812429a662cd89df1d9b94dc96cbb2c531) ) // 6711-14 R0A 100692 ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "mltp_u46.u46", 0x00000, 0x10000, CRC(77d89071) SHA1(bf5207aaca2831cbc45734f8cd4ef2468cfd7191) ) @@ -1304,10 +1302,10 @@ ROM_START( ma9800 ) // CRT-350 mainboard + CRT-307 rev A, coin hopper - no print ROM_LOAD( "mltp_u47.u47", 0x10000, 0x10000, CRC(efdfad6a) SHA1(2f6d2a601f60351d3b5ff735a96bde1e11f2bb74) ) ROM_LOAD( "mltp_u48.u48", 0x20000, 0x10000, CRC(daeb9a0e) SHA1(d209ae3f802a5ceeb92e41ed71415629892bce91) ) - ROM_REGION( 0x2000, "nvram", 0 ) + ROM_REGION( 0x2000, "nvram", ROMREGION_ERASE00 ) ROM_LOAD( "dallas_ds1225y.u7", 0x0000, 0x2000, NO_DUMP ) - ROM_REGION( 0x8000, "nvram2", 0 ) + ROM_REGION( 0x8000, "nvram2", ROMREGION_ERASE00 ) ROM_LOAD( "dallas_ds1235yw.u6", 0x0000, 0x8000, NO_DUMP ) ROM_END diff --git a/src/mame/skeleton/boo.cpp b/src/mame/skeleton/boo.cpp index ae595fe77e2..432ef0e06a3 100644 --- a/src/mame/skeleton/boo.cpp +++ b/src/mame/skeleton/boo.cpp @@ -4,13 +4,14 @@ /* Boo 1000 by JK Amusement -PCB pic is very blurry. Components which could be identified: +Components which could be identified: Motorola MC68HC11A1 CPU Winbond WF19054 sound chip (AY-8910 compatible) -12 (?) MHz XTAL -Altera Max (exact type unreadable) -Altera Acex (exact type unreadable) +HM6264ALP-12 SRAM +16 MHz XTAL +Altera Max EPM7064 +Altera Acex EP1K50QC208-3 3x 8-DIP banks 4-DIP bank */ @@ -128,7 +129,7 @@ GFXDECODE_END void boo_state::boo(machine_config &config) { - MC68HC11A1(config, m_maincpu, 12_MHz_XTAL); // TODO: verify XTAL if better pics appear + MC68HC11A1(config, m_maincpu, 16_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &boo_state::program_map); // TODO: everything @@ -145,7 +146,7 @@ void boo_state::boo(machine_config &config) SPEAKER(config, "mono").front_center(); - AY8910(config, "ay", 12_MHz_XTAL / 12).add_route(ALL_OUTPUTS, "mono", 0.30); // clock and divisor not verified + AY8910(config, "ay", 16_MHz_XTAL / 16).add_route(ALL_OUTPUTS, "mono", 0.30); // divisor not verified } -- cgit v1.2.3