gpt4 book ai didi

c - 使用 DMA 将图像加载到 Visual Boy Advance (VBA)

转载 作者:行者123 更新时间:2023-12-05 01:32:13 25 4
gpt4 key购买 nike

我是 C 的新手;我有一个通过在线工具翻译成 .h 和 .c 文件的图像文件。 C 文件包含 1024 个 16 位十六进制数的数组,用于表示位的开/关。我想读取此文件并使用 DMA 在屏幕上绘制图像……但我对如何执行此操作一筹莫展。有人可以帮忙吗?有谁知道我在说什么?

最佳答案

要在屏幕上绘制图像,请使用 DMA[3]。这是 DMA 的图像 channel 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 也有点缺乏经验...)。

@Michael 是的,我是说 Visual Boy Advance

关于c - 使用 DMA 将图像加载到 Visual Boy Advance (VBA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com