
This was recomended by dicander and duunqnd because A =$ABAC looks like one address and not 2 zero-page addresses.
81 lines
1.6 KiB
ArmAsm
81 lines
1.6 KiB
ArmAsm
;;; -*- Mode: asm; indent-tabs-mode: t; tab-width: 8 -*-
|
|
.scope line_test
|
|
.include "line.inc"
|
|
;;for testing stuff
|
|
Y_pos_ = $0D
|
|
X_pos_ = $0E
|
|
Y_end_ = $10
|
|
X_end_ = $11
|
|
LDA #$d2
|
|
STA X_pos_
|
|
LDA #$62
|
|
STA Y_pos_
|
|
LDA #$ff
|
|
STA X_end
|
|
LDA #$0
|
|
STA Y_end
|
|
|
|
;; Short test for timing
|
|
@loop:
|
|
LDA Y_pos_
|
|
STA Y_pos
|
|
LDA X_pos_
|
|
STA X_pos
|
|
|
|
jsr line
|
|
INC Y_end
|
|
LDA Y_end
|
|
CMP #$bb
|
|
BEQ end__
|
|
jmp @loop
|
|
end__:
|
|
|
|
;; Full anfle test
|
|
@loop:
|
|
LDA Y_pos_
|
|
STA Y_pos
|
|
LDA X_pos_
|
|
STA X_pos
|
|
|
|
jsr line
|
|
INC Y_end
|
|
LDA Y_end
|
|
CMP #$bb
|
|
BEQ end
|
|
jmp @loop
|
|
end:
|
|
;;Long lines
|
|
;;Lets cleer bitmap
|
|
B_start = $FC ;16-bit value (uses FD)
|
|
B_end = $FE ;16-bit value (uses FF)
|
|
VIC_bank = $4000
|
|
VIC_bank_end = VIC_bank + $3FFF
|
|
;;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 B_start, B_start + 1, #<VIC_bank, #>VIC_bank
|
|
Mov_16 B_end, B_end + 1, #<$5f3f, #>$5f3f
|
|
LDA #$00
|
|
jsr memset
|
|
|
|
|
|
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
|
|
jsr line
|
|
INC Y_end
|
|
LDA Y_end
|
|
CMP #$bb
|
|
BEQ end_
|
|
jmp @loop
|
|
end_:
|
|
jmp exit
|
|
.endscope
|