我只是在youtube上观看了超级马里奥兄弟-1世界故障,我真的开始怀疑这些游戏背后的代码.使用了哪种语言?视频游戏控制台的操作系统怎么样?有没有关于这个主题的资源的网站?(我是一个90年代的视频游戏玩家,所以我对这些游戏背后的编程特别感兴趣,但是如果你愿意的话,可以随意把它作为一个wiki并包含有关视频游戏编程资源的链接)
在NES的模拟器上有点工作(我解码了一些操作码,但没有其他硬件被模拟),我可以分享一些答案.
对于大多数游戏使用汇编程序.优化编译器(如果可用于CPU)在20 - 30年前远不如今天那么好.为了获得性能,你需要用汇编语言编写(这甚至在PC上都是正确的.部分Doom在ASM中).更是如此,因为NES CPU的运行频率低于2MHz.此外,内存比现在更昂贵.最初的马里奥存储在大约40k的内存中.其中16k是实际代码,剩下的是图形和声音资源.
直到32位控制台时代,控制台上任何类型的操作系统,甚至内置实用程序都不常见(Sega CD是16位时代少数几个拥有实际BIOS的人之一,并且有一个小程序被烧毁进入Game Boy的处理器,该处理器负责打开电源时的Nintendo徽标.请参阅上文关于尺寸限制的主要原因.插入盒式磁带时,汽车中的ROM芯片直接连接到CPU的地址总线.上电时,CPU将从固定地址读取以获取程序启动时的实际地址,然后跳转到该位置并开始执行.
至于资源,NES Dev Wiki有关于NES硬件的资源以及编程参考.Zophar的Domain也有很多控制台的技术文档和公共域ROM(我不知道我是否应该链接到这个网站上的ZD,只是google它)