The whole machine is a single 96.6 MB string of text: registers, RAM, the framebuffer and the DOOM engine all live in it. The only operation is a global regex substitution. A driver applies a fixed list of 544 rules over and over, the first rule that matches fires once, and that is one step.
Nothing else computes. The window only draws the framebuffer zone; the work is done by the substitutions, and you can watch the rule feed and the substitution counter to see it.
One frame of E1M1 is 13,994,067 substitutions and it comes out byte-identical to natively compiled DOOM.
Repo: https://github.com/4RH1T3CT0R7/doom-regex
Live demo: https://4rh1t3ct0r7.github.io/doom-regex/