Using my own status values so results will different from my branch, but the logic should be similar
This is harley
-----end frame-----
status 0
database updated
high culling ram - 37 8e000000
flush - 37 (37 is the % of frame time where write happens)
status 0
tile gen - 37
polygon RAM - 37
tile gen - 37
-----end frame-----
status 2000000
database updated
high culling ram - 50 8e000000
flush - 50
status 2000000
tile gen - 50
polygon RAM - 50
tile gen - 50
-----end frame-----
status 0
database updated
high culling ram - 62 8e000000
flush - 62
status 0
tile gen - 62
polygon RAM - 62
tile gen - 62
-----end frame-----
status 2000000
After it writes the 3rd frame the 4th frame skips. I think here the calculated frame time is too long. You can also see how the tilegen writes happen immediately after poly writes.
This is vf3
-----end frame-----
status 2000000
polygon RAM - 44
database updated
high culling ram - 58 8e000000
flush - 58
status 2000000
tile gen - 58
-----end frame-----
status 0
polygon RAM - 46
database updated
high culling ram - 59 8e000000
flush - 60
status 0
tile gen - 60
-----end frame-----
You can see again how the tilegen writes happen at 60% of the frame, immediately after the high culling ram is updated.
This is sega bass fishing. Sega bass fishing is weird. The tilegen writes are interleaved with the poly ram. Maybe everything is written in vblank here?
-----end frame-----
texture port - 0
flush - 0
status 0
tile gen - 0
database updated
high culling ram - 1 8e000000
flush - 1
status 0
tile gen - 1
polygon RAM - 2
flush - 2
status 0
tile gen - 2
polygon RAM - 2
flush - 2
status 0
tile gen - 2
polygon RAM - 2
flush - 2
status 0
tile gen - 2
polygon RAM - 2
flush - 2
status 0
tile gen - 2
polygon RAM - 2
flush - 2
status 0
tile gen - 3
polygon RAM - 3
flush - 3
status 0
tile gen - 3
polygon RAM - 3
flush - 3
status 0
tile gen - 3
status 0
-----end frame-----
emergency call ambulance
-----end frame-----
status 0
tile gen - 2
polygon RAM - 13
database updated
high culling ram - 14 8e000000
flush - 14
status 0
tile gen - 14
polygon RAM - 14
tile gen - 14
-----end frame-----
status 0
polygon RAM - 5
database updated
high culling ram - 26 8e000000
flush - 26
status 0
tile gen - 26
polygon RAM - 26
tile gen - 26
-----end frame-----
Daytona
-----end frame-----
status 0
status 0
polygon RAM - 80
database updated
high culling ram - 98 8e000000
flush - 98
tile gen - 98
flush - 99
tile gen - 99
status 2000000
-----end frame-----
la machine guns
-----end frame-----
database updated
high culling ram - 26 8e000000
flush - 26
tile gen - 26
status 0
polygon RAM - 91
tile gen - 97
-----end frame-----
ocean hunter
-----end frame-----
status 0
database updated
high culling ram - 10 8e000000
flush - 43
status 0
tile gen - 43
polygon RAM - 43
flush - 44
status 0
tile gen - 44
-----end frame-----
fighting vipers 2
You can see how the tilegen writes happen after poly ram updates
-----end frame-----
status 0
texture port - 3
flush - 3
status 0
tile gen - 3
texture port - 4
flush - 4
status 0
tile gen - 4
texture port - 4
flush - 4
status 0
tile gen - 4
polygon RAM - 11
database updated
high culling ram - 14 8e000000
flush - 14
status 0
tile gen - 14
-----end frame-----