diff --git a/include/dma.h b/include/dma.h index 8e8328c3..46bd5524 100644 --- a/include/dma.h +++ b/include/dma.h @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: dma.h,v 1.10 2004-03-15 14:53:32 harekiet Exp $ */ +/* $Id: dma.h,v 1.11 2004-06-10 20:20:28 harekiet Exp $ */ #ifndef __DMA_H #define __DMA_H @@ -25,6 +25,7 @@ enum DMAEvent { DMA_REACHED_TC, DMA_MASKED, DMA_UNMASKED, + DMA_TRANSFEREND }; class DmaChannel; diff --git a/src/hardware/dma.cpp b/src/hardware/dma.cpp index 306457be..8eb17442 100644 --- a/src/hardware/dma.cpp +++ b/src/hardware/dma.cpp @@ -189,7 +189,7 @@ again: buffer+=left << DMA16; want-=left; done+=left; - ReachedTC(); +// ReachedTC(); //No module uses it so disable if (autoinit) { currcnt=basecnt; curraddr=baseaddr; @@ -197,7 +197,8 @@ again: } else { curraddr+=left; currcnt=0xffff; - SetMask(true); + masked=true; + DoCallBack(DMA_TRANSFEREND); } } return done; @@ -224,7 +225,8 @@ again: } else { curraddr+=left; currcnt=0xffff; - SetMask(true); + masked=true; + DoCallBack(DMA_TRANSFEREND); } } return done;