that code was indeed quite complicated (it seemed to wander back and forth between draw, mouse and screen in a way that was probably straightforward but always left me a little confused for a few passes). for performance, i think it depends how it's done. i didn't do the Inferno one, but i did use it without obvious trouble with Inferno on a 486sx33 processor. in one of my own os's i did the software cursor in a process on a 386sx16 and that was fine too, although that was only 16x16 in bits on a monochrome screen. neither controlled it with the clock, though, which might have made it smoother.