Diff for /xmil/io/dmac.c between versions 1.4 and 1.5

version 1.4, 2004/08/11 16:09:04 version 1.5, 2004/08/14 12:16:17
Line 41  void dmac_sendready(BRESULT ready) { Line 41  void dmac_sendready(BRESULT ready) {
         }          }
 }  }
   
   
 BRESULT ieitem_dmac(UINT id) {  BRESULT ieitem_dmac(UINT id) {
   
         REG8    vect;          REG8    vect;
Line 192  void IOOUTCALL dmac_o(UINT port, REG8 va Line 193  void IOOUTCALL dmac_o(UINT port, REG8 va
                         case 6:                          case 6:
                                 switch(value) {                                  switch(value) {
                                         case 0x83:                              // dma disable                                          case 0x83:                              // dma disable
                                                 dma.enable = 0;                                          //      dma.enable = 0;
                                                 break;                                                  break;
   
                                         case 0x87:                              // dma enable                                          case 0x87:                              // dma enable
                                                   dma.increment = 0;
                                                 dma.enable = 1;                                                  dma.enable = 1;
                                                 break;                                                  break;
   
Line 232  void IOOUTCALL dmac_o(UINT port, REG8 va Line 234  void IOOUTCALL dmac_o(UINT port, REG8 va
                                         case 0xc3:                              // reset                                          case 0xc3:                              // reset
                                                                                         // ローグアライアンス   // ver0.25                                                                                          // ローグアライアンス   // ver0.25
                                                 dma.cmd = 0;                                                  dma.cmd = 0;
                                                 dma.enable = 0;                                          //      dma.enable = 0;
                                                 dma.INT_ENBL = 0;                                                  dma.INT_ENBL = 0;
                                                   dma.increment = 0;
                                                 break;                                                  break;
   
                                         case 0xc7:                                              // リセットタイミングA                                          case 0xc7:                                              // リセットタイミングA
Line 247  void IOOUTCALL dmac_o(UINT port, REG8 va Line 250  void IOOUTCALL dmac_o(UINT port, REG8 va
                                                 dma.BYT_N.w = 0;                                                  dma.BYT_N.w = 0;
                                                 dma.ENDB_FLG = 0;                                                  dma.ENDB_FLG = 0;
                                                 dma.MACH_FLG = 0;                       // 0619                                                  dma.MACH_FLG = 0;                       // 0619
                                                 dma.enable = 0;                                          //      dma.enable = 0;
                                                 break;                                                  break;
   
                                         case 0xd3:                                              // コンティニュー                                          case 0xd3:                                              // コンティニュー
                                                 if (dma.DMA_STOP) {                     // 前回途中でNOT READY  
                                                         dma.DMA_STOP = 0;  
                                                         // ここでインクリメントするのはちょい無理が…  
                                                         switch(dma.WR[1] & 0x30) {  
                                                                 case 0x00:  
                                                                         dma.CNT_A.w--;  
                                                                         break;  
   
                                                                 case 0x10:  
                                                                         dma.CNT_A.w++;  
                                                                         break;  
                                                         }  
                                                         switch(dma.WR[2] & 0x30) {  
                                                                 case 0x00:  
                                                                         dma.CNT_B.w--;  
                                                                         break;  
   
                                                                 case 0x10:  
                                                                         dma.CNT_B.w++;  
                                                                         break;  
                                                         }  
                                                 }  
                                                 dma.BYT_N.w = 0;                        // 0619                                                  dma.BYT_N.w = 0;                        // 0619
                                                 dma.MACH_FLG = 0;                       // 0619                                                  dma.MACH_FLG = 0;                       // 0619
                                                 dma.ENDB_FLG = 0;                                                  dma.ENDB_FLG = 0;

Removed from v.1.4  
changed lines
  Added in v.1.5


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