Frame writes

Technical discussion for those interested in Supermodel development and Model 3 reverse engineering. Prospective contributors welcome.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

Frame writes

Postby Ian » Wed Sep 18, 2019 9:31 am

Just logging for games where the writes happen in regards to the actual frame (as a %)

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-----
Ian
 
Posts: 2044
Joined: Tue Feb 23, 2016 9:23 am

Return to The Dark Room

Who is online

Users browsing this forum: No registered users and 1 guest