Search
lxdream.org :: lxdream/src/gui/debug_win.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/gui/debug_win.c
changeset 45:f99236f0632e
prev43:0cf3e339cc59
next69:2e8634272a98
author nkeynes
date Mon Jan 02 14:49:51 2006 +0000 (18 years ago)
permissions -rw-r--r--
last change Fix SWI disassembly
file annotate diff log raw
1.1 --- a/src/gui/debug_win.c Mon Dec 26 11:47:15 2005 +0000
1.2 +++ b/src/gui/debug_win.c Mon Jan 02 14:49:51 2006 +0000
1.3 @@ -1,5 +1,5 @@
1.4 /**
1.5 - * $Id: debug_win.c,v 1.13 2005-12-26 11:47:15 nkeynes Exp $
1.6 + * $Id: debug_win.c,v 1.14 2005-12-27 08:41:22 nkeynes Exp $
1.7 * This file is responsible for the main debugger gui frame.
1.8 *
1.9 * Copyright (c) 2005 Nathan Keynes.
1.10 @@ -25,6 +25,8 @@
1.11 GdkColor *msg_colors[] = { &clrError, &clrError, &clrWarn, &clrNormal,
1.12 &clrDebug, &clrTrace };
1.13
1.14 +void init_register_list( debug_info_t data );
1.15 +
1.16 struct debug_info_struct {
1.17 int disasm_from;
1.18 int disasm_to;
1.19 @@ -234,28 +236,25 @@
1.20 }
1.21 }
1.22
1.23 -void debug_win_toggle_breakpoint( debug_info_t data, int row, int type )
1.24 +void debug_win_toggle_breakpoint( debug_info_t data, int row )
1.25 {
1.26 uint32_t pc = row_to_address( data, row );
1.27 int oldType = data->cpu->get_breakpoint( pc );
1.28 if( oldType != BREAK_NONE ) {
1.29 data->cpu->clear_breakpoint( pc, oldType );
1.30 - type = BREAK_NONE;
1.31 + gtk_clist_set_background( data->disasm_list, row, &clrWhite );
1.32 } else {
1.33 - if( data->cpu->set_breakpoint != NULL )
1.34 - data->cpu->set_breakpoint( pc, type );
1.35 + data->cpu->set_breakpoint( pc, BREAK_KEEP );
1.36 + gtk_clist_set_background( data->disasm_list, row, &clrBreak );
1.37 }
1.38 - switch(type) {
1.39 - case BREAK_ONESHOT:
1.40 - gtk_clist_set_background( data->disasm_list, row, &clrTempBreak );
1.41 - break;
1.42 - case BREAK_KEEP:
1.43 - gtk_clist_set_background( data->disasm_list, row, &clrBreak );
1.44 - break;
1.45 - default:
1.46 - gtk_clist_set_background( data->disasm_list, row, &clrWhite );
1.47 - break;
1.48 - }
1.49 +}
1.50 +
1.51 +void debug_win_set_oneshot_breakpoint( debug_info_t data, int row )
1.52 +{
1.53 + uint32_t pc = row_to_address( data, row );
1.54 + data->cpu->clear_breakpoint( pc, BREAK_ONESHOT );
1.55 + data->cpu->set_breakpoint( pc, BREAK_ONESHOT );
1.56 + gtk_clist_set_background( data->disasm_list, row, &clrTempBreak );
1.57 }
1.58
1.59 /**
.