mirror of
https://github.com/holub/mame
synced 2025-06-22 20:38:50 +03:00
Misc. validation fixes (nw)
- Make single-driver command-line validation work again - Correct some fruit machine driver classes - Remove some now-redundant checks related to device name validity (including the slot test, which also made assumptions that some ti99 bus devices now break)
This commit is contained in:
parent
e735009690
commit
38a077b1c5
@ -1816,15 +1816,7 @@ void validity_checker::validate_devices()
|
||||
|
||||
// look for duplicates
|
||||
if (!device_map.insert(device.tag()).second)
|
||||
osd_printf_error("Multiple devices with the same tag '%s' defined\n", device.tag());
|
||||
|
||||
// all devices must have a shortname
|
||||
if (strcmp(device.shortname(), "") == 0)
|
||||
osd_printf_error("Device does not have short name defined\n");
|
||||
|
||||
// all devices must have a source file defined
|
||||
if (strcmp(device.source(), "") == 0)
|
||||
osd_printf_error("Device does not have source file location defined\n");
|
||||
osd_printf_error("Multiple devices with the same tag defined\n");
|
||||
|
||||
// check for device-specific validity check
|
||||
device.validity_check(*this);
|
||||
@ -1832,31 +1824,6 @@ void validity_checker::validate_devices()
|
||||
// done with this device
|
||||
m_current_device = nullptr;
|
||||
}
|
||||
|
||||
// if device is slot cart device, we must have a shortname
|
||||
std::unordered_set<std::string> slot_device_map;
|
||||
for (const device_slot_interface &slot : slot_interface_iterator(m_current_config->root_device()))
|
||||
{
|
||||
for (auto &option : slot.option_list())
|
||||
{
|
||||
std::string temptag("_");
|
||||
temptag.append(option.second->name());
|
||||
device_t *dev = const_cast<machine_config &>(*m_current_config).device_add(&m_current_config->root_device(), temptag.c_str(), option.second->devtype(), 0);
|
||||
|
||||
// notify this device and all its subdevices that they are now configured
|
||||
for (device_t &device : device_iterator(*dev))
|
||||
if (!device.configured())
|
||||
device.config_complete();
|
||||
|
||||
if (strcmp(dev->shortname(), "") == 0) {
|
||||
if (slot_device_map.insert(dev->name()).second)
|
||||
osd_printf_error("Device '%s' is slot cart device but does not have short name defined\n", dev->name());
|
||||
}
|
||||
|
||||
const_cast<machine_config &>(*m_current_config).device_remove(&m_current_config->root_device(), temptag.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -79,7 +79,7 @@ const options_entry cli_option_entries[] =
|
||||
/* core commands */
|
||||
{ nullptr, nullptr, OPTION_HEADER, "CORE COMMANDS" },
|
||||
{ CLICOMMAND_HELP ";h;?", "0", OPTION_COMMAND, "show help message" },
|
||||
{ CLICOMMAND_VALIDATE ";valid", "0", OPTION_COMMAND, "perform driver validation on all game drivers" },
|
||||
{ CLICOMMAND_VALIDATE ";valid", "0", OPTION_COMMAND, "perform driver validation on game drivers" },
|
||||
|
||||
/* configuration commands */
|
||||
{ nullptr, nullptr, OPTION_HEADER, "CONFIGURATION COMMANDS" },
|
||||
@ -1378,8 +1378,8 @@ void cli_frontend::execute_commands(const char *exename)
|
||||
{
|
||||
validity_checker valid(m_options);
|
||||
valid.set_validate_all(true);
|
||||
const char *sysname = m_options.system_name();
|
||||
bool result = valid.check_all_matching((sysname[0] == 0) ? nullptr : sysname);
|
||||
const char *sysname = m_options.command_arguments().empty() ? nullptr : m_options.command_arguments()[0].c_str();
|
||||
bool result = valid.check_all_matching(sysname);
|
||||
if (!result)
|
||||
throw emu_fatalerror(EMU_ERR_FAILED_VALIDITY, "Validity check failed (%d errors, %d warnings in total)\n", valid.errors(), valid.warnings());
|
||||
return;
|
||||
|
@ -51442,11 +51442,11 @@ GAMEL( 200?, sc4cashg ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma /
|
||||
/****************************************************************************************************************************************************************************************************************/
|
||||
|
||||
|
||||
GAMEL( 200?, ad4skill ,0, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Skill Dice (BFM) (Scorpion 4 + Adder 4)", MACHINE_FLAGS, layout_bfm_sc4 )
|
||||
GAMEL( 200?, ad4film ,0, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 1)", MACHINE_FLAGS, layout_bfm_sc4 ) // the 68k vectors differ from usual, but it contains the expected strings for an Adder 4 title. No main program roms tho? :/
|
||||
GAMEL( 200?, ad4filma ,ad4film, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 2)", MACHINE_FLAGS, layout_bfm_sc4 ) // ^^
|
||||
GAMEL( 200?, ad4ctl ,0, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 1)", MACHINE_FLAGS, layout_bfm_sc4 )
|
||||
GAMEL( 200?, ad4ctla ,ad4ctl, sc4_adder4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 2)", MACHINE_FLAGS, layout_bfm_sc4 )
|
||||
GAMEL( 200?, ad4skill ,0, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Skill Dice (BFM) (Scorpion 4 + Adder 4)", MACHINE_FLAGS, layout_bfm_sc4 )
|
||||
GAMEL( 200?, ad4film ,0, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 1)", MACHINE_FLAGS, layout_bfm_sc4 ) // the 68k vectors differ from usual, but it contains the expected strings for an Adder 4 title. No main program roms tho? :/
|
||||
GAMEL( 200?, ad4filma ,ad4film, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 2)", MACHINE_FLAGS, layout_bfm_sc4 ) // ^^
|
||||
GAMEL( 200?, ad4ctl ,0, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 1)", MACHINE_FLAGS, layout_bfm_sc4 )
|
||||
GAMEL( 200?, ad4ctla ,ad4ctl, sc4_adder4, sc4, sc4_adder4_state, sc4, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 2)", MACHINE_FLAGS, layout_bfm_sc4 )
|
||||
// PR1036 CLUB COP THE LOT PR1036 CLOT SOUNDS11 COP THE LOT
|
||||
// shows nothing on the VFD, but boots (to very little)
|
||||
GAMEL( 200?, sc4ctlcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 1)", MACHINE_FLAGS, layout_bfm_sc4 )
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user