diff options
author | Michael Pavone <pavone@retrodev.com> | 2020-04-02 20:32:09 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2020-04-02 20:32:09 -0700 |
commit | b3ff305648b1734a2a1f28c4d34d2b47bb0ea93c (patch) | |
tree | 41d8974ce89d2b62bffe02999bf0cb6b330cfbe1 /genesis.c | |
parent | 53e926f4dd3187bb0fc5b1d45bfc026839f44d14 (diff) |
Don't lockup on writes to !TIME or !FDC regions regardless of whether anything is mapped there
Diffstat (limited to 'genesis.c')
-rw-r--r-- | genesis.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1120,7 +1120,7 @@ static void *unused_write(uint32_t location, void *vcontext, uint16_t value) gen->tmss_lock[location >> 1 & 1] = value; } else if (has_tmss && location == 0xA14100) { //TODO: implement TMSS control register - } else { + } else if (location < 0xA12000 || location >= 0xA13100 || (location >= 0xA12100 && location < 0xA13000)) { fatal_error("Machine freeze due to unmapped write to %X\n", location); } return vcontext; @@ -1142,7 +1142,7 @@ static void *unused_write_b(uint32_t location, void *vcontext, uint8_t value) } } else if (has_tmss && (location == 0xA14100 || location == 0xA14101)) { //TODO: implement TMSS control register - } else { + } else if (location < 0xA12000 || location >= 0xA13100 || (location >= 0xA12100 && location < 0xA13000)) { fatal_error("Machine freeze due to unmapped byte write to %X\n", location); } return vcontext; |