diff --git a/hash/ggm.xml b/hash/ggm.xml index 3fb1411f69f..2e827b3dc86 100644 --- a/hash/ggm.xml +++ b/hash/ggm.xml @@ -17,7 +17,7 @@ license:CC0-1.0 - + @@ -37,6 +37,33 @@ license:CC0-1.0 + + Capablanca-S Edition: Master Chess Endgame + 1982 + Applied Concepts + + + + + + + + + + + + Las Vegas 21: Master Blackjack + 1980 + Applied Concepts + + + + + + + + + Morphy Edition: Master Chess 1981 diff --git a/src/mame/appliedconcepts/ggm.cpp b/src/mame/appliedconcepts/ggm.cpp index c3c712435ec..f0a3f4843ac 100644 --- a/src/mame/appliedconcepts/ggm.cpp +++ b/src/mame/appliedconcepts/ggm.cpp @@ -31,15 +31,20 @@ Known chess cartridges (*denotes not dumped): - Steinitz Edition-4: Master Chess - *Monitor Edition: Master Kriegspiel +The newer revisions of Gruenfeld and Capablanca did not have any version label visible +on the module, though the German distributor Sandy Electronic sold them (and offered +an upgrade service) as Gruenfeld-S and Capablanca-S. + Other games: -- *Borchek Edition: Master Checkers - *Odin Edition: Master Reversi -- *Las Vegas 21 +- Las Vegas 21: Master Blackjack +- *Borchek: Championship Checkers - *Wits End (unreleased?) - *Lunar Lander (unreleased?) TODO: - confirm display AP segment, is it used anywhere? +- lasvegas overlay ******************************************************************************/ diff --git a/src/mame/handheld/hh_hmcs40.cpp b/src/mame/handheld/hh_hmcs40.cpp index a6ea777bc27..86c799fb8a1 100644 --- a/src/mame/handheld/hh_hmcs40.cpp +++ b/src/mame/handheld/hh_hmcs40.cpp @@ -114,8 +114,8 @@ TODO: - kevtris's HMCS40 ROM dumps are incomplete, missing MCU factory test code from the 2nd half of the ROM, none of the games access it though and it's impossible to execute unless the chip is in testmode. -- Though very uncommon when compared to games with LED/lamp display, some - games may manipulate VFD plate brightness by strobing it longer/shorter, +- Though very uncommon when compared to games with LED/lamp display, some games + may deliberately change VFD plate brightness by strobing it longer/shorter, eg. cgalaxn when a ship explodes. - bzaxxon 3D effect is difficult to simulate - improve/redo SVG for: bzaxxon, bbtime diff --git a/src/mame/handheld/hh_pic16.cpp b/src/mame/handheld/hh_pic16.cpp index f08846807f6..cf303ab09f8 100644 --- a/src/mame/handheld/hh_pic16.cpp +++ b/src/mame/handheld/hh_pic16.cpp @@ -69,6 +69,7 @@ TODO: #include "speaker.h" +// netlist #include "nl_sfxphasor.h" // internal artwork diff --git a/src/mame/handheld/hh_sm510.cpp b/src/mame/handheld/hh_sm510.cpp index 7afef0819a7..3bd072ad25f 100644 --- a/src/mame/handheld/hh_sm510.cpp +++ b/src/mame/handheld/hh_sm510.cpp @@ -1436,6 +1436,8 @@ ROM_END MC-25 and EG-26 are the same game, it's assumed that the latter was for regions where Nintendo wasn't able to license from Disney. +---------------------------------------------------------------------------- + In 1984, Электроника (Elektronika, USSR) released an unlicensed clone: Ну, погоди! (Nu, pogodi!). This was followed by several other titles that were the same under the hood, only differing in graphics. They also made a diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp index 55c7f10396b..49b0ee11bef 100644 --- a/src/mame/handheld/hh_tms1k.cpp +++ b/src/mame/handheld/hh_tms1k.cpp @@ -224,6 +224,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm #include "screen.h" #include "speaker.h" +// netlist #include "nl_bship.h" // internal artwork @@ -2217,7 +2218,7 @@ class h2hbaskb_state : public hh_tms1k_state public: h2hbaskb_state(const machine_config &mconfig, device_type type, const char *tag) : hh_tms1k_state(mconfig, type, tag), - m_cap_empty_timer(*this, "cap_empty") + m_cap_discharge(*this, "cap_discharge") { } void h2hbaskb(machine_config &config); @@ -2227,9 +2228,7 @@ protected: virtual void machine_start() override; private: - required_device m_cap_empty_timer; - TIMER_DEVICE_CALLBACK_MEMBER(cap_empty_callback); - bool m_cap_state = false; + required_device m_cap_discharge; attotime m_cap_charge = attotime::zero; void update_display(); @@ -2243,18 +2242,11 @@ void h2hbaskb_state::machine_start() hh_tms1k_state::machine_start(); // register for savestates - save_item(NAME(m_cap_state)); save_item(NAME(m_cap_charge)); } // handlers -TIMER_DEVICE_CALLBACK_MEMBER(h2hbaskb_state::cap_empty_callback) -{ - if (~m_r & 0x200) - m_cap_state = false; -} - void h2hbaskb_state::update_display() { // R6,R7 are commons for R0-R5 @@ -2276,12 +2268,10 @@ void h2hbaskb_state::write_r(u32 data) // R9: K8 and 15uF cap to V- (used as timer) // rising edge, remember the time if (data & ~m_r & 0x200) - { - m_cap_state = true; m_cap_charge = machine().time(); - } + // falling edge, determine how long K8 should stay up - if (~data & m_r & 0x200) + else if (~data & m_r & 0x200) { const attotime full = attotime::from_usec(1300); // approx. charge time const int factor = 27; // approx. factor for charge/discharge to logic 0 @@ -2290,7 +2280,7 @@ void h2hbaskb_state::write_r(u32 data) if (charge > full) charge = full; - m_cap_empty_timer->adjust(charge * factor); + m_cap_discharge->adjust(charge * factor); } // R0-R7: led select @@ -2308,7 +2298,8 @@ void h2hbaskb_state::write_o(u16 data) u8 h2hbaskb_state::read_k() { // K1-K4: multiplexed inputs, K8: R9 and capacitor - return (read_inputs(4) & 7) | (m_cap_state ? 8 : 0); + u8 cap_state = (m_r & 0x200 || m_cap_discharge->enabled()) ? 8 : 0; + return (read_inputs(4) & 7) | cap_state; } // config @@ -2355,7 +2346,7 @@ void h2hbaskb_state::h2hbaskb(machine_config &config) m_maincpu->write_r().set(FUNC(h2hbaskb_state::write_r)); m_maincpu->write_o().set(FUNC(h2hbaskb_state::write_o)); - TIMER(config, "cap_empty").configure_generic(FUNC(h2hbaskb_state::cap_empty_callback)); + TIMER(config, "cap_discharge").configure_generic(nullptr); // video hardware PWM_DISPLAY(config, m_display).set_size(6+6, 7); diff --git a/src/mame/handheld/monty.cpp b/src/mame/handheld/monty.cpp index 8a2718a167a..b70eed73381 100644 --- a/src/mame/handheld/monty.cpp +++ b/src/mame/handheld/monty.cpp @@ -81,15 +81,13 @@ private: u8 input_r(offs_t offset); DECLARE_WRITE_LINE_MEMBER(halt_changed) { m_halt = state; } - u64 m_lcd_data[32]; + u64 m_lcd_data[32] = { }; int m_lcd_cs = 0; int m_halt = 0; }; void monty_state::machine_start() { - memset(m_lcd_data, 0, sizeof(m_lcd_data)); - save_item(NAME(m_lcd_data)); save_item(NAME(m_lcd_cs)); save_item(NAME(m_halt)); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 31dac99bee4..a0a91d0100b 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -7487,18 +7487,18 @@ m4przmc__d // m4przmc__e // m4przmc__f // m4przmc__g // -m4przmc__h // -m4przmc__i // -m4przmc__j // -m4przmc__k // -m4przmc__l // -m4przmc__m // -m4przmc__n // -m4przmc__o // -m4przmc__p // -m4przmc__q // -m4przmc__r // -m4przmc__s // +m4przmc__h // +m4przmc__i // +m4przmc__j // +m4przmc__k // +m4przmc__l // +m4przmc__m // +m4przmc__n // +m4przmc__o // +m4przmc__p // +m4przmc__q // +m4przmc__r // +m4przmc__s // m4przsss // Prize Spend Spend Spend (Barcrest) m4przsss__0 // m4przsss__1 // @@ -7921,16 +7921,16 @@ v4bulblxb v4bulblxc v4cmaze // The Crystal Maze (v1.3) v4cmaze2 // The New Crystal Maze Featuring Ocean Zone -v4cmaze2_amld // +v4cmaze2_amld // v4cmaze2b // v4cmaze2c // v4cmaze2d // v4cmaze3 // The Crystal Maze Team Challenge -v4cmaze3_amld // +v4cmaze3_amld // v4cmaze3b // v4cmaze3c // v4cmaze3d // -v4cmaze_amld // +v4cmaze_amld // v4cmazeb // v4cmazec // v4cmazed // @@ -7997,7 +7997,7 @@ v4gldrsh3 v4mate // The Mating Game v4mated // v4mazbel // Mazooma Belle -v4mazbel15 // +v4mazbel15 // v4mazbel15a v4mdice // Miami Dice v4mdicea @@ -8024,7 +8024,7 @@ v4mdiceu v4mdicev v4mdicew v4mdice5 -v4mdiceger // Miami Dice +v4mdiceger // Miami Dice v4mdice6 v4megbuk // Megabucks Poker v4megbuka @@ -8103,10 +8103,10 @@ v4picdil // Piccadilly Night v4picdila v4picdilz v4psi // Prize Space Invaders -v4psibc // -v4psi14 // +v4psibc // +v4psi14 // v4psibcd // -v4psid // +v4psid // v4psi14a // v4pztet // Prize Tetris v4pzteta @@ -26527,7 +26527,7 @@ scrpionda // (c) 1997 Merit Industries, Inc. scrpiondb // (c) 1993 Merit Industries, Inc. @source:merit/meritsdx.cpp -scrpndx // +scrpndx // @source:merit/mgames.cpp mgames // (c) 1981 Merit @@ -30683,7 +30683,7 @@ odyssey // (c) Silicon Gaming. @source:misc/oneshot.cpp maddonna // (c) 1995 Tuning -komocomo // +komocomo // maddonnab // (c) 1995 Tuning oneshot // no copyright notice @@ -36346,7 +36346,7 @@ rollr_l2 // rollr_l3 // rollr_p2 // rvrbt_l3 // -rvrbt_p7 // +rvrbt_p7 // strax_p7 // @source:pinball/sam.cpp @@ -40158,7 +40158,7 @@ zombraidpj // (c) 1995 Sammy Industries Co.,Ltd. @source:seta/seta2.cpp ablast // (c) 2000 Subsino -ablastb //bootleg +ablastb // bootleg deerhunt // (c) 2000 Sammy USA Corporation deerhunta // (c) 2000 Sammy USA Corporation deerhuntb // (c) 2000 Sammy USA Corporation @@ -40554,7 +40554,7 @@ ts2068 // 1983 TS2068 uk2086 // 1986 UK2086 @source:sinclair/tsconf.cpp -tsconf // ZX Evolution - TS-Configuration +tsconf // ZX Evolution - TS-Configuration @source:sinclair/zx.cpp lambda // Lambda 8300 @@ -43176,18 +43176,18 @@ tehkanwch // (c) 1986 (hack) @source:tecmo/wc90.cpp pac90 // bootleg -twcup90 // (c) 1989 Tecmo -twcup90a // (c) 1989 Tecmo -twcup90b // (c) 1989 Tecmo -twcup90c // (c) 1989 Tecmo -twcup90t // (c) 1989 Tecmo +twcup90 // (c) 1989 Tecmo +twcup90a // (c) 1989 Tecmo +twcup90b // (c) 1989 Tecmo +twcup90c // (c) 1989 Tecmo +twcup90t // (c) 1989 Tecmo @source:tecmo/wc90b.cpp -twcup90b1 // bootleg -twcup90b2 // bootleg -twcup90ba // bootleg -twcup90bb // bootleg -eurogael // bootleg +twcup90b1 // bootleg +twcup90b2 // bootleg +twcup90ba // bootleg +twcup90bb // bootleg +eurogael // bootleg @source:tektronix/tek405x.cpp tek4051 // diff --git a/src/mame/taito/gladiatr.cpp b/src/mame/taito/gladiatr.cpp index c2c6d710a44..4fc089771ca 100644 --- a/src/mame/taito/gladiatr.cpp +++ b/src/mame/taito/gladiatr.cpp @@ -1385,7 +1385,6 @@ void gladiatr_state::init_gladiatr() // sort data std::swap_ranges(rom + 0x14000, rom + 0x18000, rom + 0x18000); - rom = memregion("gfx3")->base(); // unpack 3bpp graphics for (int j = 5; j >= 0; j--) @@ -1461,5 +1460,5 @@ void ppking_state::init_ppking() GAME( 1985, ppking, 0, ppking, ppking, ppking_state, init_ppking, ROT90, "Taito America Corporation", "Ping-Pong King", MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL | MACHINE_NODEVICE_LAN ) GAME( 1986, gladiatr, 0, gladiatr, gladiatr, gladiatr_state, init_gladiatr, ROT0, "Allumer / Taito America Corporation", "Gladiator (US)", MACHINE_SUPPORTS_SAVE ) GAME( 1986, ogonsiro, gladiatr, gladiatr, gladiatr, gladiatr_state, init_gladiatr, ROT0, "Allumer / Taito Corporation", "Ougon no Shiro (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, greatgur, gladiatr, greatgur, gladiatr, gladiatr_state, init_gladiatr, ROT0, "Allumer / Taito Corporation", "Great Gurianos (Japan?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1986, greatgur, gladiatr, greatgur, gladiatr, gladiatr_state, init_gladiatr, ROT0, "Allumer / Taito Corporation", "Great Gurianos (bootleg?)", MACHINE_SUPPORTS_SAVE ) GAME( 1986, gcastle, gladiatr, gladiatr, gladiatr, gladiatr_state, init_gladiatr, ROT0, "Allumer / Taito Corporation", "Golden Castle (prototype?)", MACHINE_SUPPORTS_SAVE ) // incomplete dump diff --git a/src/mame/ussr/im01.cpp b/src/mame/ussr/im01.cpp index 195290b34bf..1808406f167 100644 --- a/src/mame/ussr/im01.cpp +++ b/src/mame/ussr/im01.cpp @@ -101,8 +101,6 @@ CТА: - - Enter Move namespace { -// ИМ-01 / shared - class im01_state : public driver_device { public: @@ -121,6 +119,7 @@ public: protected: virtual void machine_start() override; +private: // devices/pointers required_device m_maincpu; required_device m_display;