Mercurial > repos > blastem
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) |