首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >复古视频游戏编程

复古视频游戏编程
EN

Stack Overflow用户
提问于 2010-06-14 11:56:27
回答 5查看 2.9K关注 0票数 13

我刚刚在youtube上看了超级马里奥兄弟-1世界故障,我真的开始想知道这些游戏背后的代码。使用的是哪种语言?视频游戏机的操作系统呢?有关于这个主题的资源的网站吗?(我是一个90年代的视频游戏玩家,所以我对这些游戏背后的编程特别感兴趣,但如果你愿意,请随意将其设为wiki,并包含有关视频游戏编程的一般资源的链接)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-06-14 12:37:40

我在NES的仿真器上做过一些工作(我让它解码一些操作码,但其他硬件都没有被仿真),我可以分享一些答案。

大多数游戏的汇编程序都使用了

  1. 。优化编译器,如果可用于CPU的话,在20-30年前还远没有今天那么好。为了获得性能,你需要用汇编语言编写代码(甚至在PC上也是如此。Doom的一部分在ASM中)。更是如此,因为NES CPU的运行速度不到2 2MHz。而且,当时的内存比现在更贵。最初的马里奥存储在大约40k的内存中。其中16k是实际的代码,其余的是32位游戏机时代的图形和声音,任何类型的操作系统,甚至是内置的实用程序,在游戏机上都是不常见的(世嘉CD是16位时代为数不多的具有实际resources.
  2. Until的基本输入输出系统,有一个小程序烧录在游戏机的处理器上,负责在开机时向下滚动任天堂标志)。请参阅上面关于大小限制的内容,这是一个主要原因。当插入磁带盒时,车载ROM芯片直接连接到CPU的地址总线上。在加电时,CPU将从一个固定的地址读取,以获得程序开始时的实际地址,然后跳到该位置并开始执行。

至于资源,NES Dev Wiki有关于NES硬件的资源,以及编程参考。Zophar的域名也有相当多控制台的技术文档和公共领域ROM(我不知道是否应该在这个网站上链接到ZD,只要谷歌一下就行了)

票数 11
EN

Stack Overflow用户

发布于 2010-06-15 05:05:47

大多数老式游戏机都有某种类型的BIOS ROM。

这些代码中的一些源代码是在线的:

您可以阅读针对7800BIOS的大多数注释的反汇编:http://atarihq.com/danb/files/7800bios.asm

Atari5200的BIOS源程序更有趣,因为它不仅仅是初始化系统和显示闪屏:http://atarihq.com/danb/files/5200BIOS.txt

Colecovision有一个8K (!)BIOS ROM也是如此;它的源代码在这里:http://xi6.com/code/coleco/coleco29.asm

奥德赛II基本输入输出系统的源代码在这里:http://atarihq.com/danb/files/o2romsrc.txt

Intellivision有一个叫做"exec“的操作系统,虽然我找到了一堆关于它的信息:http://www.intellivisiongames.com/bluesky/hardware/intelli_tech.html#exechttp://www.beeslife.com/faq.htm#_Toc140592020 -它有移动精灵、读取控制器和计算平方根的例程,但在网上找不到反汇编!

票数 2
EN

Stack Overflow用户

发布于 2010-06-15 05:13:37

该视频中的大多数毛刺都是基于平铺的毛刺,其中在构成关卡的平铺贴图的碰撞检测中存在错误。所有的级别都是由方形的瓷砖组成的。如果你注意到马里奥总是在他不该出现的地方。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3034887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档