This is the most CPU intensive Nand2Tetris demo I have done so far. 'Fast' mode is required in the VMEmulator on an Intel i5 2500K CPU running Linux Mint with OpenJDK 1.7.0_25. All code is written in pure Jack and compiled with the provided complier running on the provided VMEmulator. Nand2Tetris is the Elements of Computing course: http://www.nand2tetris.org/
Conversion from a chunky bitmap to planar architecture is done on-the-fly with 17 greyscale shades. Each shade in the chunky source image is converted to a 4x4 pixel block in the final output through an ordered dither table. http://en.wikipedia.org/wiki/Ordered_...
When using recordmydesktop to make this video, the VMEmulater runs slightly faster. This has the effect of making this demo appear a little smoother than it is in reality. I assume the extra CPU load messes with the timing loop somehow.
It is terribly hard to convince youtube not to mangle the individual pixels. This video has been pixel doubled and padded with grey bars to 1280x720. It appears reasonably close to the original, when viewed in 720p.