This one is quite interesting. We've seen DOSBox cross-compiled into JavaScript using emscripten before. For instance, The Internet Archive has been publishing a huge catalog of DOS-era games on their site, including John Carmack's Catacomb II. In case you're wondering, memory management is handled in emscripten by reserving a large, contiguous chunk of memory as an ArrayBuffer. The C application can do its typical memory management tricks because it sees an unmanaged chunk of memory.

This example is an image of Windows 95, complete with its default applications such as Minesweeper. It was ported by Andrea Faulds, who is a major contributor to PHP. The Windows 95 demo was apparently created in 2015, according to her personal website, but I just found out about it.