I've unearthed one of my old pull requests and now we can (finally!) have proper Python games on the NumWorks calculator. The missing bits were keypad readout and some basic graphics primitives (zardam's time module was already merged some time ago). I've scrambled together a Pong game to showcase this:
Drawing performance is honestly quite terrible because the framebuffer isn't memory-mapped, but it's enough for a smooth Pong and probably other basic games in real time. Redrawing the full screen on each frame would require drawing the entire screen in one go pixel after pixel (like the third-party firmware GESTE did), not unlike racing the beam on the Atari 2600, but doing that from within MicroPython would be challenging.