mirror of
https://github.com/a2-4am/4cade.git
synced 2024-10-20 18:23:58 +00:00
110 lines
1.9 KiB
Plaintext
110 lines
1.9 KiB
Plaintext
;license:MIT
|
|
;(c) 2019 by 4am
|
|
;
|
|
!cpu 6502
|
|
!to "build/FX.INDEXED/R.BY.2",plain
|
|
*=$6000
|
|
|
|
maskindex = $fd
|
|
row = $fe
|
|
col = $ff
|
|
|
|
!source "src/fx/macros.a"
|
|
!source "src/constants.a"
|
|
|
|
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
|
|
eor ($3c),y
|
|
and copymask_even
|
|
eor ($26),y
|
|
sta ($26),y
|
|
clc
|
|
+HGR_INC_WITHIN_BLOCK
|
|
dex
|
|
bpl -
|
|
bmi NextRow ; always branches
|
|
|
|
OddCol
|
|
ldx #7
|
|
ldy col
|
|
- lda ($26),y
|
|
eor ($3c),y
|
|
and copymask_odd
|
|
eor ($26),y
|
|
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
|
|
Exit jmp UnwaitForVBL
|
|
|
|
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
|
|
Exit2 jmp UnwaitForVBL
|
|
|
|
copymask_even
|
|
!byte %11001100
|
|
copymask_odd
|
|
!byte %10110011
|
|
|
|
!source "src/wait.a"
|
|
!source "src/fx/fx.hgr.common.a"
|