In this PR the line draw mode is added to the fx branch.
It does the following things:
adds the x and y position accumulators and the x and y incrementers (including the "times 32"-bit).
adds a special way of incrementing ADDR1 with its own address-incrementer and the one from ADDR0
adds logic that determines when this special increment should be triggered (overflow-bit detection)
auto-resets the subpixel positions (and the overflow bit) when the incrementer registers are set
Note that to lessen the timing pressure first the x/y positions are incremented and one clock the logic to determine whether/how ADDR1 should be incremented is done. This is arranged using the fx_increment_addr1_depending_on_overflow_next/_r register.
Also note that this PR only contains the 8bpp version of the line draw mode. The 4-bit version will follow later on. This is to keep the PRs as small as possible.
This version was run on real HW and can draw lines using the line draw helper.
--
Sidenote: due to the need for merging back and forth between forks, commits of earlier PRs are in this PR. It is there best to concentrate on the actual file differences.
In this PR the line draw mode is added to the fx branch.
It does the following things:
Note that to lessen the timing pressure first the x/y positions are incremented and one clock the logic to determine whether/how ADDR1 should be incremented is done. This is arranged using the fx_increment_addr1_depending_on_overflow_next/_r register.
Also note that this PR only contains the 8bpp version of the line draw mode. The 4-bit version will follow later on. This is to keep the PRs as small as possible.
This version was run on real HW and can draw lines using the line draw helper.
-- Sidenote: due to the need for merging back and forth between forks, commits of earlier PRs are in this PR. It is there best to concentrate on the actual file differences.