As I said, the essence of downscrolling is the amount of delay. So, I explain how to measure it.
To measure delay, we need:
* FCEUX
*
Shinryuu's latest progress (.fm2 version)
* A text editor which can display line numbers
First, play after Shinryuu's latest progress (for example, shoot item1 three times and fall down) and create a movie.
Play the movie, and advance frames until rockman's foot touches the bottom of the screen:
Open the trace logger of FCEUX ("Debug" -> "Trace Logger"), select "Log to File", specify the filename of the log, and press "Start Logging".
Advance 5 frames, and press "Stop Logging". Now, a trace log is output to the log file you specified.
Open the log file with your text editor, and search "$C7A5" at the beginning of line, and note the line number. And, search "$CFED" at the beginning of line just after that, and note the line number.
In the pictures above, $C7A5 is executed at line 17633, and the next NMI($CFED) is executed at line 18330. So, $C7A5 is followed by about 700 instructions until NMI. In other words, we need more delay of 700 instructions.
That's all. We can measure delay of various patterns of movement. And we will be able to know the answers of the questions, like "What kind of action generates large delay?", "How about the limit of delay?".
If we found the pattern in which the shortage of delay is less than 100 instructions or so, it should be quite a hopeful pattern and downscrolling should succeed by modifying the details of it (In such a situation, bots may be help).
Next, I will post heuristics to increase delay. And, I will also post the shortage of delay in some movie examples.