diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2020-08-30 23:39:18 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2020-08-31 00:00:03 -0400 |
commit | 46071c487e97cf1faa014a853b032be91fd4b1e2 (patch) | |
tree | 36d0fdd8a93da1f1897a5c6341d2eab019a7dac4 /src/emu/debug/debugcpu.cpp | |
parent | 71bcb539fec9d90572e3170f751746465fd976b4 (diff) |
device_state_interface overhaul
- device_state_entry::value and device_state_entry::set_value now do everything except the register lookup, allowing them to be made public. The debugger expression engine now uses these.
- device_state_entry::dvalue and device_state_entry::set_dvalue have also been made public, theoretically permitting outside code layers to inspect and modify floating-point registers.
- The double specialization of device_pseudo_state_register (now renamed device_functional_state_register) has been added to the core.
- state_add now has an additional specialization that takes both a reference and a write function, using the former for reads only.
- state_max_length has been eliminated in favor of obtaining the relevant info through device_state_entry::max_length.
- The debugger state view no longer adds "flags" as "???" if none have been registered.
- set_state_string has been removed. It was never properly implemented, and it is difficult to see how it could have been done in a useful and consistent way.
- state_find_entry and its typical callers state_int and set_state_int have been inlined for some hopeful efficiency gains.
Diffstat (limited to 'src/emu/debug/debugcpu.cpp')
-rw-r--r-- | src/emu/debug/debugcpu.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/debug/debugcpu.cpp b/src/emu/debug/debugcpu.cpp index afdef1362d1..6dacf7acee1 100644 --- a/src/emu/debug/debugcpu.cpp +++ b/src/emu/debug/debugcpu.cpp @@ -513,8 +513,8 @@ device_debug::device_debug(device_t &device) strmakelower(tempstr.assign(entry->symbol())); m_symtable->add( tempstr.c_str(), - std::bind(&device_state_interface::state_int, m_state, entry->index()), - entry->writeable() ? std::bind(&device_state_interface::set_state_int, m_state, entry->index(), _1) : symbol_table::setter_func(nullptr), + std::bind(&device_state_entry::value, entry.get()), + entry->writeable() ? std::bind(&device_state_entry::set_value, entry.get(), _1) : symbol_table::setter_func(nullptr), entry->format_string()); } } |