changeset 395:0b5f93358a93

Add debugger command for saving Z80 RAM to a file
author Mike Pavone <pavone@retrodev.com>
date Tue, 11 Jun 2013 23:10:33 -0700
parents d5f1840273b5
children 09328dbe6700
files blastem.c
diffstat 1 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/blastem.c	Tue Jun 11 23:09:57 2013 -0700
+++ b/blastem.c	Tue Jun 11 23:10:33 2013 -0700
@@ -518,6 +518,9 @@
 				} else {
 					ym_address_write_part1(gen->ym, value);
 				}
+			} else {
+				printf("68K write to unhandled Z80 address %X\n", location);
+				exit(1);
 			}
 		}
 	} else {
@@ -1429,6 +1432,23 @@
 				puts("Quitting");
 				exit(0);
 				break;
+			case 's': {
+				param = find_param(input_buf);
+				if (!param) {
+					fputs("s command requires a file name\n", stderr);
+					break;
+				}
+				FILE * f = fopen(param, "wb");
+				if (f) {
+					if(fwrite(z80_ram, 1, sizeof(z80_ram), f) != sizeof(z80_ram)) {
+						fputs("Error writing file\n", stderr);
+					}
+					fclose(f);
+				} else {
+					fprintf(stderr, "Could not open %s for writing\n", param);
+				}
+				break;
+			}
 			default:
 				fprintf(stderr, "Unrecognized debugger command %s\n", input_buf);
 				break;