// VSYNC
if (vpos == 3 && lof_store) {
agnus_vsync = true;
- lof_detect = 1;
+ if (!beamcon0_has_vsync) {
+ vsync_mark();
+ }
+ lof_detect = 0;
update_lof_detect();
}
+ // VSYNC (HCENTER)
+ if (vpos == 3 && !lof_store) {
+ agnus_vsync = true;
+ lof_detect = 0;
+ update_lof_detect();
+ }
if (vpos == 5 && !lof_store) {
agnus_vsync = false;
}
if (vpos == 2 && !lof_store) {
agnus_vsync = true;
- lof_detect = 0;
+ if (!beamcon0_has_vsync) {
+ vsync_mark();
+ }
+ lof_detect = 1;
update_lof_detect();
}
- if (vpos == 5 && lof_store) {
+ if (vpos == 5) {
agnus_vsync = false;
}