在古老的任天堂NES游戏机(红白机)上模拟古老的PC技术能达到什么程度?一位程序员开始回答这个具有挑战性的问题,他依靠一系列软件技巧来实现自己的目标。幸运的是,在这一过程中没有损坏任何实际硬件。
L{2b0Zh' x/%7%_+' NES86是一个最新发布的项目,旨在将早期的PC系统模拟引入任天堂娱乐系统。该模拟器似乎可以重现英特尔8086处理器和基本PC硬件,其精确度足以启动和运行精简版的Linux内核。
9V=<| 2 +MNSZLP] 一位名叫"decrazyo"的程序员开发了NES86,并发布了一段视频,解释他是如何完成这一令人印象深刻的创举的。初代IBM PC配备了主频为4.77 MHz的x86 CPU,速度明显快于NES的1.79 MHz处理器。为了克服这一差距,decrazyo依靠仿真技术,煞费苦心地在任天堂游戏机上复制早期PC技术。
{5QosC+o6Q 'f-
NES的RAM和可寻址内存空间也比IBM 5150少得多,这就要求decrazyo实施内存映射技术,以便在两个系统之间有效切换。选择在NES86上运行的Linux版本是一项较为简单的任务,因为程序员基本上只能使用可嵌入的Linux内核子集。
{ r6]MS#l1
1 [fo'M 在第一款32位x86芯片(80386)问世之前,ELKS项目为16位英特尔处理器(包括IBM 5150 PC中使用的8086以及8088、80188、80186和80286等后几代处理器)提供了类似Linux的操作系统。尽管ELKS是一款非常小巧的Linux终端,但由于其最低内存要求为256KB,远远超出了NES的能力,因此不太可能在真正的NES硬件上运行。
*MYt:ms J4gI=@e 根据其官方GitHub项目页面,即使在PC和其他平台的现代NES模拟器上也很难运行NES86。少数兼容的模拟器包括FCEUX、Mesen2、Rustico和基于FPGA的EverDrive N8 Pro卡带。值得注意的是,Mesen2最近已更新为与NES86完全兼容。
+R
"AA_A? m\6SG' X 不过,"最佳"的NES86体验可以通过一种意想不到的方式实现,那就是在GameCube模拟器上玩最初的《动物之森》。任天堂2001年推出的这款社交模拟游戏内置了NES模拟器,玩家可以通过游戏中的机制收集和玩各种NES游戏。
=MTj4VXh" ;JOD!| 通过黑进《动物之森》中的NES模拟器,同时在GameCube模拟器上运行,decrazyo成功以每帧30秒的速度运行了PC版《俄罗斯方块》。是的,你没有看错。
6Cl+KcJH