牛津的 JPC 开源啦。
JPC 是个 Java 编写的 X86 虚拟机,牛津 Particle Physics 系 2005 年 8 月开始的工作。采用 Java 貌似是个奇怪的选择,不过这倒扩充了 JPC 能够运行的场合,开发者自己已经用 x86 机器,Nokia 9500 communicator 和 ARM9 开发板运行 JPC 了。JPC 目前模拟了大多数常见 PC 外设,比如键盘,鼠标,硬盘,VGA 输出和以太网口。
此前也有一些模拟器选择 Java 实现,比如 Commodore 64, Atari ST, Nintendo 和 ZX Spectrum 这些。不过 X86 PC 几乎没有走这条路的。JPC 的纯 Java 实现能够达到最高 10% 的 native 速度,不算很高,不过已经是同类里最快的了。
X86 架构的实模式和保护模式 JPC 都支持,不过实模式的 native 执行速度最高能到 10%。保护模式实现目前还未到 release 质量,所以无数据可参考。
[tags]jpc, java, oxford, emulator, software, x86, virtual machine, 牛津[/tags]