debug_view_expression::debug_view_expression(running_machine &machine) : m_machine(machine) , m_dirty(true) , m_result(0) , m_parsed(machine.debugger().cpu().get_global_symtable()) , m_string("0") { }
cheat_manager::cheat_manager(running_machine &machine) : m_machine(machine), m_disabled(true), m_symtable(&machine) { // if the cheat engine is disabled, we're done if (!machine.options().cheat()) return; m_output.resize(UI_TARGET_FONT_ROWS*2); m_justify.resize(UI_TARGET_FONT_ROWS*2); // request a callback machine.add_notifier(MACHINE_NOTIFY_FRAME, machine_notify_delegate(&cheat_manager::frame_update, this)); // create a global symbol table m_symtable.add("frame", symbol_table::READ_ONLY, &m_framecount); m_symtable.add("frombcd", nullptr, 1, 1, execute_frombcd); m_symtable.add("tobcd", nullptr, 1, 1, execute_tobcd); // we rely on the debugger expression callbacks; if the debugger isn't // enabled, we must jumpstart them manually if ((machine.debug_flags & DEBUG_FLAG_ENABLED) == 0) { m_cpu = std::make_unique<debugger_cpu>(machine); m_cpu->configure_memory(m_symtable); } else { // configure for memory access (shared with debugger) machine.debugger().cpu().configure_memory(m_symtable); } // load the cheats reload(); }
debug_view_console::debug_view_console(running_machine &machine, debug_view_osd_update_func osdupdate, void *osdprivate) : debug_view_textbuf(machine, DVT_CONSOLE, osdupdate, osdprivate, *machine.debugger().console().get_console_textbuf()) { }
debug_view_log::debug_view_log(running_machine &machine, debug_view_osd_update_func osdupdate, void *osdprivate) : debug_view_textbuf(machine, DVT_LOG, osdupdate, osdprivate, *machine.debugger().console().get_errorlog_textbuf()) { }
void debug_none::wait_for_debugger(device_t &device, bool firststop) { m_machine->debugger().cpu().get_visible_cpu()->debug()->go(); }