1. 6502 is bad

2. you can assume 60 hz, and do the screen update only ecsactly when 1/60th sec elapsed. this will resolve flickering.
3. VGA emulation mode is obsolote, including every port/interrupt function related to it. you are lucky if you even have the proper colors!
4. i suggest you to use VESA VBE (SVGA). i am not sure if it supports vsync, double buffering, or anything related to this all. you can assume 60 hz. if no vesa available, you can fallback to standard vga 320x200x8.
5. as i mentioned earlyer, the speed of your game/game engine have (should have) nothing to do with frame buffer sync. you cant just expect it running on X fps. you must create proper fps measurement.
6. you cant expect to have any behaviours you used to get in high-level operating systems through specific drivers (like the vsync itself).