Open lscharen opened 2 years ago
This optimization is likely infeasible for the general blitter, but the GTE_LITE blitter that holds the entire PEA field in one bank could benefit.
Because adjacent lines of code are close in memory, there are three levels of optimization
BRA
opcode can branch directly to the start of the next line, skipping 2 JMP
instructionsBRA + JMP
to jump directly to the next lineJMP
.
There are two optimization opportunities in the blitter exit paths
JMP exit_even
instructions can be a direct JMP to the next blitter line. Exiting will require patching two JMP instructions instead of 1, but that's only a single extra STA per frame vs savings of 3 cyclers per line