将卡牌游戏Balatro移植到任天堂E-Reader的挑战

2025-06-21
将卡牌游戏Balatro移植到任天堂E-Reader的挑战

作者痴迷于卡牌游戏Balatro,并尝试将其移植到任天堂Game Boy Advance的E-Reader外设上。E-Reader的限制,例如有限的屏幕分辨率、内存和数字处理能力,给移植工作带来了巨大的挑战。作者制作了一个原型,但它只包含了游戏核心玩法的一部分,并做了一些简化,例如简化计分系统和约简特殊牌的种类。作者详细分析了移植过程中遇到的各种技术难题,包括数字精度、精灵数量、内存空间以及文本显示等问题,并探讨了可能的解决方案。最终,作者决定不公开这个原型,除非得到原游戏作者的许可。

阅读更多
游戏

逆向工程任天堂E-Reader的绘图API:堆栈中的秘密

2025-02-02
逆向工程任天堂E-Reader的绘图API:堆栈中的秘密

一位开发者在为任天堂E-Reader开发扫雷游戏时,意外发现其绘图API `DrawLine` 函数的运行时间取决于堆栈顶部的值。最初,他使用循环调用`DrawLine` 绘制迷你地图矩形,却发现线条绘制速度越来越快,最终发现绘制时间由循环计数器与另一个寄存器组合后压入堆栈的值决定。通过将0压入堆栈,他解决了这个问题,并揭开了这个绘图API隐藏的特性。这个案例生动地展现了逆向工程的魅力以及古老处理器架构的特殊性。

阅读更多

将纸牌游戏塞进任天堂E-Reader卡带

2024-11-02
将纸牌游戏塞进任天堂E-Reader卡带

作者成功将纸牌游戏移植到任天堂E-Reader卡带中,并分享了开发过程。E-Reader是一款GBA外设,通过扫描卡片上的点码加载迷你游戏。作者使用了z80汇编语言进行开发,并克服了z80模拟器功能限制、调试困难等挑战,最终实现了一个功能齐全的单卡纸牌游戏。他还详细介绍了E-Reader卡带的四种格式、ERAPI API的使用、E-Reader内置资源以及dotcode压缩等技术细节。

阅读更多
未分类 E-Reader

Neo Geo开发:定点数

2024-08-20
Neo Geo开发:定点数

这篇文章讲解了在Neo Geo等老式CPU上如何使用定点数来模拟浮点数运算,以进行游戏开发。由于Neo Geo不支持硬件浮点运算,开发者必须使用定点数来表示小数,并在软件层面实现加减乘除等操作。文章详细介绍了定点数系统的构建、转换、运算以及溢出处理等方面,并提供了一些代码示例。

阅读更多
未分类 定点数