问题标签 [game-boy-advance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
326 浏览

c - 在 EZ Flash 3 合 1 中写入 PSRAM

我试图弄清楚如何在 GBA 大小的 EZ Flash 3 合 1 卡中对 PSRAM 进行编程。基本上重复 GBA Exploader 和其他程序所做的。

如果我选择一个块并对其进行编程,然后将其读回第一个半字始终是 0x1500 或类似的东西,但其余数据都很好。

如果在写入时我选择了前一个块,则从 0x20000 字节开始写入该块(根据我确定的块大小)。从所需块读回仍然显示第一个半字是错误的,但其余半字是正确的。

0 投票
2 回答
1438 浏览

assembly - GBA ARM 汇编程序的帮助

我试图修改这个ARM 汇编程序(见页面底部)以使用子例程。它应该在 GBA 上显示一个红色屏幕(并编译它实际执行的示例程序,所以这不是工具链使用问题),但是,当我运行它时,屏幕变为黑色。我正在使用 devkitARM 30

问题是,这个程序有什么问题?

0 投票
1 回答
669 浏览

assembly - ARM7TDMI(GameBoy Advance)上的操作系统相关操作和模式

我想知道GBA的CPU是否可以使用通常为操作系统保留的任何功能,以及如何做到这一点。
例如,我想访问 cpu 显然支持的特权模式,但我不明白如何首先输入它(并修改要由它运行的代码),因为 gba 在用户中启动模式。
更重要的是,我想知道gba有哪些arm扩展,比如协处理器、mmu、mpu等。

我在cowbite 规范参考中读到特权模式确实存在,但没有进一步提及。

0 投票
2 回答
1500 浏览

c - 使用 C 语言使用 Visual HAM 进行 GBA 编程

我对使用 C 语言中的 Visual HAM IDE 为 Game Boy Advance 进行编程很感兴趣。但是,每次构建项目时,我都会收到一条消息:

我下载了 GnuWin32 并制作。然后,在 ham 可视化编辑器中,我单击高级选项并将 MAKE_MODE 的目录(我猜是某种环境变量)设置为 make 程序所在的目录。

关于如何让它工作的任何建议?

0 投票
1 回答
6489 浏览

c - GBA C 编程编译器 gcc

我正在尝试开始在 Windows 中为 GBA 编程。有人可以给我指出一个很好的参考,他们能够遵循一套完整的方向吗?

我希望指示包括以下内容:

我尝试了几个网站,但总是遇到安装一些 gcc 变体的问题。如果您没有亲自下载 gba 开发工具包并为 gba 编译代码,请不要使用 cygwin 的链接回答此线程。

谢谢!

0 投票
1 回答
898 浏览

c - 2D游戏中生成敌人的C算法

我正在用 C 编写 GameBoy Advance 游戏,我正在尝试想出最有效的生成敌人的方法。该游戏将类似于 SpyHunter ( http://en.wikipedia.org/wiki/Spy_Hunter )。

问题是我不知道什么是让随机出现的敌人出现在屏幕顶部的最有效方法,并且屏幕上同时出现的敌人不会超过 3 或 4 个。

我想过在屏幕顶部的随机位置创建 4 个结构,一旦一个到达底部,就在顶部再次初始化它,以此类推,使用随机位置,但我不知道这是否是最有效的算法。

我应该如何产生敌人?

0 投票
1 回答
1663 浏览

c++ - Hex editing GBA in C++

I am Programming on Mac OS X 10.6 with XCode. Im trying to make a Programm that "decrypts" a Pokemon GBA game so that you can read the dialogs of the game with any Text Editor.

I already got a programm finished witch does that, so I can read all Text Data.

My problem is, that I need to change the clear Text back to Hex after editing it, but I have no Idea what im making wrong.

I Tryed that, but when I open the result in a Hex Editor, the ASCII code is only a8.a8.a8.a8... and so on till eof, and the Hex code is 61 38 00 ... till eof.

I also tryed other methods, but all with the same result, I cant write the decoded GBA as Hex so I can play it with edited Text.

0 投票
1 回答
188 浏览

c++ - 调用变量的类中的构造函数

我已经查阅了关于类和构造函数的各种指南和教程,但到目前为止,如何将两者结合到我的程序中对我来说还没有意义。我觉得一些巨大的逻辑块正在逃避我。如果有人能用人类语言解释构造函数应该如何为我的函数填充变量,我将非常感激。不仅仅是如何让它做我想让它做的事情,还有为什么它对程序有意义?我今年开始学习。谢谢你。这是要在 GBA 模拟器上编译的代码,尽管我遇到的问题纯粹是从 C++ 的角度来看的。我在程序中以粗体概述了这篇文章的附加评论。到目前为止,我如何理解我正在尝试做的是:

我创建了一个构造函数,该构造函数随后在程序的主循环中获取其中函数的变量值,在该程序中我第一次初始化类对象,然后在我为我简单调用的移动重绘框的部分在应该从构造函数存储其初始值的类对象上。

0 投票
1 回答
584 浏览

c - 在 C/Gameboy 编程中使用两个数组

对于 Gameboy 编程中的游戏,我使用了四个名为topoldTopbottom的数组oldBottom

其中 Rect 是由两个结构点组成的结构,左上角点和右下角点。

游戏的想法是让随机高度的方块从天花板上向下,从地板上向下。它类似于直升机经典游戏。在我的无限 while 循环中,我使用以下代码将所有矩形向下移动一个像素

drawRect 方法使用 DMA 来绘制矩形。

使用此代码,代码应显示如下矩形:(在油漆中绘制) 在此处输入图像描述

但我得到的结果是

在此处输入图像描述

奇怪的是,如果我根本不画底行,那么顶行画得很好。当我画两者时,结果只会变得混乱。这真的很奇怪,因为我认为代码应该可以正常工作,并且代码不是很复杂。发生这种情况是否有特定原因,有没有办法解决这个问题?

谢谢。

我用来绘制矩形的代码如下所示:

0 投票
1 回答
1065 浏览

linux - 在模式 4 GBA Linux 中使用 DMA

我在 GBA 中编写游戏是为了好玩,并想使用模式 4。我最近在模式 3 中创建了一个游戏,它的 dma 非常简单。如果我想在屏幕上绘制图像,dma 结构会相同吗?这是我所拥有的:

我觉得这不是使用模式 4,而是使用模式 3。我已经查看了如何修改我的代码,以便它可以在模式 4 下工作。提前谢谢你!