--- uae/src/cia.c 2018/04/24 17:00:07 1.1.1.11 +++ uae/src/cia.c 2018/04/24 17:03:48 1.1.1.13 @@ -13,7 +13,7 @@ #include "config.h" #include "options.h" -#include "threaddep/penguin.h" +#include "threaddep/thread.h" #include "events.h" #include "memory.h" #include "custom.h" @@ -474,6 +474,7 @@ static void WriteCIAA (uae_u16 addr,uae_ LED(ciaapra & 0x2); gui_ledstate &= ~1; gui_ledstate |= ((~ciaapra & 2) >> 1); + gui_data.powerled = ((~ciaapra & 2) >> 1); if ((ciaapra & 2) != oldled) gui_led (0, !(ciaapra & 2)); if ((ciaapra & 1) != oldovl) { @@ -723,8 +724,8 @@ void CIA_reset (void) ciaacra = ciaacrb = ciabcra = ciabcrb = 0x4; /* outmode = toggle; */ ciaala = ciaalb = ciabla = ciablb = ciaata = ciaatb = ciabta = ciabtb = 0xFFFF; ciabpra = 0x8C; + div10 = 0; } - div10 = 0; CIA_calctimers (); if (! ersatzkickfile) map_banks (&kickmem_bank, 0, 32, 0x80000); @@ -745,12 +746,12 @@ void CIA_reset (void) void dumpcia (void) { - printf("A: CRA: %02x, CRB: %02x, IMASK: %02x, TOD: %08lx %7s TA: %04lx, TB: %04lx\n", + printf("A: CRA: %02x, CRB: %02x, IMASK: %02x, TOD: %08lx %7s TA: %04lx (%04lx), TB: %04lx (%04lx)\n", (int)ciaacra, (int)ciaacrb, (int)ciaaimask, ciaatod, - ciaatlatch ? " latched" : "", ciaata, ciaatb); - printf("B: CRA: %02x, CRB: %02x, IMASK: %02x, TOD: %08lx %7s TA: %04lx, TB: %04lx\n", + ciaatlatch ? "L" : "", ciaata, ciaala, ciaatb, ciaalb); + printf("B: CRA: %02x, CRB: %02x, IMASK: %02x, TOD: %08lx %7s TA: %04lx (%04lx), TB: %04lx (%04lx)\n", (int)ciabcra, (int)ciabcrb, (int)ciabimask, ciabtod, - ciabtlatch ? " latched" : "", ciabta, ciabtb); + ciabtlatch ? "L" : "", ciabta, ciabla, ciabtb, ciablb); } /* CIA memory access */ @@ -931,7 +932,7 @@ uae_u8 *restore_cia (int num, uae_u8 *sr if (num) ciabimask = b; else ciaaimask = b; w = restore_u8 (); /* timer A latch */ w |= restore_u8 () << 8; - if (num) ciabla = w; else ciaala = b; + if (num) ciabla = w; else ciaala = w; w = restore_u8 (); /* timer B latch */ w |= restore_u8 () << 8; if (num) ciablb = w; else ciaalb = w;