Even and odd rows now use the same bits for triangle colour, adding an rra per 8x8 tile but eliminating an sr (hl) per triangle (plus loop counting) during isometric axis-aligned scrolls.
Given an unrelated further optimisation of draw_tiles this pull request saves around 25,000 cycles for those. Which right now is about one extra frame per second — from ~13 to ~14.
Even and odd rows now use the same bits for triangle colour, adding an
rra
per 8x8 tile but eliminating ansr (hl)
per triangle (plus loop counting) during isometric axis-aligned scrolls.Given an unrelated further optimisation of
draw_tiles
this pull request saves around 25,000 cycles for those. Which right now is about one extra frame per second — from ~13 to ~14.It's also a few hundred bytes smaller.