;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*- .scope line_test_extensive ;; Program for testing of line-drawing. It draws a bunch of lines ;;Start line-timer-here .include "line.inc" .include "../memory/mem.inc" Y_pos_ = $0D X_pos_ = $0E Y_end_ = $0F X_end_ = $0C LDA #$d2 STA X_pos_ LDA #$62 STA Y_pos_ LDA #$ff STA X_end_ LDA #$0 STA Y_end_ ;; Full angle test @loop: LDA Y_pos_ STA Y_pos LDA X_pos_ STA X_pos LDA X_end_ STA X_end LDA Y_end_ STA Y_end jsr line INC Y_end_ LDA Y_end_ CMP #$ff bne @loop clear_screen: ;;Lets clear bitmap VIC_bank = $4000 ;;Paint the bitmap black. More bitmap: https://www.c64-wiki.com/wiki/53272, https://www.c64-wiki.com/wiki/Screen_RAM#Moving_of_screen_RAM Mov_16 A_start, A_start + 1, #VIC_bank Mov_16 length, length + 1, #<$1f40, #>$1f40 LDA #$00 jsr memset long_line_test_a: LDA #$00 STA X_pos_ LDA #$60 STA Y_pos_ LDA #$ff STA X_end_ LDA #$0 STA Y_end_ @loop: LDA Y_pos_ STA Y_pos LDA X_pos_ STA X_pos LDA X_end_ STA X_end LDA Y_end_ STA Y_end jsr line INC Y_end_ LDA Y_end_ CMP #$ff BNE @loop clear_screen_: ;;Paint the bitmap black. More bitmap: https://www.c64-wiki.com/wiki/53272, https://www.c64-wiki.com/wiki/Screen_RAM#Moving_of_screen_RAM Mov_16 A_start, A_start + 1, #VIC_bank Mov_16 length, length + 1, #<$1f40, #>$1f40 LDA #$00 jsr memset long_line_test_b: LDA #$00 STA X_pos_ LDA #$00 STA Y_pos_ LDA #$ff STA X_end_ LDA #$60 STA Y_end_ @loop: LDA Y_pos_ STA Y_pos LDA X_pos_ STA X_pos LDA X_end_ STA X_end LDA Y_end_ STA Y_end jsr line INC Y_pos_ LDA Y_pos_ CMP #$ff BNE @loop .endscope