;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*- ;;drawing line from 2 cordinates ;;# * (X_end, Y_end) # ;;# # ;;# * # ;;# * # ;;# (X_pos, Y_pos) # ;; ;;NOTE THAT X_pos <= X_end, Y_pos >= Y_end. Max 45deg! .proc line_up ;; Look at line_down for referense .include "line.inc"; Defines memory positions, ex X_pos LDA #$00 STA V Mult_16 >V, dy_2, D, dy_2, D, D, dy_2 STA case_2 +1 LDA V STA case_1 +1 LDA btp_mem_pos, btp_mem_pos), Y STA (>btp_mem_pos), Y increment_pixel_x: LSR byte_to_paint BCC increment_pixel_x_end move_8px_left: Add_16 >btp_mem_pos, D, D, V, #btp_mem_pos, D, dy_2, #