New working software list items

-------------------------------
ggm: Capablanca-S Edition: Master Chess Endgame, Las Vegas 21: Master Blackjack [Berger, Berger]
This commit is contained in:
hap 2023-01-26 19:29:59 +01:00
parent 383e09bf52
commit 024bfb4854
10 changed files with 87 additions and 65 deletions

View File

@ -17,7 +17,7 @@ license:CC0-1.0
<dataarea name="rom" size="0x8000"> <dataarea name="rom" size="0x8000">
<rom name="007-7039-00" offset="0x4000" size="0x1000" crc="0db2e277" sha1="9f8823739d28b0a0e3857b7c672aa2514cd6816b" /> <!-- AMD AM9232CPC --> <rom name="007-7039-00" offset="0x4000" size="0x1000" crc="0db2e277" sha1="9f8823739d28b0a0e3857b7c672aa2514cd6816b" /> <!-- AMD AM9232CPC -->
<rom offset="0x6000" size="0x1000" loadflag="reload" /> <rom offset="0x6000" size="0x1000" loadflag="reload" />
<rom name="007040xxx" offset="0x5000" size="0x1000" crc="980fa10f" sha1="5ec814bbaf583031acbe2c0199a6195c2849ef5e" /> <!-- Rockwell R3280-11 --> <rom name="0077040xxx" offset="0x5000" size="0x1000" crc="980fa10f" sha1="5ec814bbaf583031acbe2c0199a6195c2849ef5e" /> <!-- Rockwell R3280-11 -->
<rom offset="0x7000" size="0x1000" loadflag="reload" /> <rom offset="0x7000" size="0x1000" loadflag="reload" />
</dataarea> </dataarea>
</part> </part>
@ -37,6 +37,33 @@ license:CC0-1.0
</part> </part>
</software> </software>
<software name="capas" cloneof="capa">
<description>Capablanca-S Edition: Master Chess Endgame</description>
<year>1982</year>
<publisher>Applied Concepts</publisher>
<part name="cart" interface="ggm">
<feature name="overlay" value="0x02" />
<feature name="ram" value="1" /> <!-- HM6116LP-3 @ 0x800-0xfff -->
<dataarea name="rom" size="0x10000">
<rom name="capablanca-s.6" offset="0x6000" size="0x2000" crc="24ab74e0" sha1="473d91458db7f4c771f694934f95ed9d2ab5471a" /> <!-- M27C64A, both ROM labels identical -->
<rom name="capablanca-s.e" offset="0xe000" size="0x2000" crc="f42700e4" sha1="80cf7da34784865ff3e82b19c0aa269ef778df66" /> <!-- " -->
</dataarea>
</part>
</software>
<software name="lasvegas">
<description>Las Vegas 21: Master Blackjack</description>
<year>1980</year>
<publisher>Applied Concepts</publisher>
<part name="cart" interface="ggm">
<feature name="overlay" value="0x04" />
<dataarea name="rom" size="0x8000">
<rom name="0077042xxx" offset="0x5000" size="0x1000" crc="26541ac5" sha1="8a3304b4528570d23a7441629efa8de10c37f49e" /> <!-- Rockwell R32E9-11 -->
<rom offset="0x7000" size="0x1000" loadflag="reload" />
</dataarea>
</part>
</software>
<software name="morphy"> <software name="morphy">
<description>Morphy Edition: Master Chess</description> <description>Morphy Edition: Master Chess</description>
<year>1981</year> <year>1981</year>

View File

@ -31,15 +31,20 @@ Known chess cartridges (*denotes not dumped):
- Steinitz Edition-4: Master Chess - Steinitz Edition-4: Master Chess
- *Monitor Edition: Master Kriegspiel - *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: Other games:
- *Borchek Edition: Master Checkers
- *Odin Edition: Master Reversi - *Odin Edition: Master Reversi
- *Las Vegas 21 - Las Vegas 21: Master Blackjack
- *Borchek: Championship Checkers
- *Wits End (unreleased?) - *Wits End (unreleased?)
- *Lunar Lander (unreleased?) - *Lunar Lander (unreleased?)
TODO: TODO:
- confirm display AP segment, is it used anywhere? - confirm display AP segment, is it used anywhere?
- lasvegas overlay
******************************************************************************/ ******************************************************************************/

View File

@ -114,8 +114,8 @@ TODO:
- kevtris's HMCS40 ROM dumps are incomplete, missing MCU factory test code from - 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 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. to execute unless the chip is in testmode.
- Though very uncommon when compared to games with LED/lamp display, some - Though very uncommon when compared to games with LED/lamp display, some games
games may manipulate VFD plate brightness by strobing it longer/shorter, may deliberately change VFD plate brightness by strobing it longer/shorter,
eg. cgalaxn when a ship explodes. eg. cgalaxn when a ship explodes.
- bzaxxon 3D effect is difficult to simulate - bzaxxon 3D effect is difficult to simulate
- improve/redo SVG for: bzaxxon, bbtime - improve/redo SVG for: bzaxxon, bbtime

View File

@ -69,6 +69,7 @@ TODO:
#include "speaker.h" #include "speaker.h"
// netlist
#include "nl_sfxphasor.h" #include "nl_sfxphasor.h"
// internal artwork // internal artwork

View File

@ -1436,6 +1436,8 @@ ROM_END
MC-25 and EG-26 are the same game, it's assumed that the latter was for 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. regions where Nintendo wasn't able to license from Disney.
----------------------------------------------------------------------------
In 1984, Электроника (Elektronika, USSR) released an unlicensed clone: In 1984, Электроника (Elektronika, USSR) released an unlicensed clone:
Ну, погоди! (Nu, pogodi!). This was followed by several other titles that Ну, погоди! (Nu, pogodi!). This was followed by several other titles that
were the same under the hood, only differing in graphics. They also made a were the same under the hood, only differing in graphics. They also made a

View File

@ -224,6 +224,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
#include "screen.h" #include "screen.h"
#include "speaker.h" #include "speaker.h"
// netlist
#include "nl_bship.h" #include "nl_bship.h"
// internal artwork // internal artwork
@ -2217,7 +2218,7 @@ class h2hbaskb_state : public hh_tms1k_state
public: public:
h2hbaskb_state(const machine_config &mconfig, device_type type, const char *tag) : h2hbaskb_state(const machine_config &mconfig, device_type type, const char *tag) :
hh_tms1k_state(mconfig, type, 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); void h2hbaskb(machine_config &config);
@ -2227,9 +2228,7 @@ protected:
virtual void machine_start() override; virtual void machine_start() override;
private: private:
required_device<timer_device> m_cap_empty_timer; required_device<timer_device> m_cap_discharge;
TIMER_DEVICE_CALLBACK_MEMBER(cap_empty_callback);
bool m_cap_state = false;
attotime m_cap_charge = attotime::zero; attotime m_cap_charge = attotime::zero;
void update_display(); void update_display();
@ -2243,18 +2242,11 @@ void h2hbaskb_state::machine_start()
hh_tms1k_state::machine_start(); hh_tms1k_state::machine_start();
// register for savestates // register for savestates
save_item(NAME(m_cap_state));
save_item(NAME(m_cap_charge)); save_item(NAME(m_cap_charge));
} }
// handlers // handlers
TIMER_DEVICE_CALLBACK_MEMBER(h2hbaskb_state::cap_empty_callback)
{
if (~m_r & 0x200)
m_cap_state = false;
}
void h2hbaskb_state::update_display() void h2hbaskb_state::update_display()
{ {
// R6,R7 are commons for R0-R5 // 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) // R9: K8 and 15uF cap to V- (used as timer)
// rising edge, remember the time // rising edge, remember the time
if (data & ~m_r & 0x200) if (data & ~m_r & 0x200)
{
m_cap_state = true;
m_cap_charge = machine().time(); m_cap_charge = machine().time();
}
// falling edge, determine how long K8 should stay up // 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 attotime full = attotime::from_usec(1300); // approx. charge time
const int factor = 27; // approx. factor for charge/discharge to logic 0 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) if (charge > full)
charge = full; charge = full;
m_cap_empty_timer->adjust(charge * factor); m_cap_discharge->adjust(charge * factor);
} }
// R0-R7: led select // R0-R7: led select
@ -2308,7 +2298,8 @@ void h2hbaskb_state::write_o(u16 data)
u8 h2hbaskb_state::read_k() u8 h2hbaskb_state::read_k()
{ {
// K1-K4: multiplexed inputs, K8: R9 and capacitor // 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 // 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_r().set(FUNC(h2hbaskb_state::write_r));
m_maincpu->write_o().set(FUNC(h2hbaskb_state::write_o)); 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 // video hardware
PWM_DISPLAY(config, m_display).set_size(6+6, 7); PWM_DISPLAY(config, m_display).set_size(6+6, 7);

View File

@ -81,15 +81,13 @@ private:
u8 input_r(offs_t offset); u8 input_r(offs_t offset);
DECLARE_WRITE_LINE_MEMBER(halt_changed) { m_halt = state; } 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_lcd_cs = 0;
int m_halt = 0; int m_halt = 0;
}; };
void monty_state::machine_start() 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_data));
save_item(NAME(m_lcd_cs)); save_item(NAME(m_lcd_cs));
save_item(NAME(m_halt)); save_item(NAME(m_halt));

View File

@ -40158,7 +40158,7 @@ zombraidpj // (c) 1995 Sammy Industries Co.,Ltd.
@source:seta/seta2.cpp @source:seta/seta2.cpp
ablast // (c) 2000 Subsino ablast // (c) 2000 Subsino
ablastb //bootleg ablastb // bootleg
deerhunt // (c) 2000 Sammy USA Corporation deerhunt // (c) 2000 Sammy USA Corporation
deerhunta // (c) 2000 Sammy USA Corporation deerhunta // (c) 2000 Sammy USA Corporation
deerhuntb // (c) 2000 Sammy USA Corporation deerhuntb // (c) 2000 Sammy USA Corporation

View File

@ -1385,7 +1385,6 @@ void gladiatr_state::init_gladiatr()
// sort data // sort data
std::swap_ranges(rom + 0x14000, rom + 0x18000, rom + 0x18000); std::swap_ranges(rom + 0x14000, rom + 0x18000, rom + 0x18000);
rom = memregion("gfx3")->base(); rom = memregion("gfx3")->base();
// unpack 3bpp graphics // unpack 3bpp graphics
for (int j = 5; j >= 0; j--) 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( 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, 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, 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 GAME( 1986, gcastle, gladiatr, gladiatr, gladiatr, gladiatr_state, init_gladiatr, ROT0, "Allumer / Taito Corporation", "Golden Castle (prototype?)", MACHINE_SUPPORTS_SAVE ) // incomplete dump

View File

@ -101,8 +101,6 @@ CТА: - - Enter Move
namespace { namespace {
// ИМ-01 / shared
class im01_state : public driver_device class im01_state : public driver_device
{ {
public: public:
@ -121,6 +119,7 @@ public:
protected: protected:
virtual void machine_start() override; virtual void machine_start() override;
private:
// devices/pointers // devices/pointers
required_device<t11_device> m_maincpu; required_device<t11_device> m_maincpu;
required_device<pwm_display_device> m_display; required_device<pwm_display_device> m_display;