【问题标题】:How to program to old game consoles? [closed]如何对旧游戏机进行编程? [关闭]
【发布时间】:2011-06-30 20:03:35
【问题描述】:

我想知道如何在旧游戏机上编程以获得乐趣。

我可以使用诸如 C 之类的编程语言吗?我必须使用汇编吗?我不知道任何控制台编译器、汇编器或 API。我需要编译成 ROM 映像并使用模拟器进行测试,因为我没有任何控制台。

每个控制台都有其有趣的功能,我想和他们一起玩。

  • Atari 2600(仅 128 字节 RAM)
  • NES(仅 8 位)
  • SNES(一个不错的控制台,16 位)
  • PS1(3D,复杂)
  • Game Boy(简单,单色)

【问题讨论】:

  • 如果我猜测,纯粹是猜测,由于这种独特的硬件,他们可能拥有自己的语言/编译器。与标准计算机相比,至少是独一无二的。
  • google stella for the atari 2600,仍然有一个编程社区,有一个用于 6502 和其他一些的小型 c 编译器。你可能想知道一些汇编程序
  • 很多 nes 和 snes 模拟器,所以关于它们如何工作的信息在那里,不确定是否有新的自制软件开发正在进行,但信息在那里和模拟器。
  • gameboy(旧的)是一个类似 z80 的,应该能够找到一个用于 z80 的小型 c 编译器,以及汇编的东西,可能还有一些模拟器。关于任天堂(所有这些)的困难部分是他们的视频内容,而不是处理器或编程语言,多层,图块,精灵,关于这里和那里有多少精灵的规则,对一切的限制,通常动力不足(从处理器/处理的角度来看)。
  • atari 2600 可能是您开始的最佳选择。

标签: compiler-construction hardware video-game-consoles


【解决方案1】:

Atari、NES 和 GameBoy 等较旧的系统通常使用汇编或 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
@987654325 @(此链接已失效,use the wayback machine

如果 GBA 对您来说不是太新,那么它有很多很棒的自制资源,并且通常使用 C 进行编程。有关 GBA 的丰富信息使其成为一个很好的起点:

DevKitPro 为 GBA 开发提供了完整的 GNU 工具链(DevKitARM + libgba):http://www.devkitpro.org/

TONC 是一个很好的 GBA 指南,有很多详细的解释:http://www.coranac.com/tonc/text/

最后,必不可少的 gbatek 表详细介绍了 GBA 的硬件。这将告诉您必须使用 GBA 上的哪些寄存器来更改图形模式、声音模式、使用中断等。
http://nocash.emubase.de/gbatek.htm

为这些较旧的游戏系统编程与编程微控制器有很多共同之处。如果没有某种抽象层,即使是最基本的事情,您也必须对寄存器进行大量按位操作。

编辑:我在进行 GBA 编程时遇到的主要问题是弄清楚声音寄存器是如何工作的。就教程而言,这是(是?)一个真正的盲点。当时最好的资源是研究 gbatek 表和这些网站:
http://deku.rydia.net/program/sound1.html
http://belogic.com/gba/

【讨论】:

    【解决方案2】:

    控制台制造商为机器的处理器提供自己的工具/编译器 (SDK),因为它们(大部分时间)是高度专业化的。

    但大多数情况下,您将使用 C/C++ 编写代码。我相信你会更频繁地需要而不是求助于 ASM。

    试试这个链接: http://www.emuparadise.me/sdk/index.php

    Google 关键字:sdk、控制台、自制软件、独立

    【讨论】:

      【解决方案3】:

      还有一些“开放”的自制控制台,其设计与过去的机器类似,但更容易访问信息和更友好的工具。

      XGameStation Pico 之类的东西会给您带来类似于 Atari 2600 的体验,而 Micro Edition 的功能要强大得多,并附带有关与其类似的控制台如何工作的文档。

      如果您不明确希望为大型商业发布的控制台进行开发,这些可能是一个很好的替代方案,并且对于嵌入式编程新手来说可能是一个更好的学习工具。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-19
        • 2010-09-09
        • 2012-03-06
        • 1970-01-01
        • 2012-03-09
        • 2011-06-05
        相关资源
        最近更新 更多