9年前关闭。
我想知道如何编程到旧游戏机上玩。
我可以使用C之类的编程语言吗?我需要使用汇编程序吗?我不知道任何控制台编译器,汇编器或API。我将需要编译为ROM镜像并使用仿真器进行测试,因为我没有任何控制台。
每个控制台都有其有趣的功能,我想一起玩。
最佳答案
Atari,NES和GameBoy等较旧的系统通常是用Assembly或C编程的。我玩过的GameBoy有多种开发工具,例如:
Rednex Gameboy开发(ASM):http://www.otakunozoku.com/rednex-gameboy-development-system/
GBDK(C):http://gbdk.sourceforge.net/
尽管上面有很多无效的链接,但此页面通常具有很多有关GameBoy开发的良好信息和链接:
http://www.devrs.com/gb/
对于NES,我知道两个组装教程。第二篇教程从第一篇开始就链接到该教程,声称它是上乘的,但是我不能真正评论,因为上次我对该主题感兴趣时第二篇链接不存在。
http://www.patater.com/nes-asm-tutorials
http://www.nintendoage.com/forum/messageview.cfm?catid=22&threadid=7155(此链接不再有效,use the wayback machine)
如果您觉得GBA不太新鲜,那么它会提供大量很棒的自制软件资源,并且通常使用C进行编程。GBA上的大量信息使其成为一个不错的起点:
DevKitPro为GBA开发提供了完整的GNU工具链(DevKitARM + libgba):http://www.devkitpro.org/
TONC是GBA的非常好的指南,有很多详细的解释:http://www.coranac.com/tonc/text/
最后,详细介绍GBA硬件的必不可少的gbatek表。这将告诉您必须使用GBA上的哪些寄存器来更改图形模式,声音模式,使用中断等。
http://nocash.emubase.de/gbatek.htm
这些较旧游戏系统的编程与编程微 Controller 有很多共同点。如果没有某种抽象层,则您必须对寄存器进行很多按位操作,以完成最基本的操作。
编辑:我在进行GBA编程时遇到的主要问题是弄清楚声音寄存器的工作原理。就教程而言,这确实是一个盲点。当时最好的资源是研究gbatek表和以下站点:
http://deku.rydia.net/program/sound1.html
http://belogic.com/gba/
关于compiler-construction - 如何对旧游戏机进行编程? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6540448/