static void debugmain_init(running_machine &machine) { win_i *dmain; dmain = add_win_i(machine, WIN_TYPE_MAIN); dmain->win = create_debugmain(); dmain->views[0] = DVIEW(lookup_widget(dmain->win, "console")); dmain->views[1] = DVIEW(lookup_widget(dmain->win, "disasm")); dmain->views[2] = DVIEW(lookup_widget(dmain->win, "registers")); dview_set_debug_view(dmain->views[0], machine, DVT_CONSOLE); dview_set_debug_view(dmain->views[1], machine, DVT_DISASSEMBLY); dview_set_debug_view(dmain->views[2], machine, DVT_STATE); edit_init(&dmain->ed, lookup_widget(dmain->win, "edit"), 0, 0, debugmain_process_string, dmain); /* set up disasm view */ downcast<debug_view_disasm *>(dmain->views[1]->view)->set_expression("curpc"); // debug_view_set_property_UINT32(dmain->disasm, DVP_DASM_TRACK_LIVE, 1); g_signal_connect(dmain->win, "destroy", G_CALLBACK(debugmain_destroy), dmain); gtk_widget_show_all(dmain->win); }
static void debugmain_init(running_machine *machine) { dmain = malloc(sizeof(*dmain)); memset(dmain, 0, sizeof(*dmain)); dmain->win = create_debugmain(machine); dmain->cpu = NULL; dmain->machine = machine; dmain->console_w = DVIEW(lookup_widget(dmain->win, "console")); dmain->disasm_w = DVIEW(lookup_widget(dmain->win, "disasm")); dmain->registers_w = DVIEW(lookup_widget(dmain->win, "registers")); dview_set_debug_view(dmain->console_w, machine, DVT_CONSOLE, &dmain->console); dview_set_debug_view(dmain->disasm_w, machine, DVT_DISASSEMBLY, &dmain->disasm); dview_set_debug_view(dmain->registers_w, machine, DVT_REGISTERS, &dmain->registers); edit_init(machine, &dmain->ed, lookup_widget(dmain->win, "edit"), 0, 0, debugmain_process_string, &dmain); debug_view_begin_update(dmain->disasm); disasm_view_set_expression(dmain->disasm, "curpc"); // debug_view_set_property_UINT32(dmain->disasm, DVP_DASM_TRACK_LIVE, 1); debug_view_end_update(dmain->disasm); g_signal_connect(dmain->win, "destroy", G_CALLBACK(debugmain_destroy), dmain); g_signal_connect(lookup_widget(dmain->win, "raw_opcodes"), "activate", G_CALLBACK(debugmain_raw_opcodes_activate), dmain); g_signal_connect(lookup_widget(dmain->win, "enc_opcodes"), "activate", G_CALLBACK(debugmain_enc_opcodes_activate), dmain); g_signal_connect(lookup_widget(dmain->win, "comments"), "activate", G_CALLBACK(debugmain_comments_activate), dmain); gtk_widget_show_all(dmain->win); }
static void disasmwin_new(running_machine *machine) { disasmwin_i *dis; int item, cursel; const device_config *curcpu = debug_cpu_get_visible_cpu(machine); const disasm_subview_item *subview; char title[256]; dis = malloc(sizeof(*dis)); memset(dis, 0, sizeof(*dis)); dis->next = disasmwin_list; disasmwin_list = dis; dis->win = create_disasmwin(machine); dis->machine = machine; dis->disasm_w = DVIEW(lookup_widget(dis->win, "disasmview")); dview_set_debug_view(dis->disasm_w, machine, DVT_DISASSEMBLY, &dis->disasm); dis->cpu_w = GTK_COMBO_BOX(lookup_widget(dis->win, "cpu")); edit_init(machine, &dis->ed, lookup_widget(dis->win, "edit"), "curpc", 1, disasmwin_process_string, dis); debug_view_begin_update(dis->disasm); disasm_view_set_expression(dis->disasm, "curpc"); // debug_view_set_property_UINT32(dis->disasm, DVP_DASM_TRACK_LIVE, 1); debug_view_end_update(dis->disasm); // populate the combobox cursel = item = 0; for (subview = disasm_view_get_subview_list(dis->disasm); subview != NULL; subview = subview->next) { gtk_combo_box_append_text(dis->cpu_w, subview->name); if (cursel == 0 && subview->space->cpu == curcpu) cursel = item; item++; } gtk_combo_box_set_active(dis->cpu_w, cursel); disasm_view_set_subview(dis->disasm, cursel); subview = disasm_view_get_current_subview(dis->disasm); sprintf(title, "Disassembly: %s", subview->name); gtk_window_set_title(GTK_WINDOW(dis->win), title); g_signal_connect(dis->cpu_w, "changed", G_CALLBACK(disasmwin_cpu_changed), dis); g_signal_connect(lookup_widget(dis->win, "raw_opcodes"), "activate", G_CALLBACK(disasmwin_raw_opcodes_activate), dis); g_signal_connect(lookup_widget(dis->win, "enc_opcodes"), "activate", G_CALLBACK(disasmwin_enc_opcodes_activate), dis); g_signal_connect(lookup_widget(dis->win, "comments"), "activate", G_CALLBACK(disasmwin_comments_activate), dis); // g_signal_connect(dis->edit_w, "activate", G_CALLBACK(disasmwin_process_string), dis); g_signal_connect(dis->win, "destroy", G_CALLBACK(disasmwin_destroy), dis); gtk_widget_show_all(dis->win); }
static void memorywin_new(running_machine *machine) { memorywin_i *mem; int item, cursel; const device_config *curcpu = debug_cpu_get_visible_cpu(machine); const memory_subview_item *subview; mem = malloc(sizeof(*mem)); memset(mem, 0, sizeof(*mem)); mem->next = memorywin_list; memorywin_list = mem; mem->win = create_memorywin(machine); mem->machine = machine; mem->memory_w = DVIEW(lookup_widget(mem->win, "memoryview")); dview_set_debug_view(mem->memory_w, machine, DVT_MEMORY, &mem->memory); mem->zone_w = GTK_COMBO_BOX(lookup_widget(mem->win, "zone")); edit_init(machine, &mem->ed, lookup_widget(mem->win, "edit"), "0", 1, memorywin_process_string, mem); debug_view_begin_update(mem->memory); memory_view_set_expression(mem->memory, "0"); debug_view_end_update(mem->memory); // populate the combobox if (!memorycombo) { cursel = item = 0; for (subview = memory_view_get_subview_list(mem->memory); subview != NULL; subview = subview->next) { gtk_combo_box_append_text(mem->zone_w, subview->name); if (cursel == 0 && subview->space != NULL && subview->space->cpu == curcpu) cursel = item; item++; } memory_view_set_subview(mem->memory, cursel); gtk_combo_box_set_active(mem->zone_w, cursel); } g_signal_connect(mem->zone_w, "changed", G_CALLBACK(memorywin_zone_changed), mem); g_signal_connect(lookup_widget(mem->win, "chunks_1"), "activate", G_CALLBACK(on_chunks_1_activate), mem); g_signal_connect(lookup_widget(mem->win, "chunks_2"), "activate", G_CALLBACK(on_chunks_2_activate), mem); g_signal_connect(lookup_widget(mem->win, "chunks_4"), "activate", G_CALLBACK(on_chunks_4_activate), mem); g_signal_connect(lookup_widget(mem->win, "reverse"), "activate", G_CALLBACK(on_reverse_activate), mem); g_signal_connect(lookup_widget(mem->win, "ibpl"), "activate", G_CALLBACK(on_ibpl_activate), mem); g_signal_connect(lookup_widget(mem->win, "dbpl"), "activate", G_CALLBACK(on_dbpl_activate), mem); g_signal_connect(mem->win, "destroy", G_CALLBACK(memorywin_destroy), mem); gtk_widget_show_all(mem->win); }
static void logwin_new(running_machine &machine) { win_i *log; log = add_win_i(machine, WIN_TYPE_LOG); log->win = create_logwin(); log->views[0] = DVIEW(lookup_widget(log->win, "logview")); dview_set_debug_view(log->views[0], machine, DVT_LOG); g_signal_connect(log->win, "destroy", G_CALLBACK(logwin_destroy), log); gtk_widget_show_all(log->win); }
static void logwin_new(running_machine *machine) { logwin_i *log; log = malloc(sizeof(*log)); memset(log, 0, sizeof(*log)); log->next = logwin_list; logwin_list = log; log->win = create_logwin(machine); log->machine = machine; log->log_w = DVIEW(lookup_widget(log->win, "logview")); dview_set_debug_view(log->log_w, machine, DVT_LOG, &log->log); g_signal_connect(log->win, "destroy", G_CALLBACK(logwin_destroy), log); gtk_widget_show_all(log->win); }
static void disasmwin_new(running_machine &machine) { win_i *dis; int item; //, cursel; device_t *curcpu = debug_cpu_get_visible_cpu(machine); GtkComboBox *cpu_w; astring title; dis = add_win_i(machine, WIN_TYPE_DISASM); dis->win = create_disasmwin(); dis->views[0] = DVIEW(lookup_widget(dis->win, "disasmview")); dview_set_debug_view(dis->views[0], machine, DVT_DISASSEMBLY); cpu_w = GTK_COMBO_BOX(lookup_widget(dis->win, "cpu")); edit_init(&dis->ed, lookup_widget(dis->win, "edit"), "curpc", 1, disasmwin_process_string, dis); downcast<debug_view_disasm *>(dis->views[0]->view)->set_expression("curpc"); // populate the combobox // cursel = 0; item = 0; for (const debug_view_source *source = dis->views[0]->view->source_list().head(); source != NULL; source = source->next()) { gtk_combo_box_append_text(cpu_w, source->name()); item++; } const debug_view_source *source = dis->views[0]->view->source_list().match_device(curcpu); gtk_combo_box_set_active(cpu_w, dis->views[0]->view->source_list().index(*source)); dis->views[0]->view->set_source(*source); title.printf("Disassembly: %s", source->name()); gtk_window_set_title(GTK_WINDOW(dis->win), title); g_signal_connect(cpu_w, "changed", G_CALLBACK(disasmwin_cpu_changed), dis); // g_signal_connect(dis->edit_w, "activate", G_CALLBACK(disasmwin_process_string), dis); g_signal_connect(dis->win, "destroy", G_CALLBACK(disasmwin_destroy), dis); gtk_widget_show_all(dis->win); }
static void memorywin_new(running_machine &machine) { win_i *mem; int item; //, cursel; device_t *curcpu = debug_cpu_get_visible_cpu(machine); GtkComboBox * zone_w; mem = add_win_i(machine, WIN_TYPE_MEMORY); mem->win = create_memorywin(); mem->views[0] = DVIEW(lookup_widget(mem->win, "memoryview")); dview_set_debug_view(mem->views[0], machine, DVT_MEMORY); zone_w = GTK_COMBO_BOX(lookup_widget(mem->win, "zone")); edit_init(&mem->ed, lookup_widget(mem->win, "edit"), "0", 1, memorywin_process_string, mem); downcast<debug_view_memory *>(mem->views[0]->view)->set_expression("0"); // populate the combobox // cursel = 0; item = 0; for (const debug_view_source *source = mem->views[0]->view->source_list().head(); source != NULL; source = source->next()) { gtk_combo_box_append_text(zone_w, source->name()); item++; } const debug_view_source *source = mem->views[0]->view->source_list().match_device(curcpu); gtk_combo_box_set_active(zone_w, mem->views[0]->view->source_list().index(*source)); mem->views[0]->view->set_source(*source); g_signal_connect(zone_w, "changed", G_CALLBACK(memorywin_zone_changed), mem); g_signal_connect(mem->win, "destroy", G_CALLBACK(memorywin_destroy), mem); gtk_widget_show_all(mem->win); }