4cade/src/fx/fx.hgr.meet.in.the.middle.a

98 lines
1.8 KiB
Plaintext
Raw Permalink Normal View History

2019-10-16 01:51:51 +00:00
;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX.INDEXED/MEETINTHEMIDDLE",plain
2019-10-16 01:51:51 +00:00
*=$6000
maskindex = $fc
row = $fd
col1 = $fe
col2 = $ff
2022-08-26 01:56:15 +00:00
!source "src/fx/macros.a"
!source "src/constants.a"
2019-10-16 01:51:51 +00:00
lda #0
sta col1
lda #39
sta col2
@colloop
lda #6
sta maskindex
2019-10-20 00:30:48 +00:00
jsr WaitForVBL
2019-10-16 01:51:51 +00:00
@maskloop
ldx maskindex
lda copymasks1,x
sta @copymask1
lda copymasks2,x
sta @copymask2
lda #23
sta row
@rowloop
lda row
asl
asl
asl
jsr HGRCalc
clc
ldx #8
@blockloop
ldy col1
lda ($26),y
2019-10-24 19:41:08 +00:00
eor ($3c),y
2019-10-16 01:51:51 +00:00
@copymask1=*+1
and #0 ; SMC
2019-10-24 19:41:08 +00:00
eor ($26),y
2019-10-16 01:51:51 +00:00
sta ($26),y
ldy col2
lda ($26),y
2019-10-24 19:41:08 +00:00
eor ($3c),y
2019-10-16 01:51:51 +00:00
@copymask2=*+1
and #0 ; SMC
2019-10-24 19:41:08 +00:00
eor ($26),y
2019-10-16 01:51:51 +00:00
sta ($26),y
lda $27
adc #4
sta $27
eor #$60
sta $3d
dex
bne @blockloop
dec row
bpl @rowloop
lda #1
jsr iWaitForKeyWithTimeout
2019-10-16 01:51:51 +00:00
bmi @exit
dec maskindex
bpl @maskloop
inc col1
dec col2
lda col1
cmp #20
bne @colloop
2019-11-20 05:55:33 +00:00
@exit jmp UnwaitForVBL
2019-10-16 01:51:51 +00:00
copymasks1
!byte %11111111
!byte %10111111
!byte %10011111
!byte %10001111
!byte %10000111
!byte %10000011
!byte %10000001
copymasks2
!byte %11111111
!byte %11111110
!byte %11111100
!byte %11111000
!byte %11110000
!byte %11100000
!byte %11000000
+HGR_CALC_ROUTINES