/[pcsx2_0.9.7]/trunk/pcsx2/Sif1.cpp
ViewVC logotype

Diff of /trunk/pcsx2/Sif1.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 62 by william, Tue Sep 7 11:08:22 2010 UTC revision 273 by william, Fri Nov 12 01:10:22 2010 UTC
# Line 68  static __fi bool WriteFifoToIOP() Line 68  static __fi bool WriteFifoToIOP()
68    
69          SIF_LOG("Sif 1 IOP doing transfer %04X to %08X", readSize, HW_DMA10_MADR);          SIF_LOG("Sif 1 IOP doing transfer %04X to %08X", readSize, HW_DMA10_MADR);
70    
71          sif1.fifo.read((u32*)iopPhysMem(hw_dma(10).madr), readSize);          sif1.fifo.read((u32*)iopPhysMem(hw_dma10.madr), readSize);
72          psxCpu->Clear(hw_dma(10).madr, readSize);          psxCpu->Clear(hw_dma10.madr, readSize);
73          hw_dma(10).madr += readSize << 2;          hw_dma10.madr += readSize << 2;
74          sif1.iop.cycles += readSize >> 2;               // fixme: should be >> 4          sif1.iop.cycles += readSize >> 2;               // fixme: should be >> 4
75          sif1.iop.counter -= readSize;          sif1.iop.counter -= readSize;
76    
# Line 151  static __fi bool SIFIOPReadTag() Line 151  static __fi bool SIFIOPReadTag()
151                  sif1data & 0xffffff, sif1words, sif1tag.ID, sif1tag.IRQ);                  sif1data & 0xffffff, sif1words, sif1tag.ID, sif1tag.IRQ);
152    
153          // Only use the first 24 bits.          // Only use the first 24 bits.
154          hw_dma(10).madr = sif1data & 0xffffff;          hw_dma10.madr = sif1data & 0xffffff;
155    
156          sif1.iop.counter = sif1words;          sif1.iop.counter = sif1words;
157          if (sif1tag.IRQ  || (sif1tag.ID & 4)) sif1.iop.end = true;          if (sif1tag.IRQ  || (sif1tag.ID & 4)) sif1.iop.end = true;
# Line 276  static __fi void HandleIOPTransfer() Line 276  static __fi void HandleIOPTransfer()
276    
277  static __fi void Sif1End()  static __fi void Sif1End()
278  {  {
279            psHu32(SBUS_F240) &= ~0x40;
280            psHu32(SBUS_F240) &= ~0x4000;
281    
282          SIF_LOG("SIF1 DMA end...");          SIF_LOG("SIF1 DMA end...");
283  }  }
284    
# Line 349  __fi void dmaSIF1() Line 352  __fi void dmaSIF1()
352          if (sif1.iop.busy)          if (sif1.iop.busy)
353          {          {
354                  SIF1Dma();                  SIF1Dma();
                 // Do we really want to mess with the SIF flags like that? Nah.  
                 //psHu32(SBUS_F240) &= ~0x40;  
                 //psHu32(SBUS_F240) &= ~0x100;  
                 //psHu32(SBUS_F240) &= ~0x4000;  
355          }          }
356  }  }

Legend:
Removed from v.62  
changed lines
  Added in v.273

  ViewVC Help
Powered by ViewVC 1.1.22