From c6b9969e8aae09ccd4b88c1b3a92fc394a1f7efd Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Thu, 10 Jun 2004 20:21:05 +0000 Subject: [PATCH] Add new dma ransferend event Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1823 --- include/dma.h | 3 ++- src/hardware/dma.cpp | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) 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;