An Ode to the Game Boy Advance
致敬 Game Boy Advance:一段游戏掌机的回忆
2025年3月27日
2001年3月,任天堂推出了一款“高级”便携式游戏机,即 Game Boy Advance (GBA,代号 Advanced Game Boy 或 AGB)。这款小巧的设备配备了现代化的32位 ARM CPU,运行速度是 Game Boy Color (GBC) 的两倍,能够流畅运行类似 SNES 的游戏,而且只需两节 AA 电池。
作为 Game Boy 系列的第三次重大改进,GBA 再次取得了巨大成功,在其相对较短的生命周期内打破了多项销售记录。根据 Eurogamer 的报道,在英国,GBA 在其发布的第一周销量是 PlayStation 2 的四倍。尽管 Gunpei Yoko 的“ Lateral Thinking with Withered Technology ”设计理念仍然适用(该系统仍然很便宜:定价为 $99.99——相当于 2020 年的 $146.37),但 GBA 的技术规格显然成为了关注的焦点。否则,为什么要命名为“ Advance ”或者在包装盒上标上“ 32 bit ”?这几乎像是一种拙劣的道歉:“对不起,之前的 GBC 不够好。这次,这个型号绝对是高级的,我们保证!”
当我们回顾一些 GBA 的首发游戏时,这一点变得更加明显,这些游戏都喜欢炫耀这款新型 Game Boy 的强大性能:
- Castlevania: Circle of the Moon。出色的音乐、广阔的城堡供探索,以及敏捷的吸血鬼猎杀动作,甚至在 SNES 上的《Castlevania IV》中都没有出现。
- Super Mario Advance。不要把它看作是 Super Mario Bros. 2 的苍白改编版(而 Super Mario Bros. 2 本身就是 Doki Doki Panic 的改编版):Nintendo R&D2 在嵌入旋转、弹出、嗖嗖、弹跳和伸展动画方面下了很大功夫。传达的信息很明确:“各位游戏开发者们,看看这个!GBA 对此有硬件加速!快去为它制作游戏吧!”
- F-Zero: Maximum Velocity。一款可以执行 Mode-7 特效(如旋转、缩放和倾斜背景层)的掌机?终于实现了!不再需要掌握古老的 HDMA 技术了。
在展示 GBA 优势的同时,这些游戏也暴露了它最大的弱点:仍然没有背光屏幕。对于像我这样的《Castlevania》粉丝来说,这尤其令人痛苦:阴暗的场景并不像更欢快的《Super Mario Advance》那样受益于高对比度的色彩。如果没有适当的光源,这往往会导致一片黑暗的粘稠混乱,使得本来就严峻的难度变得更加令人沮丧。对对比度的抱怨甚至促使 Konami 在他们的下一款 GBA《Castlevania》游戏《Harmony of Dissonance》中全力以赴地使用色彩,但这又受到了批评……因为它过于明亮的调色板。
《Castlevania: Circle of the Moon》,在阴天室内玩(左图,模拟)。你最好狂按攻击按钮,因为背景和前景几乎无法区分……右图:在 mGBA 模拟器中运行。凭借 PC 屏幕充足的对比度,右侧的 Skeleton Bomber 显得格外突出。
这个问题并不新鲜,但由于与它的前代产品相比,调色板的尺寸大大增加,图片分辨率提高了 66%,因此变得更加紧迫。这些功能提供了清晰的图像,几乎没有运动模糊——只要你能看到你在做什么。《Circle of the Moon》确实优雅地老去,前提是你需要在更现代的系统上玩它,这样你就可以轻松地发现城堡走廊中潜在的危险。
任天堂的工程师们不仅吸引了新的玩家加入掌机游戏领域,而且还通过在硬件中配备第二个 CPU:值得信赖的旧款 Sharp LR35902,确保了他们的老客户也同样满意。这使得 GBA 能够毫无妥协地运行 GB 和 GBC 游戏。由于 GBA 屏幕是水平方向的,而原始 Game Boy 不是,玩家可以选择以预期的宽高比进行游戏,也可以通过按 L 或 R 来拉伸图像以填充 GBA 的屏幕。这两种选择都有代价:实际图像尺寸小于原始掌机,或者图像模糊。
向下兼容曾经是,现在仍然是一个巨大的卖点。在 2001 年秋季,家用游戏机玩家将再次被冷落,因为任天堂最终将 N64 上的卡带游戏切换到 GameCube 上的迷你 DVD。幸运的是,任天堂掌机始终以兼容性为出发点进行开发:GBC 玩 GB 游戏,GBA 玩 GB 和 GBC 游戏,Nintendo DS 玩 GBA 游戏,Nintendo 3DS 玩 DS 游戏。此外,Nintendo 3DS eShop 还销售各种较早的掌机游戏。而且,从技术上讲,Goomba Color 模拟器允许你使用 GBA 烧录卡在你的 Game Boy Micro 或 Nintendo DS 上玩 GB/GBC 游戏。
检查任天堂掌机的生命周期会产生一些有趣的事实。通过对原始硬件进行巧妙的改进,显著延长了 Game Boy 的生命周期,当时 Game Boy 已经强大了七年。频繁的硬件修订策略成为所有任天堂掌机的常见做法。
任天堂掌机和游戏机的生命周期。第一组(浅绿色):Game Boy 系列。第二组(深绿色):GBA 系列。游戏机以橙色标记。Nintendo 3DS(未图示)是第八代产品的一部分,于 2011 年问世。
GBA 在推出仅仅两年后就迎来了它的第一次修订版,即 SP——这比原始版和 Pocket 版之间的七年间隔要快得多。这种更快的节奏在 Nintendo DS 和 3DS 上也得到了保持。然而,GBA 的总生命周期——除了古怪的 GB Micro 之外——比 GB 系列短得多:GBA 于 2001 年问世,并于 2004 年随着 DS 的发布而退出市场。
然而,任天堂根本没有停止对 GBA 的支持。那么,为什么一家公司会发布另一款对其自身产品构成威胁的掌机呢?来自 2003 年 11 月的一份 IGN 新闻报道 为此提供了一些线索:
周四凌晨,任天堂证实,它在财政年度的上半年出现了亏损,这是该公司历史上首次出现亏损。该公司还表示,它将开发一款新的游戏产品,该产品不会是 GameCube 或 GBA 的继任者,计划于 2004 年发布,但没有提供更多细节。
该公司在游戏机竞赛中步履维艰,索尼的 PlayStation 抢走了 N64 的风头,而微软于 2001 年携 Xbox 进入市场。与 PS2 相比,GameCube 的表现非常糟糕。任天堂最初并不打算让 Nintendo DS 接替 GBA,尽管最终它确实做到了。相反,他们正在寻找介于游戏机和经典掌机之间的东西,一种能够吸引比游戏玩家更广泛受众的东西。一系列成功的非游戏玩家友好型软件,例如 Dr. Kawashima’s Brain Training 和 Nintendogs 正是如此。
最终,Nintendo DS 系列的销量几乎是 GBA 系列的两倍。DS 发布取得巨大成功,但并未阻止任天堂为 GBA 发布另一款修订版:超小的 Game Boy Micro。其尺寸仅为 50×101×17.2 mm,重量为 80 g,用“tiny(微小)”来形容它绝对是合适的。 根据当时的副总裁 George Harrison 的说法,Game Boy 系列是任天堂的试验场,他们不断地、有意识地渴望创新,而不仅仅是重复。
然而,创新并不一定意味着商业上的成功。事实上,根据 2007 年的财务报告,Game Boy Micro 是任天堂有史以来销量最差的掌机,仅售出约 2.5 百万台。当时的任天堂总裁 Satoru Iwata 后来承认,Nintendo DS 可能阻碍了 Micro 在销量方面的更好表现:
Micro 的销量没有达到我们的预期。Micro 在日本国内外的销售情况有所不同。在日本,Micro 的初期销量相当不错,并且确实成为一个相当热门的话题。因此,这款产品有可能在日本发展。然而,在 2005 年底,任天堂不得不将我们几乎所有的精力都集中在 DS 的营销上,这肯定剥夺了 Micro 的发展势头。这就是 Micro 在日本未能达到我们预期的原因。
Project Atlantis,一款新的 Game Boy 的代号,于 1997 年因同样的原因被放弃:任天堂担心新款游戏机会妨碍原始 Game Boy,因为它仍然牢牢控制着掌机市场。Atlantis 被设计为原始 Game Boy 的真正继任者,据称配备了 32 位处理器和彩色屏幕。相反,任天堂再次展示了其保守的一面,通过 GBC 延长了 Game Boy 的生命周期。32 位 CPU 的想法被保存在冷藏室中,直到 2001 年。
与掌机相比,游戏机的重叠生命周期也值得关注。当 GBC 于 1998 年问世时,Nintendo 64 已经在试图证明自己是 SNES 的继任者两年了。随着硬件工程时间的减少,连续的游戏机和掌机的生命周期确实缩短了一点,最终使掌机的生命周期与上一代游戏机的时间一致。
一些 NES 游戏被移植到 GBC 1,有时甚至拥有改进的图形(Dragon Quest I/II,Super Mario Bros.)。GBA 被戏称为“便携式 SNES”,而 Nintendo DS 硬件使得在它上面运行修改版的 Super Mario 64 和 Diddy Kong Racing 成为可能,然后 3DS 带来了更强大的功能,包括 The Legend of Zelda: Ocarina of Time 3D 以及诸如 Luigi’s Mansion 等优秀的 GameCube 游戏移植版。
GBA 的 PCB,正面(顶部)和背面(底部),修订版 03。
上面图片中的 PCB 上令人惊讶地没有什么东西,因为包括第二个 CPU 在内的大多数组件都嵌入在中间的 CPU-AGB 外壳中。右上角的芯片是 256 KB 的 WRAM。CPU 左侧的晶振以 4.194 MHz 的频率运行,正如顶部所示:这与原始 Game Boy 的速度相同。GBC 的有效 CPU 速度翻了一番,而 GBA 游戏的速度翻了四倍!PCB 正面最后一个可见的芯片是最左侧标有 AGB-REG 的 LCD 稳压器。
主板的背面展示了左下角的放大器 (AMP AGB),靠近音量电位器和扬声器。杂乱的带状连接器和红线是我不专业地尝试用背光屏幕替换库存屏幕的结果。新屏幕通过该电线接入 GBA 的电源。由于 CPU 这次位于 PCB 的背面,因此不需要铝制屏蔽罩将其与卡带插槽隔开。但是,重新组装带有更厚的定制屏幕的设备时需要格外小心,因为这会对 CPU 外壳施加相当大的压力。
从技术上讲,GBA 的速度大约是 GBC 的两倍,内存是其八倍:
| 规格 | 数值 | | :----------- | :---------------------------------------------------------------------- | | CPU | 16.8 MHz 32 位 ARM7TDMI 和 Sharp 协处理器 | | 内存 | 256 KB 工作 WRAM,128 KB 视频 VRAM | | 卡带 | 最大 32 MB | | 屏幕 | 240 宽 x 160 高(3:2 宽高比) | | 颜色 | 15 位 RGB | | 音频 | 两个 8 位数模转换器 (DAC),来自原始 GB 的四个传统通道 | | 音频输出 | 立体声 |
乍一看,与配备速度较慢的 16 位 Ricoh 5A22 处理器的任天堂 SNES 相比,这些数字看起来令人印象深刻。两种 PPUs 具有相似的功能,包括用于快速内存读/写周期的 DMA 和 HDMA 系统。然而,也许最显著的区别是缺少适当的音频子系统。两个 DAC 组件仅仅将字节流式传输并转换为模拟音频波(以令人痛苦的低 8 位分辨率):混音和应用效果必须在软件中完成,从而消耗宝贵的 CPU 周期。任天堂希望游戏开发者部分依赖 Sharp 协处理器来产生 8 位音效,但最终很少有游戏有效地利用它。
另一个从 SNES 借鉴的功能是肩部按钮。动作按钮 X 和 Y 不得不等到 DS。GBA 设计师是否从 Sega 的 Game Gear 借鉴了水平掌机布局,我们可能永远不会知道。但这一决定确实使系统在长时间握持和游戏时更加舒适。
GBC 的屏幕已经可以处理 15 位 RGB 值,但硬件的少量内存限制了调色板。GBA 凭借其更舒适的内存大小,将前景色和背景色的颜色范围从 56 增加到 256。
GBA SP
GBA “SP”(代号 AGS)不是等待七年才重新设计第一个 Advanced 型号,而是在原始 GBA 问世仅两年后就发布了。全新的水平布局立即被抛弃,取而代之的是类似于 GBC 的型号,只不过翻盖设计使你可以将其对折。封闭的 GBA SP 尺寸仅为约 8.4 厘米,终于成为终极便携式游戏机。
根据任天堂的说法,重新设计是为了解决原始设计的两个主要问题。首先,据称它使用起来不舒服,因此采用了新的布局。在实践中,大多数玩家抱怨说实际上是 SP 型号会伤害他们的手,由于新的翻盖设计,手指被锁定在一个狭窄的位置。
其次,关于屏幕对比度的抱怨最终得到了重视。嗯,并非完全如此。第一个 SP 型号 (AGS-001) 包含一个可以打开和关闭的内部前置光源。它的作用类似于带有嵌入式 Light Boy 配件的 Game Boy。其效果比第一个 GBA 更好,但仍然不是很好,因为前置 LCD 屏幕往往会使颜色褪色。幸运的是,修订后的版本 (AGS-101) 最终包含了一个适当的背光屏幕——尽管你必须再等两年才能得到它,并且欧洲人再次处于不利地位,因为它的供应极其有限。
GBA SP 结束了一个需要随身携带大量 AA(或者,如果是 Pocket,则是 AAA)电池和你最喜欢的掌机系统的时代。最终引入了一个集成的可充电锂离子电池舱,根据官方规格,如果你禁用屏幕灯光,它可以让你忙碌长达 18 个小时。一旦你想插入耳机,通过充电系统获得的舒适感就会突然消失:耳机插孔消失了,取而代之的是一个笨拙的适配器——当然要单独购买——它插入与电源充电器相同的交流端口。如果没有更多的适配器,就不可能同时使用耳机和为系统充电。这下糟了,备用 AA 电池。
Game Boy Micro
2005 年,任天堂通过推出 Game Boy Micro(代号 OXY)重新采用了水平布局。它看起来像是“我们能做得多小”比赛的结果:它的宽度只有 10 厘米,长度只有 5 厘米,重量只有 80 克,这款小巧的 Game Boy 甚至可以塞进与钥匙相同的口袋里。虽然你最好不要这样做,因为这次外壳是金属的,因此很容易刮花。而且,你可能会冒着取出 Micro 而不是汽车钥匙的风险,因为两者都同样小。
Game Boy 屏幕尺寸比较(实际尺寸)。尺寸以毫米为单位。GBA 的宽高比为 3:2(紫色),而 GB 的宽高比约为 10:9(GBC 为橙色,Pocket 和 Classic 为灰色)。
大约三分之一的屏幕尺寸消失了。然而,减小的尺寸确实提供了极其清晰的图像,因为每英寸像素数或 PPI 从 99 增加到 144。再加上一个漂亮明亮的背光屏幕,Micro 几乎创造了能够以高清图像质量玩 GBA 游戏的错觉。哦,而且耳机插孔又回来了。
这是统治一切的 Game Boy 系统吗?这取决于向下兼容性是否在你的优先级列表中占据重要地位,因为任天堂决定在其掌机部门中首次放弃对旧 Game Boy 卡带的支持。考虑到机器的物理尺寸,这可能不会令人感到非常惊讶。8 位 Sharp CPU 的一小部分仍然存在,因为 GBA 游戏可以利用其 4 声道 APU。
Game Boy 设备尺寸比较(实际尺寸)。尺寸以毫米为单位。
GBA CPU 架构
GBA 硬件架构的简化示意图。内存组件以橙色标记(未描绘 BIOS ROM)。组件通过混合 8 位(GBC ROM,SRAM)连接。基于 Rodrigo Copetti 的 Game Boy Diagram。
自原始 Game Boy 以来十二年的技术进步清楚地反映在 GBA 架构中。例如,曾经位于 CPU 旁边的 PCB 上的少量 8KB RAM 模块现在已通过将 RAM 分割成更大的 IWRAM(内部工作 RAM)和 EWRAM(外部工作 RAM)块来部分嵌入,从而提高了数据访问速度。
8 位 Sharp CPU 的存在并不意味着可以将工作卸载到该协处理器。它只是为了确保机器与较旧的游戏卡带向后兼容。但是,程序员仍然可以访问较旧 CPU 的 APU 单元来产生复古声音。硬件卡带选择器开关确定要激活哪个 CPU 和 BIOS。
即使 CPU 确实可以在不消耗额外周期的情况下处理 32 位数据,但大多数组件(包括大多数内存块(IWRAM 除外))都仅使用 16 位总线连接到中央系统。这一决定以及缺少适当的音乐芯片进一步降低了制造成本。
与原始 GB 相比的另一个区别是 GBA 卡带上缺少 MBC 组件。完整的 32 MB ROM 数据被映射到地址空间,而无需读取几千字节的块。GBA 仍然依赖于内存映射 IO 概念,并且无论好坏,仍然没有操作系统来处理它。地址空间确实从 16 位(GB 上的 $0000 到 $FFFF)增加到 32 位($00000000 到 $FFFFFFFF),以适应大多数子系统增加的尺寸。完整的地址空间如下所示:
GBA 的 32 位地址空间的视觉表示。基于 DuoDreamer 的 DreamScape Game Boy Memory Map。
$00000000-$00003FFF—16 KB,32 位:系统 ROM,包含 BIOS 和可以执行(例如 DMA 和计算平方根)但不能读取的特殊系统函数。$02000000-$02030000—256 KB,16 位:EWRAM。用于存储临时变量的地址空间,外部于 CPU。$03000000-$03007FFF—32 KB,32 位:IWRAM。更快但更小的 RAM,用于存储临时变量,内部于 CPU。$04000000-$040003FF—1 KB,16 位:IO 寄存器。可以在此处控制各种外部输入和中断。这是一个非常密集的区域:几乎每个位都有特殊的含义。$05000000-$070003FF—98 KB,16 位:VRAM。第一个千字节存储两个 256 色条目调色板。最后一个千字节包含对象数据。其余的 96 KB 保留给 PPU 用于绘制屏幕的图块和背景数据。$08000000-$????????—?? KB,16 位:卡带 ROM,可以占用最多 32 MB 的空间,是图中紫色块的 16 倍。相同的反盗版保护仍然存在,要求游戏开发者许可并在特定位置存储任天堂徽标。$0E000000-$????????—?? KB,8 位:卡带 RAM。此 RAM 是外部的且是可选的。与大多数较旧的 GB 游戏相反,GBA 游戏几乎总是配备 RAM 芯片,平均约 64 KB。
本质上,在 GBA 上编程与在 GB 上编程并没有太大区别。它仍然是一台需要你摆弄地址的机器。幸运的是,这一次,它带来了 21 世纪初软件开发的优势:高级编程语言、适当的调试工具、更好的编译器和文档,以及最后但并非最不重要的:互联网访问,以防出现问题。
游戏是用 C 编程语言编写的,因此开发人员终于摆脱了构建复杂但繁琐的汇编例程的负担。可悲的是,后一种说法太好了,不可能是真的。
处理指令
GBA CPU 芯片配备了一些绝对必不可少的特性。与它的哥哥,8 位 Sharp CPU 不同,32 位 ARM7TDMI RISC CPU 没有配备一个,而是配备了两个指令集!
ARM 公司为其所有 ARM CPU 创建了自己的标准指令集,并深思熟虑地将其称为 ARM 指令集。CPU 理解 32 位 A32 指令,这是一种在 pre-ARMV8 架构中的 ARM 方言。我们现在不用 8 位 Game Boy 加载指令 LD A,B,而是写 LDR A,B。结果是一样的:LD (LoaD) 或 LDR (Load RegisteR) 只是不同语言的动词。由于 ARM 内核比旧的 Sharp 内核高级得多,因此其指令集也更强大。请记住,ARM7 处理器有 16 个 32 位寄存器可用。
然而,ARM 代码会转换为 32 个占用的位。这在有限的机器上是很大的。00010111000000000001100000000111 只是一个指令。为了提高代码密度,程序员可以决定改用第二个可用的指令集,称为 Thumb 模式。这些 Thumb 指令是 ARM 的一个子集:可以表示为 Thumb 的一切也可以写成 ARM,但反之则不然(那么容易)。Thumb 指令仅占用 16 位,是 ARM 代码大小的一半。
使用 Thumb 最令人信服的原因不是它减小的尺寸,而是它在访问 16 位总线子系统(例如 EWRAM)时提高的速度。使用基于 32 位的指令集(例如 ARM)的问题在于,一切都将表示为 32 位数据。这意味着 16 位数据将被转换为 32 位数据,从而浪费一个宝贵的周期。由于大多数 GBA 子系统都具有 16 位总线,因此仅使用 16 位指令集才有意义:Thumb。
在实践中,ARM 和 Thumb 都看到了它的用途。大多数 C 代码将被编译成 Thumb 汇编,之后将在 ARM 中手动优化关键部分,同时也利用 32 位 IWRAM。创建充分发挥 GBA 优势的游戏最终需要精通三种编程语言:C、ARM 汇编和 Thumb 汇编。
ARM7TDMI 2 内核的另一个巨大优势是嵌入式三级流水线。典型的提取/解码/执行机器周期是一个顺序过程:下一次提取必须等到解码和执行步骤完成后才能进行。通过指令流水线,可以在单个处理器上实现并行性。
这个想法很简单:尽可能让 CPU 的所有部件都保持忙碌状态。一旦提取了第一个指令,就可以对其进行解码。但是负责提取的部分不应空闲:相反,它可以已经提取了第二个指令,依此类推。流水线显著减少了吞吐时间,如下图所示。
流水线指令带来了一系列自身的问题。例如,如果第二个指令依赖于第一个指令的输出怎么办?有很多可能的解决方法,这些解决方法远远超出了本文的范围。在 GBA 上实现流水线也比在 GB 上更容易,因为 RISC 处理器保证每个执行块只占用一个周期。
想象一下你的母亲在洗衣服。在上图中,将“提取”替换为洗涤,将“解码”替换为干燥,将“执行”替换为熨烫。GBA CPU(我们应该称它为妈妈吗?)能够将衣服从洗衣机直接放入烘干机,从而使第二批衣服能够立即洗涤。与此同时,可以熨烫烘干的衣服。原始 Game Boy 将衣服放入洗衣机并等待程序完成。然后将其转移到烘干机以等待更多时间。希望很明显,GBA 妈妈在洗衣服方面效率更高!
由于在线社区的兴起,GBA 自制开发场景仍然蓬勃发展。诸如 devkitPro 之类的工具链使爱好者可以轻松地使用较新的多范式编程语言(如 Rust 和 C++)创建 GBA 游戏。这使得 GBA 成为学习硬件架构和软件开发的绝佳选择:它的前身缺乏软件开发工具,而它的继任者增加了硬件的复杂性。
GBA 配件
每当任天堂发布其流行的 Game Boy 系列的新版本时,硬件配件生产商都会欢欣鼓舞,而 GBA 的发布也不例外。由于任天堂花了两年时间才发布带有任何类型的屏幕灯的 GBA,因此不同的“Afterburner”产品销售良好。使用这些改装套件,你可以在 GBA 上自行安装前置灯,尽管有时需要焊接和修补塑料外壳。
Pokémon FireRed/LeafGreen GBA 重制版包含一个官方无线适配器,最终摆脱了 Link Cable,允许玩家在不互相捕捉的情况下捕捉所有宝可梦。超过 30 位玩家可以同时加入一个大厅进行战斗或交易。最终,只有少数游戏支持无线游戏,因为它是在 2004 年发布的,与 Nintendo DS 同年发布。许多配件(包括此配件)与较小的 Game Boy Micro 不兼容。
名为 Game Boy Player 的 SNES Super Game Boy 的继任者允许你在 GameCube 上玩 GB、GBC 和 GBA 游戏。一些游戏甚至通过 GameCube 控制器提供力反馈。Nintendo GameCube GBA Cable 同样是一种令人印象深刻的方式,可以将 GBA 连接到 GC,允许你玩迷你游戏,甚至将 GBA 用作第二个玩家的额外屏幕。
如果你没有 GameCube:非官方的 Super Retro Advance 卡带允许你在 SNES 上玩 GBA 游戏。它有自己独立的复合视频输出。已被警告。还存在一种(非常昂贵的)Nintendo 64 解决方案,称为 Wide Boy 64。
然后是 e-Reader,它是一个游戏改变者,允许你在其中放入三个游戏并即时更改、强制性作弊设备、仅在日本销售的卡带,允许你从 SD 卡播放电影和音乐,名为 Play-Yan、车载充电器和电池更换套件。
可悲的是,没有什么可以超越原始 Game Boy 的 Sonar Sensor……
本文是题为 Inside The Game Boy Game Loop 的技术论文集的一部分。另请参见:An Ode To Game Boy Cartridges (2023) 和 Historical Usage of Memory Bank Controllers in Game Boy Carts (2023)。