2011-07-09 21 views
3

我是C的新手;我有一個圖像文件通過在線工具轉換爲.h和.c文件。 C文件包含一個由1024個16位十六進制數組成的數組,用於表示位的開/關。我想讀取這個文件並使用DMA在屏幕上繪製圖像...但是我對如何做到這一點非常遺憾。有人可以幫忙嗎?有人甚至知道我在說什麼嗎?使用DMA將圖像加載到Visual Boy Advance(VBA)中

+0

只要是明確的 - 通過VBA你在談論的任天堂遊戲男孩前進的「視覺男孩進展」模擬器 - 對嗎?我想這裏的大多數人都會將VBA視爲「Visual Basic for Applications」。 –

回答

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) 

在您的情況,我想你表明的名字該文件在您的源文件中。

請記住,您正在使用POINTERS來指定src和dst的圖像。

DMA[3].cnt = (how many times you want to do it) | flag1 | flag2... 

這裏有一些標誌:
DMA_SOURCE_FIXED意味着你從相同的像素一遍又一遍畫。如果這是你想要的,那麼在cnt中打開這個位。
DMA_DESTINATION_FIXED適用於您一遍又一遍地繪製同一像素。如果這是你想要的,那麼在cnt中打開這個位。

否則,DMA_SOURCE_INCREMENTDMA_DESTINATION_INCREMENT默認打開(如果沒有,您可以在cnt中打開它們)。

這是我用於VBA,所以我很抱歉,如果這不能回答你的問題(我對C沒有經驗......)。

@邁克爾是的,我指的是視覺男孩進展