我想知道如何编程到旧游戏机上玩耍。
我可以使用C之类的编程语言吗?我需要使用汇编程序吗?我不知道任何控制台编译器,汇编器或API。我将需要编译成ROM映像并使用仿真器进行测试,因为我没有任何控制台。
每个控制台都有其有趣的功能,我想和他们一起玩。
[Atari,NES和GameBoy等较旧的系统通常是用Assembly或C编程的。我玩过的GameBoy有多种开发工具,例如:
Rednex Gameboy Development(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-tutorialshttp://www.nintendoage.com/forum/messageview.cfm?catid=22&threadid=7155(此链接不再有效)
如果您觉得它不是太新,那么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
这些较旧游戏系统的编程与编程微控制器有很多共同点。如果没有某种抽象层,则您必须对寄存器进行很多按位操作,以进行最基本的操作。
编辑:在进行GBA编程时遇到的主要问题是弄清楚声音寄存器的工作原理。就教程而言,这确实是一个盲点。当时最好的资源是研究gbatek表和以下站点:http://deku.rydia.net/program/sound1.htmlhttp://belogic.com/gba/
控制台的制造商为机器的处理器提供了自己的工具/编译器(SDK),因为它们(大多数时候)是高度专业化的。
但是大多数时候,您将使用C / C ++进行编码。我敢肯定,您将需要更多的时间,而不必诉诸ASM。
尝试此链接:http://www.emuparadise.me/sdk/index.php
Google关键字:sdk,控制台,自制软件,独立软件
还有另外一些“开放式”自制控制台,其设计与过去的机器类似,但是更容易访问信息和更友好的工具。
[XGameStation Pico之类的东西将带给您与Atari 2600类似的体验,而Micro Edition的功能要强大得多,并附带有关与之相似的控制台如何工作的文档。
如果您不明确地寻求开发大规模的商业发布的控制台,这些控制台可能是一个很好的选择,并且可能是嵌入式编程新手的更好的学习工具。