]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
CIA B-data/direction was not reset.
authorToni Wilen <twilen@winuae.net>
Sun, 15 Aug 2021 15:00:08 +0000 (18:00 +0300)
committerToni Wilen <twilen@winuae.net>
Sun, 15 Aug 2021 15:00:08 +0000 (18:00 +0300)
cia.cpp

diff --git a/cia.cpp b/cia.cpp
index 76dafc6131e1cbc1699530d65b502bebdd8a4227..d7fc0c2057a566199e8c8471d7e6b5dcd1ee0d82 100644 (file)
--- a/cia.cpp
+++ b/cia.cpp
@@ -1891,46 +1891,48 @@ void CIA_reset (void)
                tod_hack_enabled = TOD_HACK_TIME;
 #endif
 
-kblostsynccnt = 0;
-serbits = 0;
-resetwarning_phase = resetwarning_timer = 0;
-heartbeat_cnt = 0;
-ciab_tod_event_state = 0;
-
-if (!savestate_state) {
-       oldovl = true;
-       kbstate = 0;
-       ciaatlatch = ciabtlatch = 0;
-       ciaapra = 0; ciaadra = 0;
-       ciaatod = ciabtod = 0; ciaatodon = ciabtodon = 0;
-       ciaaicr = ciabicr = ciaaimask = ciabimask = 0;
-       ciaacra = ciaacrb = ciabcra = ciabcrb = 0;
-       ciaala = ciaalb = ciabla = ciablb = ciaata = ciaatb = ciabta = ciabtb = 0xFFFF;
-       ciaaalarm = ciabalarm = 0;
-       ciabpra = 0x8C; ciabdra = 0;
-       div10 = 0;
-       ciaasdr_cnt = 0; ciaasdr = 0; ciaasdr_load = 0;
-       ciabsdr_cnt = 0; ciabsdr = 0; ciabsdr_buf = 0; ciabsdr_load = 0;
-       ciaata_passed = ciaatb_passed = ciabta_passed = ciabtb_passed = 0;
-       CIA_calctimers();
-       DISK_select_set(ciabprb);
-}
-map_overlay(0);
-check_led();
+       kblostsynccnt = 0;
+       serbits = 0;
+       resetwarning_phase = resetwarning_timer = 0;
+       heartbeat_cnt = 0;
+       ciab_tod_event_state = 0;
+
+       if (!savestate_state) {
+               oldovl = true;
+               kbstate = 0;
+               ciaatlatch = ciabtlatch = 0;
+               ciaapra = 0; ciaadra = 0;
+               ciaaprb = 0; ciaadrb = 0;
+               ciaatod = ciabtod = 0; ciaatodon = ciabtodon = 0;
+               ciaaicr = ciabicr = ciaaimask = ciabimask = 0;
+               ciaacra = ciaacrb = ciabcra = ciabcrb = 0;
+               ciaala = ciaalb = ciabla = ciablb = ciaata = ciaatb = ciabta = ciabtb = 0xFFFF;
+               ciaaalarm = ciabalarm = 0;
+               ciabpra = 0x8C; ciabdra = 0;
+               ciabprb = 0; ciabdrb = 0;
+               div10 = 0;
+               ciaasdr_cnt = 0; ciaasdr = 0; ciaasdr_load = 0;
+               ciabsdr_cnt = 0; ciabsdr = 0; ciabsdr_buf = 0; ciabsdr_load = 0;
+               ciaata_passed = ciaatb_passed = ciabta_passed = ciabtb_passed = 0;
+               CIA_calctimers();
+               DISK_select_set(ciabprb);
+       }
+       map_overlay(0);
+       check_led();
 #ifdef SERIAL_PORT
-if (currprefs.use_serial && !savestate_state)
-serial_dtr_off(); /* Drop DTR at reset */
+       if (currprefs.use_serial && !savestate_state)
+               serial_dtr_off(); /* Drop DTR at reset */
 #endif
-if (savestate_state) {
-       if (currprefs.cs_ciaoverlay) {
-               oldovl = true;
-       }
-       bfe001_change();
-       if (!currprefs.cs_ciaoverlay) {
-               map_overlay(oldovl ? 0 : 1);
+       if (savestate_state) {
+               if (currprefs.cs_ciaoverlay) {
+                       oldovl = true;
+               }
+               bfe001_change();
+               if (!currprefs.cs_ciaoverlay) {
+                       map_overlay(oldovl ? 0 : 1);
+               }
        }
 }
-}
 
 void dumpcia(void)
 {