ファミコンエミュレータ

高速化されたActionScript3.0なら、動くかも!!!
と思い立ち、ActionScript2.0用に移植していた、
ファミコンエミュレータをActionScript3.0に移植しています。
とりあえず、動いてます。バグってますが、、、。しかし、遅いです。
1Gのマシンで1フレームのCPU演算が47msくらいかかってます。
画面の描画に100msくらいかかったりしてるので、まだまだゲームにはなりません。
画面描画は高速化するアイディアはいろいろあるんですが、
CPUの演算が遅いのは何とかならんのか!!!ってかんじです。

JIT適用について

ところで、ActionScript3.0でJITできるのかというと、たぶん、出来ましぇん。
いや、やろうと思ったら、ByteArray内に、swfファイルを作ってしまって
読み込むと言う荒業をやってのけなければなりません。
そりゃ、ちょいと、難しすぎるのではって感じです。
というか、ActionScript3.0のswfの仕様が分からないので今のところどうあがいても作れないんじゃないかと。
ということは、とりあえず、静的コンパイルしてしまうのがよいのではないかと、、、。

スタックマシントランスレータ

ってことで、とりあえず、スタックマシンの静的コンパイルをやってみようかと思います。
つまり、トランスレータをつくると。
まず、スタックマシンをD言語にトランスレートと。