comparison debug.c @ 2112:3abb64bd0da6

Add support for printing strings in 68K debugger
author Michael Pavone <pavone@retrodev.com>
date Sun, 13 Feb 2022 22:52:19 -0800
parents f80c6111e1ae
children 8554751f17b5
comparison
equal deleted inserted replaced
2111:4be496489eda 2112:3abb64bd0da6
135 { 135 {
136 case 'x': 136 case 'x':
137 case 'X': 137 case 'X':
138 case 'd': 138 case 'd':
139 case 'c': 139 case 'c':
140 case 's':
140 format[5] = format_char; 141 format[5] = format_char;
141 break; 142 break;
142 case '\0': 143 case '\0':
143 break; 144 break;
144 default: 145 default:
196 } 197 }
197 } else { 198 } else {
198 fprintf(stderr, "Unrecognized parameter to p: %s\n", param); 199 fprintf(stderr, "Unrecognized parameter to p: %s\n", param);
199 return; 200 return;
200 } 201 }
201 printf(format, param, value); 202 if (format_char == 's') {
203 char tmp[128];
204 int i;
205 for (i = 0; i < sizeof(tmp)-1; i++, value++)
206 {
207 char c = m68k_read_byte(value, context);
208 if (c < 0x20 || c > 0x7F) {
209 break;
210 }
211 tmp[i] = c;
212 }
213 tmp[i] = 0;
214 printf(format, param, tmp);
215 } else {
216 printf(format, param, value);
217 }
202 } 218 }
203 219
204 #ifndef NO_Z80 220 #ifndef NO_Z80
205 221
206 void zdebugger_print(z80_context * context, char format_char, char * param) 222 void zdebugger_print(z80_context * context, char format_char, char * param)