Skip to content

Commit

Permalink
New working software list items
Browse files Browse the repository at this point in the history
-------------------------------
ggm: Capablanca-S Edition: Master Chess Endgame, Las Vegas 21: Master Blackjack [Berger, Berger]
  • Loading branch information
happppp committed Jan 26, 2023
1 parent 383e09b commit 024bfb4
Show file tree
Hide file tree
Showing 10 changed files with 87 additions and 65 deletions.
29 changes: 28 additions & 1 deletion hash/ggm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ license:CC0-1.0
<dataarea name="rom" size="0x8000">
<rom name="007-7039-00" offset="0x4000" size="0x1000" crc="0db2e277" sha1="9f8823739d28b0a0e3857b7c672aa2514cd6816b" /> <!-- AMD AM9232CPC -->
<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" />
</dataarea>
</part>
Expand All @@ -37,6 +37,33 @@ license:CC0-1.0
</part>
</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">
<description>Morphy Edition: Master Chess</description>
<year>1981</year>
Expand Down
9 changes: 7 additions & 2 deletions src/mame/appliedconcepts/ggm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
******************************************************************************/

Expand Down
4 changes: 2 additions & 2 deletions src/mame/handheld/hh_hmcs40.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ ROM source notes when dumped from another title, but confident it's the same:
- 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
Expand Down
1 change: 1 addition & 0 deletions src/mame/handheld/hh_pic16.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ ROM source notes when dumped from another title, but confident it's the same:

#include "speaker.h"

// netlist
#include "nl_sfxphasor.h"

// internal artwork
Expand Down
2 changes: 2 additions & 0 deletions src/mame/handheld/hh_sm510.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
27 changes: 9 additions & 18 deletions src/mame/handheld/hh_tms1k.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand All @@ -2227,9 +2228,7 @@ class h2hbaskb_state : public hh_tms1k_state
virtual void machine_start() override;

private:
required_device<timer_device> m_cap_empty_timer;
TIMER_DEVICE_CALLBACK_MEMBER(cap_empty_callback);
bool m_cap_state = false;
required_device<timer_device> m_cap_discharge;
attotime m_cap_charge = attotime::zero;

void update_display();
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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);
Expand Down
4 changes: 1 addition & 3 deletions src/mame/handheld/monty.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,13 @@ class monty_state : public driver_device
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));
Expand Down
70 changes: 35 additions & 35 deletions src/mame/mame.lst
Original file line number Diff line number Diff line change
Expand Up @@ -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 //
Expand Down Expand Up @@ -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 //
Expand Down Expand Up @@ -7997,7 +7997,7 @@ v4gldrsh3
v4mate // The Mating Game
v4mated //
v4mazbel // Mazooma Belle
v4mazbel15 //
v4mazbel15 //
v4mazbel15a
v4mdice // Miami Dice
v4mdicea
Expand All @@ -8024,7 +8024,7 @@ v4mdiceu
v4mdicev
v4mdicew
v4mdice5
v4mdiceger // Miami Dice
v4mdiceger // Miami Dice
v4mdice6
v4megbuk // Megabucks Poker
v4megbuka
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -36346,7 +36346,7 @@ rollr_l2 //
rollr_l3 //
rollr_p2 //
rvrbt_l3 //
rvrbt_p7 //
rvrbt_p7 //
strax_p7 //

@source:pinball/sam.cpp
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 //
Expand Down
3 changes: 1 addition & 2 deletions src/mame/taito/gladiatr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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--)
Expand Down Expand Up @@ -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
3 changes: 1 addition & 2 deletions src/mame/ussr/im01.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,6 @@ CТА: - - Enter Move

namespace {

// ИМ-01 / shared

class im01_state : public driver_device
{
public:
Expand All @@ -121,6 +119,7 @@ class im01_state : public driver_device
protected:
virtual void machine_start() override;

private:
// devices/pointers
required_device<t11_device> m_maincpu;
required_device<pwm_display_device> m_display;
Expand Down

7 comments on commit 024bfb4

@happppp
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Berger, Berger] <-- that's not a typo :)

@cuavas
Copy link
Member

@cuavas cuavas commented on 024bfb4 Jan 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If multiple people are trying to go by the same name, that’s just going to confuse people. What purpose is this supposed to serve?

@happppp
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Part for fun, but definitely not a lie. Your question almost sounds offensive, as if people choose to have the same name?

@cuavas
Copy link
Member

@cuavas cuavas commented on 024bfb4 Jan 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These “names” used in credits are obviously aliases that people have chosen. People choosing identical or confusingly similar aliases has the potential to cause real problems when it comes to attribution. Consider how this could play out when it comes to licensing (e.g. some future relicensing effort, some third party attempting to obtain a license exemption, or license enforcement).

We had enough trouble with aliases when we trying to identify and contact rights holders when we migrated the project to Open Source/Free Software licenses, and that was without people going out of their way to make the situation confusing.

@happppp
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, so we have someone whose nickname is Berger and someone whose real name is Berger. And I just couldn't resist placing them together. You don't like the joke? Too bad.

About your licensing argument. Explain to me how Berger borrowing cartridges from Berger and then Berger dumping them, Berger sends the files to me. Then I update the driver, it's 100% my code. Which part of the source code is theirs?

@cuavas
Copy link
Member

@cuavas cuavas commented on 024bfb4 Jan 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not just thinking about this specific case – it’s the principle. Allowing contributors to use identical or confusingly similar aliases will inevitably lead to issues in the future.

@happppp
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MAME source copyright holders: yes.
Hundreds of people that contributed dumps: I don't mind. It's like: imagine a popular indie videogame, thousands of people contributed some money towards development, dev is nice and puts them in the end game credits. Will he allow identical names? Of course.

Please sign in to comment.