From 2636ff2abf12b19e3a03855df2443b9261cde637 Mon Sep 17 00:00:00 2001 From: OBattler Date: Wed, 2 Oct 2019 21:19:46 +0200 Subject: [PATCH] Fixed the Hercules memory mapping, fixes #419. --- src/video/vid_hercules.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/video/vid_hercules.c b/src/video/vid_hercules.c index 54c1dfc3a..fd3c85284 100644 --- a/src/video/vid_hercules.c +++ b/src/video/vid_hercules.c @@ -144,16 +144,16 @@ hercules_out(uint16_t addr, uint8_t val, void *priv) if (!(dev->ctrl2 & 0x02) && !(val & 0x80)) val = (val & 0x7f) | (dev->ctrl & 0x80); dev->ctrl = val; - if (val & 0x80) - mem_mapping_set_addr(&dev->mapping, 0xb0000, 0x10000); - else - mem_mapping_set_addr(&dev->mapping, 0xb0000, 0x08000); if (old ^ val) recalc_timings(dev); break; case 0x03bf: dev->ctrl2 = val; + if (val & 0x02) + mem_mapping_set_addr(&dev->mapping, 0xb0000, 0x10000); + else + mem_mapping_set_addr(&dev->mapping, 0xb0000, 0x08000); break; default: @@ -448,7 +448,7 @@ hercules_init(const device_t *info) timer_add(&dev->timer, hercules_poll, dev, 1); - mem_mapping_add(&dev->mapping, 0xb0000, 0x08000, + mem_mapping_add(&dev->mapping, 0xb0000, 0x10000, hercules_read,NULL,NULL, hercules_write,NULL,NULL, dev->vram, MEM_MAPPING_EXTERNAL, dev);