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;
}
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;
}