4cade/src/fx/fx.hgr.diagonal.a
2019-10-25 22:06:13 -04:00

63 lines
1.1 KiB
Plaintext

;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX/DIAGONAL",plain
*=$6000
row = $fd
col = $fe
counter = $ff
!source "src/fx/macros.a"
+SWITCH_TO_MASKS copymasks
lda #64 ; 40 + 24
sta counter
lda #39
sta col
@colloop
lda #23
sta row
ldy col
jsr WaitForVBL
@rowloop
tya
bmi +
cpy #40
bcs +
lda row
jsr HGRBlockCopyWithMask
+ iny
bmi +
cpy #40
bcs +
lda row
jsr HGRBlockCopy
+
dec row
bpl @rowloop
lda #64
jsr WaitForKeyWithTimeout
bmi @exit
dec col
dec counter
bne @colloop
@exit rts
copymasks
!byte %11111111
!byte %11111110
!byte %11111100
!byte %11111000
!byte %11110000
!byte %11100000
!byte %11000000
!byte %10000000
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
!source "src/fx/hw.vbl.a"