Looks good, though you could actually switch to a 60fps update function with equivalent movement speed for just 2 chars more, eg:
x=60y=60::_::cls()b=btn()
x+=b\2%2*2-b%2*2y+=b\8*6-b\4*2
circ(x,y)flip()goto _
vs.
x=60y=60function _update60()cls()b=btn()
x+=b\2%2-b%2y+=b\8%2-b\4%2
circ(x,y)end
I can relate to feeling a bit clunky sometimes, but there's one nice benefit to having a living brain rather than a hunk of silicon, you can actually rewire it a bit over time. ;)