Flashとか

Flash10のファミコンエミュレータ
(firefox10では動かない?)
Flash10のECMAscriptではTamarinプロジェクトのVMを使ってる

VM方式が一般的なのか?

PC8801エミュレータの作者による画面表示周りの解説。
VBlankやVSYNC割り込みが分かりやすい

ファミコンのPPU周りの解説