summaryrefslogtreecommitdiff
path: root/blastem.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2019-01-17 19:14:09 -0800
committerMichael Pavone <pavone@retrodev.com>2019-01-17 19:14:09 -0800
commit85b1eacc37399cc9b7442971bf7720ccf16d8d3e (patch)
tree62ec43904b41cd2883edadfa88b49ca32cb53e76 /blastem.c
parent83c8f0d26750b8ff3c46ba5a27ccc3af68c58bdc (diff)
Fix SMD ROM support
Diffstat (limited to 'blastem.c')
-rw-r--r--blastem.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/blastem.c b/blastem.c
index 37ac3e3..65d1819 100644
--- a/blastem.c
+++ b/blastem.c
@@ -76,14 +76,16 @@ int load_smd_rom(ROMFILE f, void **buffer)
size_t filesize = 512 * 1024;
size_t readsize = 0;
- uint16_t *dst = malloc(filesize);
+ uint16_t *dst, *buf;
+ dst = buf = malloc(filesize);
size_t read;
do {
if ((readsize + SMD_BLOCK_SIZE > filesize)) {
filesize *= 2;
- dst = realloc(dst, filesize);
+ buf = realloc(buf, filesize);
+ dst = buf + readsize/sizeof(uint16_t);
}
read = romread(block, 1, SMD_BLOCK_SIZE, f);
if (read > 0) {
@@ -95,7 +97,7 @@ int load_smd_rom(ROMFILE f, void **buffer)
} while(read > 0);
romclose(f);
- *buffer = dst;
+ *buffer = buf;
return readsize;
}