refactoring tdm vblank