public void handler() {
            if (konamilog != null) {
                fprintf(konamilog, "konami#%d daa_b :PC:%d,PPC:%d,A:%d,B:%d,D:%d,DP:%d,U:%d,S:%d,X:%d,Y:%d,CC:%d,EA:%d\n", cpu_getactivecpu(), konami.pc, konami.ppc, A(), B(), konami.d, konami.dp, konami.u, konami.s, konami.x, konami.y, konami.cc, ea);
            }

            int/*UINT8*/ msn, lsn;
            int/*UINT16*/ t, cf = 0;
            msn = A() & 0xf0;
            lsn = A() & 0x0f;
            if (lsn > 0x09 || (konami.cc & CC_H) != 0) {
                cf |= 0x06;
            }
            if (msn > 0x80 && lsn > 0x09) {
                cf |= 0x60;
            }
            if (msn > 0x90 || (konami.cc & CC_C) != 0) {
                cf |= 0x60;
            }
            t = cf + A() & 0xFFFF;//should be unsigned???
            CLR_NZV(); /* keep carry from previous operation */

            SET_NZ8(/*(UINT8)*/t & 0xFF);
            SET_C8(t);
            A(t);

            if (konamilog != null) {
                fprintf(konamilog, "konami#%d daa_a :PC:%d,PPC:%d,A:%d,B:%d,D:%d,DP:%d,U:%d,S:%d,X:%d,Y:%d,CC:%d,EA:%d\n", cpu_getactivecpu(), konami.pc, konami.ppc, A(), B(), konami.d, konami.dp, konami.u, konami.s, konami.x, konami.y, konami.cc, ea);
            }

        }