Neo Geo架构

Rodrigo Copetti 的实用分析

这是原文的志愿翻译。如果您发现任何错误,请帮助改进。谢谢!

如果您使用无障碍阅读工具、电子书或旧版浏览器,切换到“经典”版




相关影像

型号

Image
Neo Geo 'AES'
日版 1990年4月26日发售,美版和欧版1991年7月1日发售

主板

Image
主板
显示的是修订版 'NEO-AES3-6'。
我使用我购买的型号拍摄了这张照片。 另外,之前的主人重新排列了一些电容以改善视频信号。
Image
带有重要部件标签的主板

图示

Image
主架构图

简介

毕竟其直接来自街机世界,Neo Geo 毫无疑问是第四代游戏机中最昂贵的硬件。 这就引出了一个问题:它的性能如何?与其他机型相比又如何呢?

在这一篇目中,我们将探讨一家公司(SNK)不设预算限制并推出一款旨在取悦街机业主和富裕家庭的产品的结果。

型号和变种

Neo Geo 在设计上非常独特,因为它同时面向两个市场:街机和家用主机。 因此,SNK 创造了一种单一架构,并以两种不同的形式销售,每种都针对特定的市场:

我应该也提一下 Neo Geo CD,它是 AES 版本的后继者,如其名字所示,明显采用了 CD-ROM 作为游戏分发的媒介。 就像之前的形态一样,这个型号也有多个修订版。

无论如何,对于这次分析,我将重点放在 AES 版本上,因为这是我拥有的版本。 不过,在涉及到额外功能时,我也会适当地提及 MVS。


中央处理器 (CPU)

该系统采用双处理器配置,由一个 Motorola 68000 和一个 Zilog Z80 CPU 组成,这两个处理器都是 80 年代电子产品的标志性产品。 68000 负责执行主程序(也就是游戏),而 Z80 则被分配用于声音管理 [3]。 你可能会回想起 MD 中类似的分工角色,但相似之处仅此而已,因为芯片的变体和布局有所不同。

Image
Neo Geo 内部使用的 Motorola 68HC000 芯片,这款芯片是由东芝作为第二来源提供的。

举个例子,Neo Geo 的 68000 运行频率为 12 MHz(比 MD 的快 4 MHz)。 此外,安装的具体芯片是 68HC000,这是一种通过 CMOS 门组成的变体(与之前效率较低的 NMOS 工艺相比)。

如果你想了解 68000 和 Z80 的内部构造,我在 MDSMS 的文章中已经进行了详细的分析。 因此,在对 Neo Geo 的研究中,我将专注于它们的新用途。

多种支持芯片

Neo Geo 与同时代的任何家用游戏机之间最显著的区别在于,在设计前者时,SNK 并不受普通家庭预算限制的束缚。 因此,主板上集成了大量的控制器,这些不仅消除了许多 CPU 的瓶颈问题,还扩展了它们的功能。

列出所有的芯片令人费解,而更让人困惑的是 SNK 在不同版本中重新设计了芯片组,要么是将多个芯片合并为一个,要么是将单个芯片拆分成多个。 所以,现在让我告诉你,主板上包含以下几类“加速器”:

从现在起,我将在整篇文章中使用这些名称来指代各类芯片组。 在某些情况下,我还会提及特定的芯片名称以强调其重要性。

复杂的 I/O 处理

让我来介绍 68000 的一项之前未曾提及的高级功能:向量化中断表。 早期的 CPU 如 6502Z80 在处理 I/O 通信方面有着受限的设计。 每当外部设备需要 CPU 的关注时,它必须发送一个中断请求,而 CPU 则需要运行软件例程来处理这个请求。 在请求过程中传递的信息非常有限,这意味着 CPU 需要额外的周期来确定是谁触发了中断以及为什么中断 CPU。

公平地说,像 Z80 这样的 CPU 提供了额外的电路来允许外围设备告诉 CPU 下一步执行哪条指令。 然而,这种方法并未被广泛采用。

68000 改进了这项技术,将中断视为异常处理。 当外围设备中断 CPU[4] 时,它们需要自我标识。 然后,CPU 使用这个标识符组成一个内存地址,该地址指向一个定制的软件例程。 总的来说,这使得程序员能够高效地处理 I/O 通信,因为他们现在可以在一个名为自动向量表的内存区域中编目他们专用的中断处理程序,而 CPU 将自动执行每个处理程序。

Neo Geo 利用了这种设计,并增加了一个名为 NEO-E0 的控制器芯片。 基本上,Neo Geo 的操作系统和游戏都会实现一个专用的异常表,这是因为操作系统的表侧重于硬件接口,而游戏的表则在正常执行期间使用。 然而,68000 只能意识到一个表。 因此,NEO-E0 提供了自动的存储器区段切换功能(bank switching),确保 68000 始终可以从正确的表中读取数据。

进程间通信

在具有双处理器架构的系统中,两个 CPU 必须有一种方式进行通信。 在这个游戏机中,SNK 通过使用I/O 仲裁器 芯片实现了进程间通信(IPC)。 该仲裁器暴露了一个单一的 8 位寄存器,68000 可以写入此寄存器 [5]

Image
68000和Z80之间的IPC通道表示。

一旦寄存器被更新,仲裁器会向 Z80 发送一个不可屏蔽中断。 之后,Z80 可以读取该值(映射到一个端口),并据此做出反应。 这包括将数据写回到该寄存器,以便 68000 能够接收到新的数据。 但是,出于某种原因,68000 不会被中断(因此它需要进行某种形式的轮询)。

具体的 I/O 仲裁器芯片在不同的主板版本中有所变化。 最初使用的是 ‘PRO-B0’ 芯片,后来被 ‘NEO-C1’ 所取代。

防扫兴机制

说到中断,街机机柜所不能承受的就是需要不断的维护。

对于因为软件错误而导致游戏突然冻结的情况我们并不陌生。 解决方法也并非秘密:只需重启电源,再次启动游戏即可。 现在想象一下,如果这种情况发生在街机机柜上。 除非机柜的所有者恰好就在附近,否则故障的机柜只会带来不断的金钱损失。

Neo Geo —— 继承了投币机的要求 —— 通过捆绑一个看门狗程序 提供了“自动修复”过程。 这个程序位于 I/O 仲裁器芯片中[6]

Image
街机机柜无法承受持续的服务需求。 它们已经忙于吸引玩家。

系统的工作原理如下:游戏必须定期向看门狗通知其存在(通过写入特定的寄存器)。 不幸的是,如果在一定时间内看门狗没有收到心跳信号,它就会假设程序已冻结,并进而重置系统。

多亏有了这个功能,MVS 的所有者不必时刻留意他们的机柜。 与此同时,那些能够负担得起 AES 系统的幸运孩子们即使游戏崩溃也不必离开他们的豪华沙发。

不仅如此,MVS 主板还配备了一个额外的微控制器 NEO-F0 。 这个微控制器驱动着投币锁定 机制,防止用户在故障的系统上浪费硬币[7],除此之外还有其他功能。

可用内存

内存分布在主板和游戏卡带中(顺便说一句,游戏卡带的尺寸相当大)。 请记住这是一个昂贵的系统,因此内存带宽和容量是首要考虑的因素。

对于通用内存来说,68000 可用的 RAM 为 64 KB 。 与此同时,Z80 获得了 2 KB 的内存。

MVS 版本还另外包含了 64 KB 的内存。 这部分内存连接到了电池上,用于存储游戏得分,因此对于一般用途来说并无用处。

有趣的是,这个系统并没有采用任何形式的直接内存访问(DMA)来加速内存传输。 我认为考虑到专用总线的数量,这可能并不是必需的。


图形

Neo Geo 是基于图块的图形技术的巅峰之作,其丰富的色彩可与基于帧缓冲的系统 相媲美(后者直到四年之后才变得经济实惠)。 尽管如此,在效果方面,SFC 用较少的资源实现了更多的功能。

设计

图形子系统围绕着典型的视频显示控制器(VDC)模型构建,但这次它被大量的组件所包围。 结果就是这款主机能够显示大量的精灵图像,数量之多以至于标志性的背景层 不再那么重要。 这当然也说得通,因为背景原本就是为了应对有限数量的精灵图像而设计的。

Image
合金弹头 3 (2000).
Image
大联盟高尔夫球 (1996).
Image
Neo甩尾王 (1996).
Image
龙虎之拳3: 斗士之路(1996).
Image
野外飞盘 (1993).
Neo Geo 游戏示例。

话虽如此,该主机以符合 NTSC 和 PAL 信号的标准广播每一帧画面(选择哪种信号取决于地区)。 在这种情况下,画面的尺寸为 320 x 224 像素(对于 NTSC)或 320 x 256 像素(对于 PAL)[8]

芯片组

负责在电视上绘制图像的组件群随着新版本的发布而不断发展。 多年来,SNK 在制造其集成电路时交替使用了 NEC 和富士通。

Image
’LSPC-A2’芯片。
Image
’NEO-B1’芯片。
在我的主板版本中,这两个组件组成了视频显示处理器(VDC)。 二者均由富士通生产。

为了便于解释,我们先从这套芯片中最显著的部分开始描述:

如果之前的解释过于复杂,请不要担心。 接下来的章节将会更详细地解释这些内容。 现在,让我们继续分析这些芯片处理的信息。

硬件组织

图形数据分布在两个独立的板卡 上。 第一张是游戏机的主板 ,另一张位于游戏卡带中。 您可能会想起NES/Famicom. 中采用的类似模型。

Image
图像子系统的内存架构

在主板区域,我们发现有:

游戏卡带中的相应板卡被称为CHA板,包含以下部分:

构造帧

既然您已经大致了解了最重要的组件,现在让我简要概述一下图形子系统如何将数据转换成图像的过程。 换句话说,它是如何渲染一帧的:

  1. CPU用精灵图层和固定图层所需的引用填充VRAM。
  2. 根据VRAM中的信息,VDC从C ROMs和S ROM中获取图形,并将它们存储在线缓冲区中。
  3. 在获取过程中,VDC使用线缓冲区中的信息来锁定调色板RAM。 这样后者会将颜色像素数据发送给视频DAC。
  4. 视频DAC输出视频信号到电视。

基于这些步骤,现在我将以《龙虎之拳3》为例给您一个详细的解释。

图块

Image
一些在CROM中发现的图块。

传统上被称为8 x 8像素位图,图块是构成第四代游戏机图形的基本元素。 由于其独特的属性,Neo Geo只绘制两种类型的图形:固定图块精灵图。 因此,图块根据图形类型不同而分别进行编码和存储。 在这两种情况下,每个像素使用4位(换句话说,4bpp)进行编码,这意味着它可以选取最多15种颜色加上透明度

就色彩组成而言,调色板RAM允许存储256个色彩调色板[10]。 每个调色板包含十六种颜色,引用16位RGB值。 在所有可用的槽位中,有两个预留条目:一个是“参考颜色”,必须硬编码为$8000(纯黑色);另一个是“背景颜色”,它编码了一个任意颜色,在没有图块的情况下显示。

CPU可以在任何时候更新调色板RAM,但它应该只在消隐期间这样做。 否则,屏幕上会出现雪花效果。

固定平面

Image
和黑色背景一起的固定平面

固定平面是一个320 x 256像素宽(40 x 32图块)的图层[11],几乎占据了整个屏幕。 它的图块是完全静态的,并且只能访问16个色彩调色板。 实际上,这个图层用来显示“始终开启”的信息,类似于Game Boy的窗口图层

当在CRT屏幕上播放时,显示区域会更小。 因此,其安全区域为38 x 28图块宽。

固定图块是在VRAM的一个区域中声明的,称为固定图块映射表(Fix map)。 它以一个40 x 32的表格形式存在,每个条目对应屏幕上的一个位置。

S ROM在卡带中存储专用于固定图层的独有图块。 VDC最多只能寻址128 KB,但通过捆绑一个映射器[12] 可以扩展这一限制。

精灵图

Image
精灵图层,注意它是如何用于场景的所有区域的(不仅仅是两个角色)。

如您所知,精灵图是可以自由移动的图块。 然而,在Neo Geo中,用于精灵的图块异常地宽,达16 x 16像素。 考虑到这一点,VDC可以组合由16 x 16像素(1 x 1图块)到16 x 512像素(1 x 32图块)组成的精灵图。 之所以提供这种异常高的组合是因为任何精灵图也可以通过“连接”到前一个精灵图来进行水平组合(尽管它们仍然被计为单独的精灵图)。 总体来说,每行扫描线上最多可以有96个精灵图每帧最多可以有381个精灵图[13],这个数量与竞争对手相比是非常大的。

就效果而言,精灵图可以翻转和/或缩小。 这些属性存储在VRAM的“快速”区块中,使得CPU可以在不产生显著延迟的情况下更新它们。

由于其复杂性,精灵图像在视讯内存(VRAM)中的四个区域进行编码,这些区域被称为精灵图控制块(SCB),每个区块存储以下属性[14]

  • SCB1: 图块引用、色彩调色盘引用及X/Y轴翻转。
  • SCB2: 水平和垂直缩小。
  • SCB3: Y轴位置、垂直尺寸(以图块计算)以及精灵是否与前一个相连。
    • 精灵图相连会使第二个精灵图继承前者的属性,但不包括水平缩小。
  • SCB4: X轴位置。

如您所见,出于实用考虑,最后三个区块存储在快速VRAM中,而第一个则存储在较慢的VRAM中[15]

结果

Image
显示在屏幕上的结果帧。

尽管竞争对手 以与CRT电子束同步渲染而闻名,Neo Geo却采用了一种行缓冲渲染系统。 对于后者,游戏机将渲染的扫描线存储在上述缓冲区中,而不是将它们直接发送到屏幕。 因为视频显示控制器(VDC)具备储存两条扫描线的记忆体容量,这使得VDC可以在显示一条扫描线的同时渲染另一条,从而允许游戏在画面正在显示期间更新图像(除了水平空白期H-Blank 和垂直空白期H-Blank)。

说实话,VDC仍然会同时访问VRAM,因此中央处理器(CPU)必须等待12到16个周期[16](取决于操作)才能再次访问VRAM,否则下一个操作将被忽略(这也是使用两种VRAM变体的原因)。

广播发送帧

为了发送已渲染的扫描线,这一过程根据主机型号的不同(AES或MVS)而有所变化。

家用版增加了一个视频编码器来生成复合信号和RGB信号。 A/V接口与SMSMD 的类似,但不能互换。

MVS版则没有这样的设置,因为JAMMA协议将这项任务留给了街机柜的显示器。 所以主板发送的是原始RGB+同步信号。


音频

还记得我在文章开头提到的Z80 CPU吗? 它仍然是你在许多其他游戏机和微型计算机上常见的4 MHz CPU,但现在它有了驱动一款非常多功能的声音芯片的特权:Yamaha YM2610

Image
Yamaha YM2610搭配下方的YM3016。 输出音频需要这两个芯片共同工作。

YM2610是来自日本知名制造商的另一款FM合成器 。 它与MD 中使用的YM2612 非常相似,但不要被它的名字迷惑了,因为Neo Geo上的这个版本稍微更高端一些(尽管也有一些妥协)。

YM2610和YM2612都属于高端的“OPN”系列,这意味着Yamaha为每个FM通道提供了四个运算器。 现在,Neo Geo的芯片具有四个FM通道,相比之下比YM2612少了两个。 这就是它的不足之处。

FM通道配备了一个低频振荡器(LFO),用于调制运算器的幅度或频率。 LFO包含一组预定义的频率范围从3.98 Hz到72.2 Hz [17]

合金弹头 2 (1998), 显示用于音乐的FM和ADPCM频道。

尽管YM2610以其FM合成能力而闻名,但它还拥有一些额外的功能,这些功能对于音乐作曲家来说不会被忽视[18]

  • 软件控制的声音生成器(SSG):这是Yamaha对可编程声音生成器(PSG)的称呼。 本质上,该芯片内部集成了一个传统的Yamaha YM2149,可以生成三个带有可选噪声的方波。 它还配备了包络控制。
    • 原始的YM2149配备了一个名为“I/O端口”的接口,用于在CPU和其他组件之间传输数据[19]。 由于现在这个接口已经不再相关,因此嵌入在YM2610中的变体并不包含它。
  • 七个ADPCM通道:能够使用4位ADPCM格式播放采样。 这些通道分为两组:
    • ADPCM-A:由六个通道组成,它们提供12位的采样分辨率和大约18.5 kHz的采样频率。
    • ADPCM-B:这是剩余的一个通道,具有16位的分辨率和高达约55.56 kHz的采样频率(优于CD音质)。

YM2610连接到卡带中的两个称为V ROMs的存储芯片。 这些芯片存储ADPCM采样,并且每组ADPCM通道都有一个对应的V ROM。

总的来说,音频子系统结合了第三代、第四代以及当时尚未发布的第五代游戏机的技术。 然而,与CD介质 不同,Neo Geo卡带只能存储有限的数据,因此ADPCM通道主要受限于存储限制。 无论如何,有些游戏巧妙地安排了ADPCM的使用,而将FM作为次要成分[20]

最后,YM2610与另一个芯片Yamaha YM3016配合工作。 后者是一个专用的16位数字模拟转换器(DAC),它接收来自YM2610的数字信号输出并将其转换为模拟音频(扬声器可以理解)。

执行器

为了让音频芯片执行有意义的操作,Z80必须正确地对其进行控制。 因此,Z80运行一个存储在另一个单独的芯片M1 ROM中的程序。 这个芯片位于游戏卡带内,具体地说,在CHA板上。 Z80的程序通常被称为声音驱动程序,而且有许多不同的实现[21]

Image
Zilog Z80, NEO-D0 的周围环境。

同样地,Z80与一个专有的控制器NEO-D0配对,后者充当内存银行和I/O控制器。


操作系统

主板上有一个128 KB的“系统”ROM[22],这相当于典型的BIOS,提供了以下功能:

视觉服务

在打开游戏机后,用户会注意到一个称为“Eyecatcher”的启动画面[23]。 它的代码存储在系统ROM中,但图形资源(如Neo Geo标志和其他标签)则从卡带的C ROM和S ROM中获取。

另外,P ROM的头部可能包含一个标志,指示系统ROM将启动画面程序委托给卡带[24]。 这仅适用于AES版本[25],而后期的游戏采用了这种方式来显示不同的文本。

Image
由系统ROM实现的眼球捕捉画面。 它仍然依赖于卡带提供的图块。 官方实现显示了具有标志性的“Max 330 Mega”子标题,以此来展示Neo Geo卡带的理论存储容量。 后期的游戏通过使用标志,则显示为“Giga Power”。
Image
Mvs系统还提供了一个测试菜单来配置机柜(例如调整日历、测试组件等)。

MVS系统还提供了一个测试菜单来配置机柜(例如调整日历、测试组件等)。 这个菜单通过翻转MVS上的一个DIP开关触发(终端用户无法访问)。 因此,其主板捆绑了一个S ROM,用于存储该菜单的固定

系统例程

除了视觉方面,系统ROM还提供了操作硬件的软件例程,这包括:

有趣的是,系统例程反过来可能会调用游戏例程以继续某些操作。 这意味着游戏也需要负责实现某些调用[26] [27]。 例如,系统ROM可能会要求游戏执行以下操作:

如您所见,大部分低端I/O操作都委托给了系统ROM,而游戏则专注于提供其独特的内容。


游戏

首先,游戏是用68kZ80汇编语言编写的。 直到下一代游戏机(随着新CPU 的到来)编程语言才会成为工具箱的一部分。

发行介质

遵循第四代游戏机的趋势,Neo Geo使用卡带作为其唯一的游戏媒介。

不过,我得说Neo Geo的卡带是我见过的家庭游戏机中最大的。 这是因为卡带内装载了大量的专用芯片。 与SFC, 不同,后者的游戏 可以选择性地扩展 游戏机的功能,而Neo Geo的游戏严格要求捆绑大量的电路。

Image
Neo Geo通用卡带[28]。 请注意突出的两块电路板。

我在前面的部分已经提到了卡带系统的某些部分,但让我给你做一个快速总结,以便你能够更清楚地了解这个系统是如何工作的。

如你所知,Neo Geo的卡带由两块电路板组成。 第一块被称为PROG板,包含以下ROM芯片:

相比之下,第二块电路板就是前面提到的CHA板,其中嵌入了以下组件:

保存进度

作为家用与街机的混合体,SNK提供了一个基本的配件来追踪分数和进度:一种专有的记忆卡

Image
记忆卡 [29].

记忆卡适用于AES和MVS两种型号。 选项从2KB16KB的电池支持SRAM不等[30],但在所有情况下,电池都是不可更换的。

保存的数据是以64字节区块的形式分布在五个段落中的,而系统ROM提供了I/O例程来操作这些数据。

话虽如此,街机柜是否真的“准备好了”接受记忆卡…… 那就是另一回事了。

我是从杂志上了解到记忆卡的,但在我的城市里,官方的Neo Geo游戏柜非常罕见。 相反,我们有很多由Segasa提供的“Video Sonic”游戏柜。 有些甚至缺少玩游戏所需的所有按钮,更不用说记忆卡插槽了!

-- 来自西班牙赫雷斯的自豪Neo Geo鉴赏家


反盗版与自制软件

无论是游戏机还是游戏本身都成为了未经授权方的目标,其中许多人最终生产了自己的盗版复制品[31]。 盗版硬件是由现成和逆向工程的芯片组合而成,目的是以更低的价格销售作为SNK硬件的替代品。

因此,一方面,SNK试图抵御这些盗版者。 另一方面,游戏工作室则在确保他们的代码仅能在正版游戏机和卡带中运行。

对抗盗版游戏机

SNK和游戏工作室都不希望其产品在盗版硬件上运行(无论是Neo Geo克隆机还是盗版卡带)。 因此,许多游戏内置了一些例程,用于检测主板上的特定区域(例如状态标志、实时时钟、看门狗等)。 以尝试发现来自克隆板的任何缺陷。[32]。 每当这些检测失败时,游戏就会显示警告信息并拒绝继续运行。

对抗盗版卡带

考虑到卡带内包含了大量的集成电路,游戏实施了许多创意措施来打击盗版。

从常见的技术开始讲起,系统ROM中包含了一部分被称为安全码的数据,在启动时会与卡带的P ROM进行逐一对比[33]。 只有当两个区域匹配时,引导加载程序才会继续执行。

此外,像《饿狼传说2》这样的游戏也会与其配套的’PRO-CT0’芯片(CHA板上的多路复用器)交互,以确保程序位于正版卡带中[34]。 否则,它会认为程序已被克隆,并触发许多反盗版的不愉快行为(比如让对手无敌)。

后来,新版本的游戏还在C ROM中存储了加密数据,设计为可以无缝地被’NEO-CMC’(位于CHA板上)解密[35]。 这个芯片包含了一系列非同寻常的异或函数,在图形数据到达VDC之前对其进行去混淆[36]。 NEO-CMC还作为C ROM中的瓦片数据的多路复用器,允许制造商完全省略S ROM芯片的使用。

对于极端措施,像《合金弹头X》这样的游戏在其PROG板上捆绑了专门的集成电路,进一步增加了复杂性[37]。 这让我想起了任天堂的CIC系统,该系统需要持续的游戏芯片通信(尽管在目标和架构方面显著不同)。

总而言之,这说明反盗版斗争就像一场猫捉老鼠的游戏。 然而,在这种情况下,SNK试图让家用和街机的拥有者远离更便宜的仿冒品。

上市后的工具

随着这款游戏机生命周期的结束,一个新的阶段出现了:自制软件(运行自制软件和/或硬件)。 截至本文撰写之时(2024年6月),最常见的实践包括硬件修改固件替换闪存卡

得益于其热情的社区,有许多在线资源可用来教授如何修正和/或修改MVS和AES硬件。 这些资源包括将MVS机型转换为可以在街机柜外工作的模式(所谓的“家用化”),而其他资源则专注于解决某些机型的不足之处。 例如,我拥有的AES机型对其视频编码器进行了旁路处理,提高了RGB输出的质量。

在固件方面,已经出现了一些发展,如’UNIVERSE BIOS’/UniBIOS。 这相当于一个定制固件,旨在替换原始的系统ROM。 背后的技术是基于MVS的系统ROM进行了修改,以提供额外的功能[38]

最后,为了在这台游戏机上运行任意代码,商店正在销售第三方闪存卡,这些闪存卡可以重新编程以复制任何过去的CHA和PROG板。 由于它们的复杂性,这些闪存卡并不便宜,但这是如今Neo Geo用户可用的另一种产品。


这就是全部了,伙计们。

Image
我的 Neo Geo AES. 出于好奇,我购买了我的Neo Geo Aes,卖家提供了一整套设备,包括一个闪存卡和两个手柄。 大约半年后,这成了我撰写关于它的文章的一个好借口。

有趣的是,最后一款Neo Geo游戏是在2004年发布的,距离其首次亮相几乎过去了14年。 这对于一款家用/街机混合体来说是一个相当了不起的成就,我希望这篇分析能够帮助你从技术角度理解这些成果。

对我来说,写这篇文章很吸引人,因为我之前花了大量篇幅讨论任天堂3DS,,这有助于我回到网站2019年初创时采用的那种“经典”的写作结构。

考虑接下来的文章,我还有两条路线可以选择:一是继续 任天堂3DS 之后的现代硬件时间线;二是继续介绍另一款2D游戏机:Pippin。 后者将有助于我引入PowerPC CPU,而现代硬件将使我能够讨论ARMv7和ARMv8。 让我们拭目以待吧!

下次见!
Rodrigo


参与贡献

这篇文章是 游戏主机架构 系列的一部分。如果您觉得我的文章很有趣,请考虑捐赠。您的资助将用于购买工具和资源,以帮助我提高现有文章和即将发表的文章的质量。

Donate with PayPal
Become a Patreon

你也可以购买英语版本的电子书。我会将获得的利润视为捐赠。

Image

特别感谢下列人员的捐助:

- All of the generous eBook readers
- Adam Obenauf
- Adrian Burgess
- Alberto Massidda
- Alex Christensen
- Angus MacMullen
- Antonio Bellotta
- AT13C
- Ben Morris
- Bitmap Bureau
- Brandon Arnold
- CyberpunkDre
- D
- Daniel Cassidy
- Elizabeth Isley
- Grady Haynes
- Hadlee Simons
- Hazel Boston
- Ian Shaw
- James William Jones
- jmi2k
- João Baptista
- Landon Carbenia
- ltlollo
- Luke Groeninger
- Luke Wren
- Marc C.
- Max Robertson
- MCE
- Mia
- Nicholas T.
- Olivier Cahagne
- Owen Christensen
- Pedro Henrique Martins Garcia
- petey893
- quantaq
- Red Wolf
- Rene Wolf
- Rodrigo Groppa
- Sanqui
- Sariya Melody
- Scott Munro
- Sebastian Brand
- Str33tz
- Thomas Finch
- Thomas Peter Berntsen
- Tobias Gruetzmacher

或者,您可以通过 建议更改添加翻译 来提供帮助。


Copyright and permissions

This work is licensed under a Creative Commons Attribution 4.0 International License. You may use it for your work at no cost, even for commercial purposes. But you have to respect the license and reference the article properly. Please take a look at the following guidelines and permissions:

Article information and referencing

For any referencing style, you can use the following information:

For instance, to use with BibTeX:

@misc{copetti-neogeo,
    url = {https://www.copetti.org/zh-hans/writings/consoles/neogeo/},
    title = {Neo Geo架构 - 一份实证分析},
    author = {Rodrigo Copetti},
    year = {2024}
}

or a IEEE style citation:

[1]R. Copetti, "Neo Geo架构 - 一份实证分析", Copetti.org, 2024. [Online]. Available: https://www.copetti.org/zh-hans/writings/consoles/neogeo/. [Accessed: day- month- year].
Special use in multimedia (Youtube, Twitch, etc)

I only ask that you at least state the author’s name, the title of the article and the URL of the article, using any style of choice.

You don’t have to include all the information in the same place if it’s not feasible. For instance, if you use the article’s imagery in a Youtube video, you may state either the author’s name or URL of the article at the bottom of the image, and then include the complete reference in the video description. In other words, for any resource used from this website, let your viewers know where it originates from.

This is a very nice example because the channel shows this website directly and their viewers know where to find it. In fact, I was so impressed with their content and commentary that I gave them an interview 🙂.

Appreciated additions

If this article has significantly contributed to your work, I would appreciate it if you could dedicate an acknowledgement section, just like I do with the people and communities that helped me.

This is of course optional and beyond the requirements of the CC license, but I think it’s a nice detail that makes us, the random authors on the net, feel part of something bigger.

Third-party publishing

If you are interested in publishing this article on a third-party website, please get in touch.

If you have translated an article and wish to publish it on a third-party website, I tend to be open about it, but please contact me first.


来源 / 继续阅读

反盗版

音频

CPU

游戏

概述

图形

操作系统

影像


Rodrigo Copetti

Rodrigo Copetti

希望你能喜欢这篇文章!如果想了解本文作者的相关信息,点击这里 如果你想支持他,请点击这里

rsslinkedintwittergithub facebookreddit