more diagonal wipes, upgraded diamond wipe, some refactoring

This commit is contained in:
4am 2019-10-18 14:00:25 -04:00
parent e1bcdc25b5
commit 4fa2057c88
11 changed files with 314 additions and 1268 deletions

View File

@ -60,7 +60,7 @@ asmlauncher:
$(ACME) -r build/4cade.lst -DBUILDNUMBER=`git rev-list --count HEAD` -DRELBASE=`cat build/relbase.log | grep "RELBASE =" | cut -d"=" -f2 | cut -d"(" -f2 | cut -d")" -f1` src/4cade.a
asmfx:
for f in src/fx/*.a; do grep "^\!to" $${f} >/dev/null && $(ACME) $${f} >> build/log; done
for f in src/fx/*.a; do grep "^\!to" $${f} >/dev/null && $(ACME) $${f} >> build/log || true; done
asmprelaunch:
for f in src/prelaunch/*.a; do grep "^\!to" $${f} >/dev/null && $(ACME) $${f} >> build/log; done

View File

@ -1 +1 @@
RIPPLE STARWHITE DIAGONAL STAGGERWHITE.UD RADIAL STAGGER.LR SOFT.UD BIT.FIZZLE MEETINTHEMIDDLE CRYSTAL R.BY.PIXEL SUNRISE DIAGONAL2 SUNSET CORNER.CIRCLE RIPPLE2 RADIAL2 SPLIT.UD.INTRO HALF.FIZZLE RADIAL3 DIAGONAL3 BAR.DISSOLVE FOURSPIRAL IRIS CASCADE AND CHECKERBOARD LR.BY.PIXEL RADIAL4 STAGGERWHITE.LR SOFT.UD.OUT ONESQUARE FIZZLE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 FOURSQUARE DIAGONAL4 STAGGER.UD INTERLOCK.LR SOFT.UD.IN BLOCK.MOSAIC INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof] # # transition effects for HGR slideshows # # Each Mega-Attract Module that is an HGR slideshow (see attract.conf) # will use a single transition effect for the length of the module. # Transition effects are loaded in the order listed in this file. Each line # of this file is a filename (not including comments, like this one). The # name of the next transition effect is stored in the global prefs, so this # file should not contain duplicates. # # Transition effects are binary files loaded at $6000 and called with # hi-res page 1 showing and the next HGR graphic already loaded at $4000. # A transition effect has full use of main memory, including zero page and # text page if needed. LC RAM banks 1 and 2 are reserved for the launcher. # # Important: LC RAM bank 1 will be read/write on entry and must be read/write # on exit. If you need ROM routines, you are responsible for switching to ROM # then switching back to RAM bank 1 (read/write) before returning. #
DIAMOND RIPPLE STARWHITE DIAGONAL STAGGERWHITE.UD RADIAL STAGGER.LR SOFT.UD BIT.FIZZLE MEETINTHEMIDDLE CRYSTAL R.BY.PIXEL SUNRISE DIAGONAL2 SUNSET CORNER.CIRCLE RIPPLE2 RADIAL2 SPLIT.UD.INTRO HALF.FIZZLE RADIAL3 DIAGONAL3 BAR.DISSOLVE FOURSPIRAL IRIS CASCADE AND CHECKERBOARD LR.BY.PIXEL RADIAL4 STAGGERWHITE.LR SOFT.UD.OUT ONESQUARE FIZZLE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 FOURSQUARE DIAGONAL4 STAGGER.UD INTERLOCK.LR SOFT.UD.IN BLOCK.MOSAIC INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof] # # transition effects for HGR slideshows # # Each Mega-Attract Module that is an HGR slideshow (see attract.conf) # will use a single transition effect for the length of the module. # Transition effects are loaded in the order listed in this file. Each line # of this file is a filename (not including comments, like this one). The # name of the next transition effect is stored in the global prefs, so this # file should not contain duplicates. # # Transition effects are binary files loaded at $6000 and called with # hi-res page 1 showing and the next HGR graphic already loaded at $4000. # A transition effect has full use of main memory, including zero page and # text page if needed. LC RAM banks 1 and 2 are reserved for the launcher. # # Important: LC RAM bank 1 will be read/write on entry and must be read/write # on exit. If you need ROM routines, you are responsible for switching to ROM # then switching back to RAM bank 1 (read/write) before returning. #

View File

@ -1,7 +1,7 @@
;license:MIT
;(c) 2018 by 4am
;
!source "src/fx/fx.hgr.macros.a"
!source "src/fx/macros.a"
HGRCalc
; in: A = HGR row (0x00..0xBF)
@ -106,3 +106,65 @@ HGRStaggerToWhite
dex
bne @loop
rts
SetSourceMask
; in: A/Y points to 8-byte array of bit masks used by HGRBlockCopyWithMask
+STAY SourceMaskAddr
rts
SetCopyMask
; in: A/Y points to 8-byte array of bit masks used by HGRBlockCopyWithMask
+STAY CopyMaskAddr
rts
BuildSourceMaskFromCopyMask
; build an 8-byte array of bit masks at (SourceMaskAddr)
; that are the inverse (EOR #$FF) of the bit masks at (CopyMaskAddr)
;
; in: must call SetSourceMask and SetCopyMask first
; out: A/Y clobbered
; $00/$01/$02/$03 clobbered
; X preserved
+LDAY CopyMaskAddr
+STAY $00
+LDAY SourceMaskAddr
+STAY $02
ldy #$07
- lda ($00),y
eor #$FF
sta ($02),y
dey
bpl -
rts
HGRBlockCopyWithMask
; in: A = HGR row / 8 (0x00..0x17)
; Y = HGR column (0x00..0x27)
; must call SetSourceMask and SetCopyMask first
; out: Y preserved
; A/X clobbered
; $00 clobbered
asl
asl
asl
+HGR_CALC
ldx #7
HGRBlockCopyWithMasksLoop
lda ($26),y
SourceMaskAddr=*+1
and $FDFD,x ; call SetSourceMask to set
sta $00
lda ($3c),y
CopyMaskAddr=*+1
and $FDFD,x ; call SetCopyMask to set
ora $00
sta ($26),y
lda $27
clc
adc #$04
sta $27
eor #$60
sta $3d
dex
bpl HGRBlockCopyWithMasksLoop
rts

View File

@ -5,90 +5,58 @@
!to "build/FX/DIAGONAL",plain
*=$6000
row=$FA
col=$FB
tmp=$FF
row = $fd
col = $fe
counter = $ff
jmp Start
!source "src/fx/macros.a"
+INIT_MASKS sourcemasks, copymasks
lda #64 ; 40 + 24
sta counter
lda #39
sta col
@colloop
lda #23
sta row
ldy col
@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
sourcemasks
!byte 0,0,0,0,0,0,0,0 ; SMC
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"
Start
lda #$27
sta col
lda #$17
sta row
sta $FC
@loop ldy col
lda row
bpl +
lda #$00
+ pha
jsr HGRDiagonalBlockCopyWithGuards
pla
iny
cpy #$28
bcs +
jsr HGRBlockCopy
+ dec col
inc row
lda row
cmp #$18
bne @loop
lda #$40
jsr WaitForKeyWithTimeout
bmi @exit
dec $FC
lda #$27
sta col
lda $FC
sta row
bpl @loop
lda #$00
sta row
sec
sbc $FC
sta $FD
lda col
sec
sbc $FD
sta col
cmp #$FE
bne @loop
@exit rts
HGRDiagonalBlockCopyWithGuards
; in: A = HGR row / 8 (0x00..0x17)
; Y = HGR column (0x00..0x27)
; out: Y preserved
; A/X clobbered
; tmp clobbered
asl
asl
asl
+HGR_CALC
clc
tya
bmi @exit
ldx #$07
@loop
lda ($26),y
and sourcemasks,x
sta tmp
lda ($3c),y
and copymasks,x
ora tmp
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
dex
bpl @loop
@exit rts
sourcemasks
!byte $00,$01,$03,$07,$0F,$1F,$3F,$7F
copymasks
!byte $FF,$FE,$FC,$F8,$F0,$E0,$C0,$80

View File

@ -7,7 +7,14 @@
row = $fd
col = $fe
tmp = $ff
counter = $ff
!source "src/fx/macros.a"
+INIT_MASKS sourcemasks, copymasks
lda #64 ; 40 + 24
sta counter
lda #$FF ; -1
sta col
@ -27,7 +34,7 @@ tmp = $ff
cpy #40
bcs +
lda row
jsr HGRDiagonalBlockCopyWithGuards
jsr HGRBlockCopyWithMask
+ dey
dey
dec row
@ -36,50 +43,12 @@ tmp = $ff
jsr WaitForKeyWithTimeout
bmi @exit
inc col
lda col
cmp #64
bcc @colloop
dec counter
bne @colloop
@exit rts
HGRDiagonalBlockCopyWithGuards
; in: A = HGR row / 8 (0x00..0x17)
; Y = HGR column (0x00..0x27)
; out: Y preserved
; A/X clobbered
; tmp clobbered
asl
asl
asl
jsr HGRCalc
clc
tya
bmi @exit
ldx #7
@loop
lda ($26),y
and sourcemasks,x
sta tmp
lda ($3c),y
and copymasks,x
ora tmp
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
dex
bpl @loop
@exit rts
sourcemasks ; copymasks EOR #$FF
!byte %00000000
!byte %01000000
!byte %01100000
!byte %01110000
!byte %01111000
!byte %01111100
!byte %01111110
!byte %01111111
sourcemasks
!byte 0,0,0,0,0,0,0,0 ; SMC
copymasks
!byte %11111111
!byte %10111111

View File

@ -7,7 +7,14 @@
row = $fd
col = $fe
tmp = $ff
counter = $ff
!source "src/fx/macros.a"
+INIT_MASKS sourcemasks, copymasks
lda #64 ; 40 + 24
sta counter
lda #$FF ; -1
sta col
@ -27,7 +34,7 @@ tmp = $ff
cpy #40
bcs +
lda row
jsr HGRDiagonalBlockCopyWithGuards
jsr HGRBlockCopyWithMask
+ dey
dey
inc row
@ -43,45 +50,8 @@ tmp = $ff
bcc @colloop
@exit rts
HGRDiagonalBlockCopyWithGuards
; in: A = HGR row / 8 (0x00..0x17)
; Y = HGR column (0x00..0x27)
; out: Y preserved
; A/X clobbered
; tmp clobbered
asl
asl
asl
jsr HGRCalc
clc
tya
bmi @exit
ldx #7
@loop
lda ($26),y
and sourcemasks,x
sta tmp
lda ($3c),y
and copymasks,x
ora tmp
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
dex
bpl @loop
@exit rts
sourcemasks ; copymasks EOR #$FF
!byte %01111111
!byte %01111110
!byte %01111100
!byte %01111000
!byte %01110000
!byte %01100000
!byte %01000000
!byte %00000000
sourcemasks
!byte 0,0,0,0,0,0,0,0 ; SMC
copymasks
!byte %10000000
!byte %10000001

View File

@ -5,18 +5,15 @@
!to "build/FX/DIAGONAL4",plain
*=$6000
counter = $fc
row = $fd
col = $fe
tmp = $ff
counter = $ff
ldx #7
- lda copymasks,x
eor #%11111111
sta sourcemasks,x
dex
bpl -
lda #(40+24)
!source "src/fx/macros.a"
+INIT_MASKS sourcemasks, copymasks
lda #64 ; 40 + 24
sta counter
lda #39
@ -31,7 +28,7 @@ tmp = $ff
cpy #40
bcs +
lda row
jsr HGRDiagonalBlockCopyWithGuards
jsr HGRBlockCopyWithMask
+ iny
bmi +
cpy #40
@ -51,38 +48,8 @@ tmp = $ff
bne @colloop
@exit rts
HGRDiagonalBlockCopyWithGuards
; in: A = HGR row / 8 (0x00..0x17)
; Y = HGR column (0x00..0x27)
; out: Y preserved
; A/X clobbered
; tmp clobbered
asl
asl
asl
jsr HGRCalc
clc
tya
bmi @exit
ldx #7
@loop
lda ($26),y
and sourcemasks,x
sta tmp
lda ($3c),y
and copymasks,x
ora tmp
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
dex
bpl @loop
@exit rts
sourcemasks
!byte 0,0,0,0,0,0,0,0 ; SMC, will be copymasks EOR #$FF
!byte 0,0,0,0,0,0,0,0 ; SMC
copymasks
!byte %10000000
!byte %11000000

View File

@ -1,75 +1,162 @@
;license:MIT
;(c) 2018 by 4am
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX/DIAMOND",plain
*=$6000
lda #<@coords
sta $FE
lda #>@coords
sta $FF
ldy #$00
@loop1
lda ($FE),y
bpl @copy
lda #$18
jsr WaitForKeyWithTimeout
bmi @exit
bpl @next ; always branches
@copy
tax
iny
lda ($fe),y
tay
txa
jsr HGRBlockToWhite
@next
inc $FE
bne +
inc $FF
+ inc $FE
bne +
inc $FF
+ ldy #$00
lda ($FE),y
cmp #$80
bne @loop1
y = $fc
row = $fd
col = $fe
counter = $ff
@loop2
dec $FE
lda $FE
cmp #$FF
bne +
dec $FF
+ dec $FE
lda $FE
cmp #$FF
bne +
dec $FF
+ ldy #$00
lda ($FE),y
cmp #$80
beq @exit
lda ($FE),y
bpl @copy2
lda #$18
jsr WaitForKeyWithTimeout
bmi @exit
bpl @loop2 ; always branches
@copy2
tax
iny
lda ($fe),y
!source "src/fx/macros.a"
+INIT_MASKS sourcemasks1, copymasks1
+INIT_MASKS sourcemasks2, copymasks2
+INIT_MASKS sourcemasks3, copymasks3
+INIT_MASKS sourcemasks4, copymasks4
lda #32
sta counter
lda #39
sta col
@colloop
lda #23
sta row
ldy col
sty y
@rowloop
; check if this column is visible
ldy y
bpl +
- jmp @skip1
+ cpy #40
bcs -
; do corner 1
sty y
+SWITCH_TO_MASKS sourcemasks1, copymasks1
ldy y
lda row
jsr HGRBlockCopyWithMask
sty y
; do corner 2 (same row, opposing col)
+SWITCH_TO_MASKS sourcemasks2, copymasks2
lda #39
sec
sbc y
tay
txa
lda row
jsr HGRBlockCopyWithMask
; do corner 3 (opposing row, opposing col)
+SWITCH_TO_MASKS sourcemasks3, copymasks3
lda #39
sec
sbc y
tay
lda #23
sec
sbc row
jsr HGRBlockCopyWithMask
; do corner 4 (opposing row, same col)
+SWITCH_TO_MASKS sourcemasks4, copymasks4
ldy y
lda #23
sec
sbc row
jsr HGRBlockCopyWithMask
; reset y for looping
ldy y
@skip1
iny
; now check if *this* column is visible
sty y
bpl +
- jmp @skip2
+ cpy #40
bcs -
; do corner 1
lda row
jsr HGRBlockCopy
beq @loop2 ; always branches
; do corner 2
lda #39
sec
sbc y
tay
lda #23
sec
sbc row
jsr HGRBlockCopy
; do corner 3
lda #39
sec
sbc y
tay
lda row
jsr HGRBlockCopy
; do corner 4
ldy y
lda #23
sec
sbc row
jsr HGRBlockCopy
@skip2
dec row
bmi +
jmp @rowloop
+ lda $c000
bmi @exit
dec col
dec counter
beq @exit
jmp @colloop
@exit rts
!byte $80,$80
@coords
!source "src/fx/fx.hgr.diamond.data.a"
!byte $80
sourcemasks1
!byte 0,0,0,0,0,0,0,0 ; SMC
sourcemasks2
!byte 0,0,0,0,0,0,0,0 ; SMC
sourcemasks3
!byte 0,0,0,0,0,0,0,0 ; SMC
sourcemasks4
!byte 0,0,0,0,0,0,0,0 ; SMC
copymasks1
!byte %11111111
!byte %11111110
!byte %11111100
!byte %11111000
!byte %11110000
!byte %11100000
!byte %11000000
!byte %10000000
copymasks2
!byte %11111111
!byte %10111111
!byte %10011111
!byte %10001111
!byte %10000111
!byte %10000011
!byte %10000001
!byte %10000000
copymasks3
!byte %10000000
!byte %10000001
!byte %10000011
!byte %10000111
!byte %10001111
!byte %10011111
!byte %10111111
!byte %11111111
copymasks4
!byte %10000000
!byte %11000000
!byte %11100000
!byte %11110000
!byte %11111000
!byte %11111100
!byte %11111110
!byte %11111111
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"

View File

@ -1,991 +0,0 @@
!byte 0,0
!byte 0,39
!byte 23,0
!byte 23,39
!byte 255,255
!byte 0,1
!byte 0,38
!byte 1,0
!byte 1,39
!byte 22,0
!byte 22,39
!byte 23,1
!byte 23,38
!byte 255,255
!byte 0,2
!byte 0,37
!byte 1,1
!byte 1,38
!byte 2,0
!byte 2,39
!byte 21,0
!byte 21,39
!byte 22,1
!byte 22,38
!byte 23,2
!byte 23,37
!byte 255,255
!byte 0,3
!byte 0,36
!byte 1,2
!byte 1,37
!byte 2,1
!byte 2,38
!byte 3,0
!byte 3,39
!byte 20,0
!byte 20,39
!byte 21,1
!byte 21,38
!byte 22,2
!byte 22,37
!byte 23,3
!byte 23,36
!byte 255,255
!byte 0,4
!byte 0,35
!byte 1,3
!byte 1,36
!byte 2,2
!byte 2,37
!byte 3,1
!byte 3,38
!byte 4,0
!byte 4,39
!byte 19,0
!byte 19,39
!byte 20,1
!byte 20,38
!byte 21,2
!byte 21,37
!byte 22,3
!byte 22,36
!byte 23,4
!byte 23,35
!byte 255,255
!byte 0,5
!byte 0,34
!byte 1,4
!byte 1,35
!byte 2,3
!byte 2,36
!byte 3,2
!byte 3,37
!byte 4,1
!byte 4,38
!byte 5,0
!byte 5,39
!byte 18,0
!byte 18,39
!byte 19,1
!byte 19,38
!byte 20,2
!byte 20,37
!byte 21,3
!byte 21,36
!byte 22,4
!byte 22,35
!byte 23,5
!byte 23,34
!byte 255,255
!byte 0,6
!byte 0,33
!byte 1,5
!byte 1,34
!byte 2,4
!byte 2,35
!byte 3,3
!byte 3,36
!byte 4,2
!byte 4,37
!byte 5,1
!byte 5,38
!byte 6,0
!byte 6,39
!byte 17,0
!byte 17,39
!byte 18,1
!byte 18,38
!byte 19,2
!byte 19,37
!byte 20,3
!byte 20,36
!byte 21,4
!byte 21,35
!byte 22,5
!byte 22,34
!byte 23,6
!byte 23,33
!byte 255,255
!byte 0,7
!byte 0,32
!byte 1,6
!byte 1,33
!byte 2,5
!byte 2,34
!byte 3,4
!byte 3,35
!byte 4,3
!byte 4,36
!byte 5,2
!byte 5,37
!byte 6,1
!byte 6,38
!byte 7,0
!byte 7,39
!byte 16,0
!byte 16,39
!byte 17,1
!byte 17,38
!byte 18,2
!byte 18,37
!byte 19,3
!byte 19,36
!byte 20,4
!byte 20,35
!byte 21,5
!byte 21,34
!byte 22,6
!byte 22,33
!byte 23,7
!byte 23,32
!byte 255,255
!byte 0,8
!byte 0,31
!byte 1,7
!byte 1,32
!byte 2,6
!byte 2,33
!byte 3,5
!byte 3,34
!byte 4,4
!byte 4,35
!byte 5,3
!byte 5,36
!byte 6,2
!byte 6,37
!byte 7,1
!byte 7,38
!byte 8,0
!byte 8,39
!byte 15,0
!byte 15,39
!byte 16,1
!byte 16,38
!byte 17,2
!byte 17,37
!byte 18,3
!byte 18,36
!byte 19,4
!byte 19,35
!byte 20,5
!byte 20,34
!byte 21,6
!byte 21,33
!byte 22,7
!byte 22,32
!byte 23,8
!byte 23,31
!byte 255,255
!byte 0,9
!byte 0,30
!byte 1,8
!byte 1,31
!byte 2,7
!byte 2,32
!byte 3,6
!byte 3,33
!byte 4,5
!byte 4,34
!byte 5,4
!byte 5,35
!byte 6,3
!byte 6,36
!byte 7,2
!byte 7,37
!byte 8,1
!byte 8,38
!byte 9,0
!byte 9,39
!byte 14,0
!byte 14,39
!byte 15,1
!byte 15,38
!byte 16,2
!byte 16,37
!byte 17,3
!byte 17,36
!byte 18,4
!byte 18,35
!byte 19,5
!byte 19,34
!byte 20,6
!byte 20,33
!byte 21,7
!byte 21,32
!byte 22,8
!byte 22,31
!byte 23,9
!byte 23,30
!byte 255,255
!byte 0,10
!byte 0,29
!byte 1,9
!byte 1,30
!byte 2,8
!byte 2,31
!byte 3,7
!byte 3,32
!byte 4,6
!byte 4,33
!byte 5,5
!byte 5,34
!byte 6,4
!byte 6,35
!byte 7,3
!byte 7,36
!byte 8,2
!byte 8,37
!byte 9,1
!byte 9,38
!byte 10,0
!byte 10,39
!byte 13,0
!byte 13,39
!byte 14,1
!byte 14,38
!byte 15,2
!byte 15,37
!byte 16,3
!byte 16,36
!byte 17,4
!byte 17,35
!byte 18,5
!byte 18,34
!byte 19,6
!byte 19,33
!byte 20,7
!byte 20,32
!byte 21,8
!byte 21,31
!byte 22,9
!byte 22,30
!byte 23,10
!byte 23,29
!byte 255,255
!byte 0,11
!byte 0,28
!byte 1,10
!byte 1,29
!byte 2,9
!byte 2,30
!byte 3,8
!byte 3,31
!byte 4,7
!byte 4,32
!byte 5,6
!byte 5,33
!byte 6,5
!byte 6,34
!byte 7,4
!byte 7,35
!byte 8,3
!byte 8,36
!byte 9,2
!byte 9,37
!byte 10,1
!byte 10,38
!byte 11,0
!byte 11,39
!byte 12,0
!byte 12,39
!byte 13,1
!byte 13,38
!byte 14,2
!byte 14,37
!byte 15,3
!byte 15,36
!byte 16,4
!byte 16,35
!byte 17,5
!byte 17,34
!byte 18,6
!byte 18,33
!byte 19,7
!byte 19,32
!byte 20,8
!byte 20,31
!byte 21,9
!byte 21,30
!byte 22,10
!byte 22,29
!byte 23,11
!byte 23,28
!byte 255,255
!byte 0,12
!byte 0,27
!byte 1,11
!byte 1,28
!byte 2,10
!byte 2,29
!byte 3,9
!byte 3,30
!byte 4,8
!byte 4,31
!byte 5,7
!byte 5,32
!byte 6,6
!byte 6,33
!byte 7,5
!byte 7,34
!byte 8,4
!byte 8,35
!byte 9,3
!byte 9,36
!byte 10,2
!byte 10,37
!byte 11,1
!byte 11,38
!byte 12,1
!byte 12,38
!byte 13,2
!byte 13,37
!byte 14,3
!byte 14,36
!byte 15,4
!byte 15,35
!byte 16,5
!byte 16,34
!byte 17,6
!byte 17,33
!byte 18,7
!byte 18,32
!byte 19,8
!byte 19,31
!byte 20,9
!byte 20,30
!byte 21,10
!byte 21,29
!byte 22,11
!byte 22,28
!byte 23,12
!byte 23,27
!byte 255,255
!byte 0,13
!byte 0,26
!byte 1,12
!byte 1,27
!byte 2,11
!byte 2,28
!byte 3,10
!byte 3,29
!byte 4,9
!byte 4,30
!byte 5,8
!byte 5,31
!byte 6,7
!byte 6,32
!byte 7,6
!byte 7,33
!byte 8,5
!byte 8,34
!byte 9,4
!byte 9,35
!byte 10,3
!byte 10,36
!byte 11,2
!byte 11,37
!byte 12,2
!byte 12,37
!byte 13,3
!byte 13,36
!byte 14,4
!byte 14,35
!byte 15,5
!byte 15,34
!byte 16,6
!byte 16,33
!byte 17,7
!byte 17,32
!byte 18,8
!byte 18,31
!byte 19,9
!byte 19,30
!byte 20,10
!byte 20,29
!byte 21,11
!byte 21,28
!byte 22,12
!byte 22,27
!byte 23,13
!byte 23,26
!byte 255,255
!byte 0,14
!byte 0,25
!byte 1,13
!byte 1,26
!byte 2,12
!byte 2,27
!byte 3,11
!byte 3,28
!byte 4,10
!byte 4,29
!byte 5,9
!byte 5,30
!byte 6,8
!byte 6,31
!byte 7,7
!byte 7,32
!byte 8,6
!byte 8,33
!byte 9,5
!byte 9,34
!byte 10,4
!byte 10,35
!byte 11,3
!byte 11,36
!byte 12,3
!byte 12,36
!byte 13,4
!byte 13,35
!byte 14,5
!byte 14,34
!byte 15,6
!byte 15,33
!byte 16,7
!byte 16,32
!byte 17,8
!byte 17,31
!byte 18,9
!byte 18,30
!byte 19,10
!byte 19,29
!byte 20,11
!byte 20,28
!byte 21,12
!byte 21,27
!byte 22,13
!byte 22,26
!byte 23,14
!byte 23,25
!byte 255,255
!byte 0,15
!byte 0,24
!byte 1,14
!byte 1,25
!byte 2,13
!byte 2,26
!byte 3,12
!byte 3,27
!byte 4,11
!byte 4,28
!byte 5,10
!byte 5,29
!byte 6,9
!byte 6,30
!byte 7,8
!byte 7,31
!byte 8,7
!byte 8,32
!byte 9,6
!byte 9,33
!byte 10,5
!byte 10,34
!byte 11,4
!byte 11,35
!byte 12,4
!byte 12,35
!byte 13,5
!byte 13,34
!byte 14,6
!byte 14,33
!byte 15,7
!byte 15,32
!byte 16,8
!byte 16,31
!byte 17,9
!byte 17,30
!byte 18,10
!byte 18,29
!byte 19,11
!byte 19,28
!byte 20,12
!byte 20,27
!byte 21,13
!byte 21,26
!byte 22,14
!byte 22,25
!byte 23,15
!byte 23,24
!byte 255,255
!byte 0,16
!byte 0,23
!byte 1,15
!byte 1,24
!byte 2,14
!byte 2,25
!byte 3,13
!byte 3,26
!byte 4,12
!byte 4,27
!byte 5,11
!byte 5,28
!byte 6,10
!byte 6,29
!byte 7,9
!byte 7,30
!byte 8,8
!byte 8,31
!byte 9,7
!byte 9,32
!byte 10,6
!byte 10,33
!byte 11,5
!byte 11,34
!byte 12,5
!byte 12,34
!byte 13,6
!byte 13,33
!byte 14,7
!byte 14,32
!byte 15,8
!byte 15,31
!byte 16,9
!byte 16,30
!byte 17,10
!byte 17,29
!byte 18,11
!byte 18,28
!byte 19,12
!byte 19,27
!byte 20,13
!byte 20,26
!byte 21,14
!byte 21,25
!byte 22,15
!byte 22,24
!byte 23,16
!byte 23,23
!byte 255,255
!byte 0,17
!byte 0,22
!byte 1,16
!byte 1,23
!byte 2,15
!byte 2,24
!byte 3,14
!byte 3,25
!byte 4,13
!byte 4,26
!byte 5,12
!byte 5,27
!byte 6,11
!byte 6,28
!byte 7,10
!byte 7,29
!byte 8,9
!byte 8,30
!byte 9,8
!byte 9,31
!byte 10,7
!byte 10,32
!byte 11,6
!byte 11,33
!byte 12,6
!byte 12,33
!byte 13,7
!byte 13,32
!byte 14,8
!byte 14,31
!byte 15,9
!byte 15,30
!byte 16,10
!byte 16,29
!byte 17,11
!byte 17,28
!byte 18,12
!byte 18,27
!byte 19,13
!byte 19,26
!byte 20,14
!byte 20,25
!byte 21,15
!byte 21,24
!byte 22,16
!byte 22,23
!byte 23,17
!byte 23,22
!byte 255,255
!byte 0,18
!byte 0,21
!byte 1,17
!byte 1,22
!byte 2,16
!byte 2,23
!byte 3,15
!byte 3,24
!byte 4,14
!byte 4,25
!byte 5,13
!byte 5,26
!byte 6,12
!byte 6,27
!byte 7,11
!byte 7,28
!byte 8,10
!byte 8,29
!byte 9,9
!byte 9,30
!byte 10,8
!byte 10,31
!byte 11,7
!byte 11,32
!byte 12,7
!byte 12,32
!byte 13,8
!byte 13,31
!byte 14,9
!byte 14,30
!byte 15,10
!byte 15,29
!byte 16,11
!byte 16,28
!byte 17,12
!byte 17,27
!byte 18,13
!byte 18,26
!byte 19,14
!byte 19,25
!byte 20,15
!byte 20,24
!byte 21,16
!byte 21,23
!byte 22,17
!byte 22,22
!byte 23,18
!byte 23,21
!byte 255,255
!byte 0,19
!byte 0,20
!byte 1,18
!byte 1,21
!byte 2,17
!byte 2,22
!byte 3,16
!byte 3,23
!byte 4,15
!byte 4,24
!byte 5,14
!byte 5,25
!byte 6,13
!byte 6,26
!byte 7,12
!byte 7,27
!byte 8,11
!byte 8,28
!byte 9,10
!byte 9,29
!byte 10,9
!byte 10,30
!byte 11,8
!byte 11,31
!byte 12,8
!byte 12,31
!byte 13,9
!byte 13,30
!byte 14,10
!byte 14,29
!byte 15,11
!byte 15,28
!byte 16,12
!byte 16,27
!byte 17,13
!byte 17,26
!byte 18,14
!byte 18,25
!byte 19,15
!byte 19,24
!byte 20,16
!byte 20,23
!byte 21,17
!byte 21,22
!byte 22,18
!byte 22,21
!byte 23,19
!byte 23,20
!byte 255,255
!byte 1,19
!byte 1,20
!byte 2,18
!byte 2,21
!byte 3,17
!byte 3,22
!byte 4,16
!byte 4,23
!byte 5,15
!byte 5,24
!byte 6,14
!byte 6,25
!byte 7,13
!byte 7,26
!byte 8,12
!byte 8,27
!byte 9,11
!byte 9,28
!byte 10,10
!byte 10,29
!byte 11,9
!byte 11,30
!byte 12,9
!byte 12,30
!byte 13,10
!byte 13,29
!byte 14,11
!byte 14,28
!byte 15,12
!byte 15,27
!byte 16,13
!byte 16,26
!byte 17,14
!byte 17,25
!byte 18,15
!byte 18,24
!byte 19,16
!byte 19,23
!byte 20,17
!byte 20,22
!byte 21,18
!byte 21,21
!byte 22,19
!byte 22,20
!byte 255,255
!byte 2,19
!byte 2,20
!byte 3,18
!byte 3,21
!byte 4,17
!byte 4,22
!byte 5,16
!byte 5,23
!byte 6,15
!byte 6,24
!byte 7,14
!byte 7,25
!byte 8,13
!byte 8,26
!byte 9,12
!byte 9,27
!byte 10,11
!byte 10,28
!byte 11,10
!byte 11,29
!byte 12,10
!byte 12,29
!byte 13,11
!byte 13,28
!byte 14,12
!byte 14,27
!byte 15,13
!byte 15,26
!byte 16,14
!byte 16,25
!byte 17,15
!byte 17,24
!byte 18,16
!byte 18,23
!byte 19,17
!byte 19,22
!byte 20,18
!byte 20,21
!byte 21,19
!byte 21,20
!byte 255,255
!byte 3,19
!byte 3,20
!byte 4,18
!byte 4,21
!byte 5,17
!byte 5,22
!byte 6,16
!byte 6,23
!byte 7,15
!byte 7,24
!byte 8,14
!byte 8,25
!byte 9,13
!byte 9,26
!byte 10,12
!byte 10,27
!byte 11,11
!byte 11,28
!byte 12,11
!byte 12,28
!byte 13,12
!byte 13,27
!byte 14,13
!byte 14,26
!byte 15,14
!byte 15,25
!byte 16,15
!byte 16,24
!byte 17,16
!byte 17,23
!byte 18,17
!byte 18,22
!byte 19,18
!byte 19,21
!byte 20,19
!byte 20,20
!byte 255,255
!byte 4,19
!byte 4,20
!byte 5,18
!byte 5,21
!byte 6,17
!byte 6,22
!byte 7,16
!byte 7,23
!byte 8,15
!byte 8,24
!byte 9,14
!byte 9,25
!byte 10,13
!byte 10,26
!byte 11,12
!byte 11,27
!byte 12,12
!byte 12,27
!byte 13,13
!byte 13,26
!byte 14,14
!byte 14,25
!byte 15,15
!byte 15,24
!byte 16,16
!byte 16,23
!byte 17,17
!byte 17,22
!byte 18,18
!byte 18,21
!byte 19,19
!byte 19,20
!byte 255,255
!byte 5,19
!byte 5,20
!byte 6,18
!byte 6,21
!byte 7,17
!byte 7,22
!byte 8,16
!byte 8,23
!byte 9,15
!byte 9,24
!byte 10,14
!byte 10,25
!byte 11,13
!byte 11,26
!byte 12,13
!byte 12,26
!byte 13,14
!byte 13,25
!byte 14,15
!byte 14,24
!byte 15,16
!byte 15,23
!byte 16,17
!byte 16,22
!byte 17,18
!byte 17,21
!byte 18,19
!byte 18,20
!byte 255,255
!byte 6,19
!byte 6,20
!byte 7,18
!byte 7,21
!byte 8,17
!byte 8,22
!byte 9,16
!byte 9,23
!byte 10,15
!byte 10,24
!byte 11,14
!byte 11,25
!byte 12,14
!byte 12,25
!byte 13,15
!byte 13,24
!byte 14,16
!byte 14,23
!byte 15,17
!byte 15,22
!byte 16,18
!byte 16,21
!byte 17,19
!byte 17,20
!byte 255,255
!byte 7,19
!byte 7,20
!byte 8,18
!byte 8,21
!byte 9,17
!byte 9,22
!byte 10,16
!byte 10,23
!byte 11,15
!byte 11,24
!byte 12,15
!byte 12,24
!byte 13,16
!byte 13,23
!byte 14,17
!byte 14,22
!byte 15,18
!byte 15,21
!byte 16,19
!byte 16,20
!byte 255,255
!byte 8,19
!byte 8,20
!byte 9,18
!byte 9,21
!byte 10,17
!byte 10,22
!byte 11,16
!byte 11,23
!byte 12,16
!byte 12,23
!byte 13,17
!byte 13,22
!byte 14,18
!byte 14,21
!byte 15,19
!byte 15,20
!byte 255,255
!byte 9,19
!byte 9,20
!byte 10,18
!byte 10,21
!byte 11,17
!byte 11,22
!byte 12,17
!byte 12,22
!byte 13,18
!byte 13,21
!byte 14,19
!byte 14,20
!byte 255,255
!byte 10,19
!byte 10,20
!byte 11,18
!byte 11,21
!byte 12,18
!byte 12,21
!byte 13,19
!byte 13,20
!byte 255,255
!byte 11,19
!byte 11,20
!byte 12,19
!byte 12,20
!byte 255,255

View File

@ -5,7 +5,7 @@
!to "build/FX/SPLIT.UD.INTRO",plain
*=$6000
!source "src/fx/fx.hgr.macros.a"
!source "src/fx/macros.a"
col1 = $FE
col2 = $FF

View File

@ -1,4 +1,6 @@
!ifndef MACROS {
!ifndef _HGRMACROS_ {
!source "src/macros.a"
!macro HGR_CALC {
asl
tax
@ -30,5 +32,17 @@
sta $3d
}
MACROS=*
!macro SWITCH_TO_MASKS .source, .copy {
+LDADDR .source
jsr SetSourceMask
+LDADDR .copy
jsr SetCopyMask
}
!macro INIT_MASKS .source, .copy {
+SWITCH_TO_MASKS .source, .copy
jsr BuildSourceMaskFromCopyMask
}
_HGRMACROS_=*
}