and a bunch of games written in the past 5 years http://www.deater.net/weave/vmwprod/demakes/
more info on finding the vblank w/o an interrupt using the floating bus, sometimes called "vapor lock" http://www.deater.net/weave/vmwprod/megademo/vapor_lock.html
all of these have full source code available