4cade/src/fx/fx.hgr.r.by.2.a

107 lines
1.8 KiB
Plaintext
Raw Permalink Normal View History

2019-10-20 15:05:00 +00:00
;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX.INDEXED/R.BY.2",plain
2019-10-20 15:05:00 +00:00
*=$6000
maskindex = $fd
row = $fe
col = $ff
!source "src/fx/macros.a"
!source "src/constants.a"
2019-10-20 15:05:00 +00:00
lda #0
sta col
ColLoop
lda #0
sta row
jsr WaitForVBL
RowLoop
lda row
+HGR_ROW_CALC
lda col
ror
bcs OddCol
ldx #7
ldy col
- lda ($26),y
2019-10-24 19:41:08 +00:00
eor ($3c),y
2019-10-20 15:05:00 +00:00
and copymask_even
2019-10-24 19:41:08 +00:00
eor ($26),y
2019-10-20 15:05:00 +00:00
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
bmi NextRow ; always branches
OddCol
ldx #7
ldy col
- lda ($26),y
2019-10-24 19:41:08 +00:00
eor ($3c),y
2019-10-20 15:05:00 +00:00
and copymask_odd
2019-10-24 19:41:08 +00:00
eor ($26),y
2019-10-20 15:05:00 +00:00
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
NextRow
inc row
lda row
cmp #24
+LBNE RowLoop
lda $c000
bmi Exit
inc col
lda col
cmp #40
+LBNE ColLoop
beq Phase2
2019-11-20 05:55:33 +00:00
Exit jmp UnwaitForVBL
2019-10-20 15:05:00 +00:00
Phase2
lda #0
sta col
ColLoop2
lda #0
sta row
jsr WaitForVBL
RowLoop2
lda row
+HGR_ROW_CALC
ldx #7
ldy col
- lda ($3c),y
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
inc row
lda row
cmp #24
+LBNE RowLoop2
lda $c000
bmi Exit2
inc col
lda col
cmp #40
+LBNE ColLoop2
2019-11-20 05:55:33 +00:00
Exit2 jmp UnwaitForVBL
2019-10-20 15:05:00 +00:00
copymask_even
!byte %11001100
copymask_odd
!byte %10110011