mirror of
https://github.com/holub/mame
synced 2025-07-06 10:29:38 +03:00
added flag for imperfect timing (nw)
This commit is contained in:
parent
1aef6917a2
commit
ee6f952f19
@ -90,9 +90,10 @@ struct device_feature
|
||||
PRINTER = u32(1) << 10,
|
||||
LAN = u32(1) << 11,
|
||||
WAN = u32(1) << 12,
|
||||
TIMING = u32(1) << 13,
|
||||
|
||||
NONE = u32(0),
|
||||
ALL = (u32(1) << 13) - 1U
|
||||
ALL = (u32(1) << 14) - 1U
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -88,6 +88,7 @@ constexpr u64 MACHINE_IMPERFECT_CONTROLS = 0x00000040'00000000; // cont
|
||||
constexpr u64 MACHINE_NODEVICE_MICROPHONE = 0x00000080'00000000; // any game/system that has unemulated audio capture device
|
||||
constexpr u64 MACHINE_NODEVICE_PRINTER = 0x00000100'00000000; // any game/system that has unemulated hardcopy output device
|
||||
constexpr u64 MACHINE_NODEVICE_LAN = 0x00000200'00000000; // any game/system that has unemulated local networking
|
||||
constexpr u64 MACHINE_IMPERFECT_TIMING = 0x00000400'00000000; // timing is known to be imperfectly emulated
|
||||
|
||||
// useful combinations of flags
|
||||
constexpr u64 MACHINE_IS_SKELETON = MACHINE_NO_SOUND | MACHINE_NOT_WORKING; // flag combination for skeleton drivers
|
||||
@ -145,7 +146,8 @@ public:
|
||||
((flags & MACHINE_IMPERFECT_COLORS) ? device_t::feature::PALETTE : device_t::feature::NONE) |
|
||||
((flags & MACHINE_IMPERFECT_GRAPHICS) ? device_t::feature::GRAPHICS : device_t::feature::NONE) |
|
||||
((flags & MACHINE_IMPERFECT_SOUND) ? device_t::feature::SOUND : device_t::feature::NONE) |
|
||||
((flags & MACHINE_IMPERFECT_CONTROLS) ? device_t::feature::CONTROLS : device_t::feature::NONE);
|
||||
((flags & MACHINE_IMPERFECT_CONTROLS) ? device_t::feature::CONTROLS : device_t::feature::NONE) |
|
||||
((flags & MACHINE_IMPERFECT_TIMING) ? device_t::feature::TIMING : device_t::feature::NONE);
|
||||
}
|
||||
|
||||
device_type type; // static type info for driver class
|
||||
|
@ -156,7 +156,7 @@ const char info_xml_creator::s_dtd_string[] =
|
||||
"\t\t\t<!ATTLIST driver protection (good|imperfect|preliminary) #IMPLIED>\n"
|
||||
"\t\t\t<!ATTLIST driver savestate (supported|unsupported) #REQUIRED>\n"
|
||||
"\t\t<!ELEMENT feature EMPTY>\n"
|
||||
"\t\t\t<!ATTLIST feature type (protection|palette|graphics|sound|controls|keyboard|mouse|microphone|camera|disk|printer|lan|wan) #REQUIRED>\n"
|
||||
"\t\t\t<!ATTLIST feature type (protection|palette|graphics|sound|controls|keyboard|mouse|microphone|camera|disk|printer|lan|wan|timing) #REQUIRED>\n"
|
||||
"\t\t\t<!ATTLIST feature status (unemulated|imperfect) #IMPLIED>\n"
|
||||
"\t\t\t<!ATTLIST feature overall (unemulated|imperfect) #IMPLIED>\n"
|
||||
"\t\t<!ELEMENT device (instance*, extension*)>\n"
|
||||
@ -1597,7 +1597,8 @@ void info_xml_creator::output_features(device_type type, device_t::feature_type
|
||||
{ device_t::feature::DISK, "disk" },
|
||||
{ device_t::feature::PRINTER, "printer" },
|
||||
{ device_t::feature::LAN, "lan" },
|
||||
{ device_t::feature::WAN, "wan" } };
|
||||
{ device_t::feature::WAN, "wan" },
|
||||
{ device_t::feature::TIMING, "timing" } };
|
||||
|
||||
device_t::feature_type const flags(type.unemulated_features() | type.imperfect_features() | unemulated | imperfect);
|
||||
for (auto const &feature : features)
|
||||
|
@ -38,7 +38,8 @@ constexpr std::pair<device_t::feature_type, char const *> FEATURE_NAMES[] = {
|
||||
{ device_t::feature::DISK, __("disk") },
|
||||
{ device_t::feature::PRINTER, __("printer") },
|
||||
{ device_t::feature::LAN, __("LAN") },
|
||||
{ device_t::feature::WAN, __("WAN") } };
|
||||
{ device_t::feature::WAN, __("WAN") },
|
||||
{ device_t::feature::TIMING, __("timing") } };
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
@ -1273,6 +1273,11 @@ void menu_select_game::general_info(const game_driver *driver, std::string &buff
|
||||
else if (flags.imperfect_features() & device_t::feature::WAN)
|
||||
str << _("WAN\tImperfect\n");
|
||||
|
||||
if (flags.unemulated_features() & device_t::feature::TIMING)
|
||||
str << _("Timing\tUnimplemented\n");
|
||||
else if (flags.imperfect_features() & device_t::feature::TIMING)
|
||||
str << _("Timing\tImperfect\n");
|
||||
|
||||
util::stream_format(str, _("Mechanical Machine\t%1$s\n"), ((flags.machine_flags() & machine_flags::MECHANICAL) ? _("Yes") : _("No")));
|
||||
util::stream_format(str, _("Requires Artwork\t%1$s\n"), ((flags.machine_flags() & machine_flags::REQUIRES_ARTWORK) ? _("Yes") : _("No")));
|
||||
util::stream_format(str, _("Requires Clickable Artwork\t%1$s\n"), ((flags.machine_flags() & machine_flags::CLICKABLE_ARTWORK) ? _("Yes") : _("No")));
|
||||
|
@ -2368,8 +2368,8 @@ CONS( 1982, fscc9b, fscc9, 0, sc9b, sc9, fidel6502_state, 0,
|
||||
CONS( 1982, fscc9c, fscc9, 0, sc9c, sc9c, fidel6502_state, 0, "Fidelity Electronics", "Sensory Chess Challenger 9 (rev. C)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1983, fscc9ps, fscc9, 0, playmatic, playmatic, fidel6502_state, 0, "Fidelity Electronics", "Sensory 9 Playmatic 'S'", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) // Fidelity West Germany
|
||||
|
||||
CONS( 1984, fscc12, 0, 0, sc12, sc12, fidel6502_state, 0, "Fidelity Electronics", "Sensory Chess Challenger 12", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1984, fscc12b, fscc12, 0, sc12b, sc12b, fidel6502_state, 0, "Fidelity Electronics", "Sensory Chess Challenger 12-B", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1984, fscc12, 0, 0, sc12, sc12, fidel6502_state, 0, "Fidelity Electronics", "Sensory Chess Challenger 12", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
|
||||
CONS( 1984, fscc12b, fscc12, 0, sc12b, sc12b, fidel6502_state, 0, "Fidelity Electronics", "Sensory Chess Challenger 12-B", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
|
||||
|
||||
CONS( 1987, fexcel, 0, 0, fexcelb, fexcelb, fidel6502_state, 0, "Fidelity Electronics", "The Excellence (model 6080B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1987, fexcelv, fexcel, 0, fexcelv, fexcelv, fidel6502_state, 0, "Fidelity Electronics", "Voice Excellence", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
|
@ -582,5 +582,5 @@ CONS( 1989, feagv2, 0, 0, eag, eag, fidel68k_state, eag, "Fidel
|
||||
CONS( 1989, feagv2a, feagv2, 0, eag, eag, fidel68k_state, eag, "Fidelity Electronics", "Elite Avant Garde (model 6114-2/3/4, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1990, feagv7, feagv2, 0, eagv7, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-7)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1990, feagv9, feagv2, 0, eagv9, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-9)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1990, feagv10, feagv2, 0, eagv10, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 2002, feagv11, feagv2, 0, eagv11, eag, fidel68k_state, 0, "hack (Wilfried Bucke)", "Elite Avant Garde (model 6117-11)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1990, feagv10, feagv2, 0, eagv10, eag, fidel68k_state, 0, "Fidelity Electronics", "Elite Avant Garde (model 6117-10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
|
||||
CONS( 2002, feagv11, feagv2, 0, eagv11, eag, fidel68k_state, 0, "hack (Wilfried Bucke)", "Elite Avant Garde (model 6117-11)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS | MACHINE_IMPERFECT_TIMING )
|
||||
|
Loading…
Reference in New Issue
Block a user