我是C的新手;我有一个通过在线工具翻译成.h和.c文件的图像文件。 C文件包含1024个16位十六进制数字的数组,用于表示位的开/关。我想阅读这个文件并使用DMA在屏幕上绘制图像...但我对如何做到这一点非常不知所措。有人可以帮忙吗?有人甚至都知道我在说什么吗?
答案 0 :(得分:4)
要在屏幕上绘制图像,请使用DMA [3]。这是图像DMA的通道3。
这是在.h文件中设置DMA的方法: http://nocash.emubase.de/gbatek.htm#gbadmatransfers
然后使用DMA绘制图像:
#######include image.h
DMA[3].src = (specify your image source here, where you're drawing from)
DMA[3].dst = (where you're drawing pixels to)
在您的方案中,我认为您在源中指明了文件的名称。
请记住,您正在为src和dst的图像使用POINTERS。
DMA[3].cnt = (how many times you want to do it) | flag1 | flag2...
以下是一些标志:
DMA_SOURCE_FIXED
表示您一遍又一遍地从同一像素中绘制。如果这是你想要的,那么在cnt中打开这个位
DMA_DESTINATION_FIXED
适用于您一遍又一遍地绘制相同的像素。如果这是你想要的,那么在cnt。
否则,DMA_SOURCE_INCREMENT
和DMA_DESTINATION_INCREMENT
默认情况下处于启用状态(如果没有,您可以在cnt中打开它们。)
这就是我用于VBA的内容,所以如果这不能解答你的问题我很抱歉(我对C也缺乏经验......)。
@Michael是的,我的意思是Visual Boy Advance