From 0797e69106dccbbe6cead5640fc189d5860750a7 Mon Sep 17 00:00:00 2001 From: hugova Date: Thu, 6 Mar 2025 01:50:37 +0100 Subject: [PATCH] Add all optimisations done on line_down to line_down_inv. DIx a problem that the pixel was drawin a bit to late in the loop on line_down. --- wip-hugo/macros/16aritmatic.s | 14 ------- wip-hugo/routines/line/line_down.s | 16 ++++---- wip-hugo/routines/line/line_down_inv.s | 53 +++++++++++++++++--------- wip-hugo/source.s | 2 +- 4 files changed, 44 insertions(+), 41 deletions(-) diff --git a/wip-hugo/macros/16aritmatic.s b/wip-hugo/macros/16aritmatic.s index c9010e0..46eb0be 100755 --- a/wip-hugo/macros/16aritmatic.s +++ b/wip-hugo/macros/16aritmatic.s @@ -10,12 +10,6 @@ .endif ;; If b_low != A .if .match(.mid (0, 1, {b_low}), A ) -.elseif .match(.mid (0, 1, {b_low}), X) -LDX -kssk -.match(.mid (0, 1, {b_low}), Y) -LDY -kkdkd .else LDA b_low .endif @@ -23,15 +17,7 @@ kkdkd ADC a_low STA a_low LDA b_hi -.if .match(.mid (0, 1, {b_low}), X ) - LDX - kdkdkd -.elseif .match(.mid (0, 1, {b_low}), Y ) - LDY - dkkdk -.else LDA b_hi -.endif ADC a_hi STA a_hi .endmacro diff --git a/wip-hugo/routines/line/line_down.s b/wip-hugo/routines/line/line_down.s index 3fc4aaa..2319b3d 100644 --- a/wip-hugo/routines/line/line_down.s +++ b/wip-hugo/routines/line/line_down.s @@ -48,21 +48,20 @@ Add_16 >D, D, btp_mem_pos, X) STA (>btp_mem_pos, X) +increment_pixel_x: + CLC + ROR byte_to_paint BCS move_8px_left - jmp increment_pixel_x_end + JMP increment_pixel_x_end move_8px_left: ;; add +8 to btp_mem_pos. Find more of why in pixel_draw Add_16 >btp_mem_pos, D, D, V, btp_mem_pos, C=1 ;; +320-8 bytes LDY #$00 Add_16 >btp_mem_pos, D, dy_2, D, D, btp_mem_pos, X) +STA (>btp_mem_pos, X) +increment_y_pos: + Add_16 >btp_mem_pos, btp_mem_pos, D, D, V, D, dx_2, btp_mem_pos, D, dx_2,