comparison debug.c @ 1963:495569c1dc61

Add support for printing a byte from memory in native debugger. Add stubs for GDB commands qThreadExtraInfo and qP
author Eric Fry <yuv422@users.noreply.github.com>
date Tue, 28 Apr 2020 22:03:04 +1000
parents 23394a890508
children 3a46ff899fa6
comparison
equal deleted inserted replaced
1962:16d46ff1f620 1963:495569c1dc61
156 } else if ((param[0] == '0' && param[1] == 'x') || param[0] == '$') { 156 } else if ((param[0] == '0' && param[1] == 'x') || param[0] == '$') {
157 char *after; 157 char *after;
158 uint32_t p_addr = strtol(param+(param[0] == '0' ? 2 : 1), &after, 16); 158 uint32_t p_addr = strtol(param+(param[0] == '0' ? 2 : 1), &after, 16);
159 if (after[0] == '.' && after[1] == 'l') { 159 if (after[0] == '.' && after[1] == 'l') {
160 value = m68k_read_long(p_addr, context); 160 value = m68k_read_long(p_addr, context);
161 } else if (after[0] == '.' && after[1] == 'b') {
162 value = m68k_read_word(p_addr, context);
163 value &= 0xFF;
161 } else { 164 } else {
162 value = m68k_read_word(p_addr, context); 165 value = m68k_read_word(p_addr, context);
163 } 166 }
164 } else if(param[0] == '(' && (param[1] == 'a' || param[1] == 'd') && param[2] >= '0' && param[2] <= '7' && param[3] == ')') { 167 } else if(param[0] == '(' && (param[1] == 'a' || param[1] == 'd') && param[2] >= '0' && param[2] <= '7' && param[3] == ')') {
165 uint8_t reg = param[2] - '0'; 168 uint8_t reg = param[2] - '0';
166 uint32_t p_addr = param[1] == 'a' ? context->aregs[reg] : context->dregs[reg]; 169 uint32_t p_addr = param[1] == 'a' ? context->aregs[reg] : context->dregs[reg];
167 if (param[4] == '.' && param[5] == 'l') { 170 if (param[4] == '.' && param[5] == 'l') {
168 value = m68k_read_long(p_addr, context); 171 value = m68k_read_long(p_addr, context);
172 } else if (param[4] == '.' && param[5] == 'b') {
173 value = m68k_read_word(p_addr, context);
174 value &= 0xFF;
169 } else { 175 } else {
170 value = m68k_read_word(p_addr, context); 176 value = m68k_read_word(p_addr, context);
171 } 177 }
172 } else { 178 } else {
173 fprintf(stderr, "Unrecognized parameter to p: %s\n", param); 179 fprintf(stderr, "Unrecognized parameter to p: %s\n", param);