diff options
author | hap <happppp@users.noreply.github.com> | 2017-07-27 21:00:45 +0200 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2017-07-27 21:01:07 +0200 |
commit | ee6f952f19640177ddeaa4efe9ddb397a5c7c51c (patch) | |
tree | e388991e3e347df2fd6c505ad881a76c9d97d030 | |
parent | 1aef6917a2dd00f47413929f7fc9676844a77b66 (diff) |
added flag for imperfect timing (nw)
-rw-r--r-- | src/emu/device.h | 3 | ||||
-rw-r--r-- | src/emu/gamedrv.h | 4 | ||||
-rw-r--r-- | src/frontend/mame/info.cpp | 5 | ||||
-rw-r--r-- | src/frontend/mame/ui/info.cpp | 3 | ||||
-rw-r--r-- | src/frontend/mame/ui/selgame.cpp | 5 | ||||
-rw-r--r-- | src/mame/drivers/fidel6502.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/fidel68k.cpp | 4 |
7 files changed, 19 insertions, 9 deletions
diff --git a/src/emu/device.h b/src/emu/device.h index de321265908..1f645777d60 100644 --- a/src/emu/device.h +++ b/src/emu/device.h @@ -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 }; }; diff --git a/src/emu/gamedrv.h b/src/emu/gamedrv.h index ed2814a8b9d..655301acd04 100644 --- a/src/emu/gamedrv.h +++ b/src/emu/gamedrv.h @@ -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 diff --git a/src/frontend/mame/info.cpp b/src/frontend/mame/info.cpp index 9d2963c68c9..a6d63c34847 100644 --- a/src/frontend/mame/info.cpp +++ b/src/frontend/mame/info.cpp @@ -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) diff --git a/src/frontend/mame/ui/info.cpp b/src/frontend/mame/ui/info.cpp index 14eb59a3135..415489f6e79 100644 --- a/src/frontend/mame/ui/info.cpp +++ b/src/frontend/mame/ui/info.cpp @@ -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 diff --git a/src/frontend/mame/ui/selgame.cpp b/src/frontend/mame/ui/selgame.cpp index 3ae33d00d03..891003a9ac6 100644 --- a/src/frontend/mame/ui/selgame.cpp +++ b/src/frontend/mame/ui/selgame.cpp @@ -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"))); diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp index 8b0eb2453b7..04ccac69501 100644 --- a/src/mame/drivers/fidel6502.cpp +++ b/src/mame/drivers/fidel6502.cpp @@ -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 ) diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp index 8149546be99..a8b736a8a94 100644 --- a/src/mame/drivers/fidel68k.cpp +++ b/src/mame/drivers/fidel68k.cpp @@ -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 ) |