Diff for /xmil/io/ctc.c between versions 1.8 and 1.10

version 1.8, 2004/08/13 01:35:59 version 1.10, 2004/08/13 03:47:23
Line 173  BRESULT ieitem_ctc(UINT id) { Line 173  BRESULT ieitem_ctc(UINT id) {
         if (intr) {          if (intr) {
                 for (i=0, bit=1; i<4; i++, bit<<=1) {                  for (i=0, bit=1; i<4; i++, bit<<=1) {
                         if (intr & bit) {                          if (intr & bit) {
                                   if (!(ch->cmd[i] & 0x80)) {
                                           intr ^= bit;
                                   }
 #if 0                   // アークスのタイミング→あとで修正  #if 0                   // アークスのタイミング→あとで修正
                                 if (0)                                  else if (0)
 #elif 1  #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  #elif 0
                                 if (((ch->count[i] * 17) >> 4) < ch->countmax[i])                                  else if (((ch->count[i] * 17) >> 4) < ch->countmax[i])
 #else  #else
                                 if (ch->count[i] != ch->countmax[i])                                  else if (ch->count[i] != ch->countmax[i])
 #endif  #endif
                                 {                                  {
                                         intr ^= bit;                                          intr ^= bit;
                                 }                                  }
                                 else if (!(ch->cmd[i] & 0x80)) {  
                                         intr ^= bit;  
                                 }  
                                 else if (!r) {                                  else if (!r) {
                                         r = TRUE;                                          r = TRUE;
                                         intr ^= bit;                                          intr ^= bit;
 //                                      TRACEOUT(("ctc int %d", i));  //                                      TRACEOUT(("ctc int %d %d", ch->num, i));
                                         Z80_INTERRUPT((REG8)(ch->vector + (i << 1)));                                          Z80_INTERRUPT((REG8)(ch->vector + (i << 1)));
                                 }                                  }
                         }                          }
Line 283  void IOOUTCALL ctc_o(UINT port, REG8 val Line 284  void IOOUTCALL ctc_o(UINT port, REG8 val
   
         CTCCH   *ch;          CTCCH   *ch;
   
 //      TRACEOUT(("ctc - %.4x %.2x [%.4x]", port, value, Z80_PC));          TRACEOUT(("ctc - %.4x %.2x [%.4x]", port, value, Z80_PC));
         ch = getctcch(port);          ch = getctcch(port);
         if (ch != NULL) {          if (ch != NULL) {
                 ctcch_o(ch, port, value);                  ctcch_o(ch, port, value);

Removed from v.1.8  
changed lines
  Added in v.1.10


RetroPC.NET-CVS <cvs@retropc.net>