This came across my desk earlier today. I’ve actually been interested in this kind of “from the ground” up view: basically compiling simulators for very simple machines, but then bootstrapping all of a simulated virtual machine from the ground up.
From Nand to Tetris in 12 steps.
Addendum: This was the story that set me on the road to finding the video above. Someone implemented the 16-bit ALU from the above in terms of the LEGO-like construction materials available in the videogame “Minecraft”. Very wacky.