diff --git a/wip-hugo/routines/memory/line_down.s b/wip-hugo/routines/memory/line_down.s index 698b60b..45ce003 100644 --- a/wip-hugo/routines/memory/line_down.s +++ b/wip-hugo/routines/memory/line_down.s @@ -14,7 +14,7 @@ Y_pos = $FB dx = $0c dy_2 = $0607 - V = $0809 ;Lets reuse dx register ($08) + V = $0809 D = $0a0b ;example values ~~~~~ SHOULD BE PRECOMPILED diff --git a/wip-hugo/routines/memory/line_down_inv.s b/wip-hugo/routines/memory/line_down_inv.s index dfb8774..3fd0fec 100644 --- a/wip-hugo/routines/memory/line_down_inv.s +++ b/wip-hugo/routines/memory/line_down_inv.s @@ -12,14 +12,11 @@ Y_end = $05 X_pos = $FC Y_pos = $FB + dy = $0c dx_2 = $0607 - dy = $08 + V = $0809 D = $0a0b - ;;Set values - LDA #$00 - STA $FD ; for pixel_draw - ;example values ~~~~~ SHOULD BE PRECOMPILED LDA #$00 STA X_pos @@ -31,23 +28,33 @@ STA Y_end ;;~~~~~~~~~~ - ;;2*dx = 2*(X_end -X_pos) + ;;We need to clear this memory + LDA #$00 + STA dx_2 - LDA #$00 - STA dx_2, V + STA >dx_2; >dx_2 = dx. Needed for dx_2 (not for V) LDA Y_end SEC SBC Y_pos STA dy + SEC + SBC >V + STA >V; V, dx_2, dx_2 STA >D LDA D, D, dy_2, D, dy_2, D, V, D, dx_2, D, dx_2, dy_2 + ;;We need to clear this memory LDA #$00 + STA dy_2, V + STA >dy_2; >dy_2 = dy. Needed for dy_2 (not for V) + LDA X_end + SEC + SBC X_pos + STA dx + SEC + SBC >V + STA >V; V, dy_2 - STA >D - LDA D, D, dy_2, dx_2, dy_2 + STA >D + LDA D, D, D, dx_2, D, V, D, dy_2,