Tuesday, January 6, 2015

2 recent Emscripten stories

In case you missed them:

First, DOSBox is an open source emulator that lets you run old DOS programs (which means, mostly games ;) . It simulates a PC compatible machine, complete with Intel CPU and typical graphics and audio cards of the time. DOSBox was ported by dreamlayers to Emscripten a while ago, which was an impressive achievement, and let you run practically any old DOS game right in your browser, no plugins required. Recently, two separate projects have picked it up and are running with it:
  • The Internet Archive has an MS-DOS showcase (for more details see Jason Scott's blog). At the time of this post, it has over 2,400 programs up. This is amazing for helping to preserve an entire era in computing history.
  • The ever-porting caiiiycuk created js-dos.com. This has a much smaller selection of programs, but the site itself is a tribute to the days of MS-DOS, really very nice work - it brings back some of the feeling of those times.
Second, Ogre3D, one of the top open source 3D rendering engines, supports exporting to the web using Emscripten as of version 1.10.0. This is exciting because while there are many 3D open source graphics engines, Ogre3D is one of the most general-purpose and most full-featured. Also, I remember that around 3 years ago Ehsan tried to port Ogre3D, but at the time Emscripten was far too immature. It's great to see it ported now, and officially!


  1. A little off topic, but a while ago Google released an OS emulated in NaCL. I had inquired if this would be possible using Emscripten/asm.js and was told no, because of a lack of parallel threading (did I get that right?).
    Is this something that's on the way?

    Also, I had seen talk of SIMD in JS. Will this make a difference for Emscripten when it arrives?

  2. There is a prototype of threads, being experimented with on firefox nightly.

    For SIMD, there is a spec and also a partial implementation on nightly. Speedups can be quite large, just like on native.