testpico: even more timer stir up
[megadrive.git] / testpico / main.c
index d7ed087..9c07110 100644 (file)
@@ -1235,7 +1235,7 @@ static int t_tim_vcnt_loops(void)
     for (i = 0; i < lines; i++)
         expect_range(ok, ram16[i*2+1], 19, 21);
     expect(ok, ram16[lines*2+0], 0);
-    expect_range(ok, ram16[lines*2+1], 20, 21);
+    expect_range(ok, ram16[lines*2+1], 19, 21);
     return ok;
 }
 
@@ -1409,9 +1409,19 @@ static int t_tim_ym_timerb_stop(void)
 
 static int t_tim_ym_timer_ab_sync(void)
 {
-    u16 v = test_ym_ab_sync();
+    u16 v1, v2, v3, start, line_diff;
     int ok = 1;
-    expect(ok, v, 3);
+    v1 = test_ym_ab_sync();
+    start = get_line();
+    write8(0xa04001, 0x3f);   // clear
+    burn10(3420*11/7/10);     // ~11 scanlines
+    v2 = read8(0xa04000);
+    v3 = test_ym_ab_sync2();
+    line_diff = get_line() - start;
+    expect(ok, v1, 3);
+    expect(ok, v2, 0);
+    expect(ok, v3, 3);
+    expect_range(ok, line_diff, 18, 19);
     return ok;
 }