fractal's Qualifier
Player:
Event:
Tournament:
Status:
Approved
Score 1:
793,260
Score 2:
677,320
Score 3:
623,920
Total score:
698,166
Details:
1 FULL CRASH TESTING
2
3 IDEAS
4 - post-scoring loop can be manipped by turning off next box (skips staging next piece)
5
6 OBSERVATIONS
7 - nmi starts between 26-35 cycles
8 - time to reach playState_updateLinesAndStatistics
9 - SINGLE: scanline 32, cycle 170-193 [tested with 32 line clears on a 29 start]
10 - DOUBLE: scanline 33, cycle 121-139 [tested with 13 line clears on a 29 start]
11 - TRIPLE: scanline 34, cycle 56-91 [tested with 6 line clears on a 29 start]
12 - TETRIS: scanline 35, cycle 72-99 [tested with 6 line clears on a 29 start]
13 - height seems to only become a factor when pieces are >halfway up, so but only by a handful of ppu cycles
14 - the part after scoring seems to oscillate between values, but it's all because of the audio code so this doesn't affect us
15
16 playState_updateLinesAndStatistics pseudocode
17 - updateMusicSpeed (irrelevant)
18 - inc proper lineClearStats (if counter crosses a multiple of 10 it takes longer)
19 - inc lines (depends on level, clear type, and whether a multiple of 10 is crossed)
20 - add hold points (hopefully irrelevant)
21 - line clear loop (the big one)
22
23 AFTER
24 - stage active piece sprite (hopefully deterministic)
25 - save player 1 state (deterministic)
26 - stage next piece sprite (contains loadSpriteIntoOamStaging)
27 - two switches
28 - update player 2 (deterministic)
29 - two switches
30 - check for a+b+select+start (deterministic)
31 - two switches
32 - check pause (probably deterministic, unless it's needed for chad strats)
33 - two switches
34 - "vblank_thenrunstate2" that just takes up space
35 - audio, should be safe?
~