1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=utf-8">
5<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 7.0.1.0 for Windows">
6<META http-equiv="Content-Style-Type" content="text/css">
7<TITLE>MI_HBlankDmaCopy*</TITLE>
8<LINK rel="stylesheet" href="../../css/nitro.css" type="text/css">
9</HEAD>
10<BODY>
11<H1 align="left">MI_HBlankDmaCopy* <IMG src="../../image/NTR.gif" align="middle"><IMG src="../../image/TWL.gif" align="middle"></H1>
12<H2>Syntax</H2>
13<DL>
14<DD><CODE>#include &lt;nitro/mi.h&gt;</CODE><BR> <BR> <CODE>void MI_HBlankDmaCopy32( u32 dmaNo, const void* src, void* dest, u32 size );</CODE><BR> <CODE>void MI_HBlankDmaCopy16( u32 dmaNo, const void* src, void* dest, u32 size );</CODE><BR> <BR> <CODE>void MI_HBlankDmaCopy32If( u32 dmaNo, const void* src, void* dest, u32 size );</CODE><BR> <CODE>void MI_HBlankDmaCopy16If( u32 dmaNo, const void* src, void* dest, u32 size );</CODE><BR>
15</DL>
16<H2>Arguments</H2>
17<TABLE border="1" width="100%">
18  <TBODY>
19    <TR>
20<TD width="13%"><EM><STRONG>dmaNo</STRONG></EM></TD>
21<TD width="87%">DMA channel used.</TD>
22    </TR>
23    <TR>
24<TD width="13%"><EM><STRONG>src</STRONG></EM></TD>
25<TD width="87%">Transfer source address</TD>
26    </TR>
27    <TR>
28<TD width="13%"><EM><STRONG>dest</STRONG></EM></TD>
29<TD width="87%">Transfer destination address</TD>
30    </TR>
31    <TR>
32<TD><EM><STRONG>size</STRONG></EM></TD>
33<TD>Transfer size.</TD>
34    </TR>
35  </TBODY>
36</TABLE>
37<H2>Return Values</H2>
38<P>None.</P>
39<H2>Description</H2>
40<P>Uses DMA to copy a H-Blank. When a H-Blank starts, DMA starts.</P>
41<P><FONT color="#ff0000">When using this mode, set the access right to main memory to <CODE>ARM9</CODE> priority. </FONT>Otherwise, the screen may not be displayed properly due to the delay that is caused by the startup of DMA memory as ARM7 accesses the main memory. Specify the access right priority with the <A href="../exmemory/MI_SetMainMemoryPriority.html"><CODE>MI_SetMainMemoryPriority</CODE></A> function.</P>
42<P>The <CODE>MI_HBlankDmaCopy32If</CODE> and <CODE>MI_HBlankDmaCopy16If</CODE> functions generate DMA interrupts when DMA terminates.</P>
43<H3><br> DMA Controller Bugs</H3>
44<P>See the section titled &quot;DMA Controller Bugs&quot; in the reference for the <CODE><A href="MI_DmaCopy.html">MI_DmaCopy</A></CODE> function.</P>
45<H2>Internal Operation</H2>
46<P>Uses the following IO registers: DMA<i>n</i> source register (<CODE>0x40000B0</CODE> + 12<i>n</i>), DMA<i>n</i> destination register (<CODE>0x40000B4</CODE> + 12<i>n</i>), and DMA<i>n</i> control register (<CODE>0x40000B8</CODE> + 12<i>n</i>). (<i>n</i> is the DMA channel used.))</P>
47<H2>See Also</H2>
48<P><A href="MI_DmaCopy.html"><CODE>MI_DmaCopy*</CODE></A><BR> <A href="../exmemory/MI_SetMainMemoryPriority.html"><CODE>MI_SetMainMemoryPriority</CODE></A></P>
49<H2>Revision History</H2>
50<P>2009/11/20 Added a description of bugs for the DMA controller.<BR>2004/08/26 Explained that access rights to main memory during DMA use are set to <CODE>ARM9</CODE> priority.<BR>2003/12/01 Initial version.</P>
51
52<hr><p>CONFIDENTIAL</p></body>
53</HTML>