2011-05-17

JavascriptによるPCエミュレーター

Javascript PC Emulator
Javascript PC Emulator - Technical Notes

これは、QEMU作者による、Javascriptで書かれたPCエミュレーターである。その上で、Linuxカーネルを動かしている。どうも、Chrome 12では、バグにより動かないようだ。Firefox 4なら問題なく動く。にわかに信じがたい。

技術メモを読むとわかるが、これはかなり限定的なエミューレションである。しかし、Linuxカーネルを動かすには十分である。

エミュレートしているのは、主に以下のチップである。

  • a 32 bit x86 compatible CPU
  • a 8259 Programmble Interrupt Controller
  • a 8254 Programmble Interrupt Timer
  • a 16450 UART.

エミュレートされているx86 CPUには、FPUがない。しかし、LinuxにはFPUエミュレーションがあるので、問題ない。

もちろん、viやemacsも起動するし、TinyCがあるので、なんとC言語によるプログラミングも可能である。

まえに、Javascriptで書かれたファミコンエミュレーターをみたとき、誰かがx86エミュレーターも書くんじゃないだろうかと予想した。まさか、こんなに早く、実物を目にするとは思わなかった。

ところで、JavascriptにTyped Arrayというドラフト規格ががあることを初めて知った。これは良さそうだ。

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.