--- xmil/io/ctc.c 2004/08/13 02:16:33 1.9 +++ xmil/io/ctc.c 2004/08/13 03:47:23 1.10 @@ -173,21 +173,22 @@ BRESULT ieitem_ctc(UINT id) { if (intr) { for (i=0, bit=1; i<4; i++, bit<<=1) { if (intr & bit) { -#if 1 // アークスのタイミング→あとで修正 - if (0) + if (!(ch->cmd[i] & 0x80)) { + intr ^= bit; + } +#if 0 // アークスのタイミング→あとで修正 + else if (0) #elif 1 - if ((ch->countmax[i] - ch->count[i]) >= 256) + else if (((ch->cmd[i] & 0x10) == 0) && + ((ch->countmax[i] - ch->count[i]) >= 256)) #elif 0 - if (((ch->count[i] * 17) >> 4) < ch->countmax[i]) + else if (((ch->count[i] * 17) >> 4) < ch->countmax[i]) #else - if (ch->count[i] != ch->countmax[i]) + else if (ch->count[i] != ch->countmax[i]) #endif { intr ^= bit; } - else if (!(ch->cmd[i] & 0x80)) { - intr ^= bit; - } else if (!r) { r = TRUE; intr ^= bit;