add fx/fx.hgr.halfblock.fizzle and halfblock.mosaic

This commit is contained in:
4am 2018-11-01 22:35:48 -04:00
parent bfd7a8a488
commit d886b463d0
8 changed files with 3994 additions and 1 deletions

View File

@ -36,6 +36,8 @@ asm: md
$(ACME) src/fx/fx.hgr.onesquare.a
$(ACME) src/fx/fx.hgr.diamond.a
$(ACME) src/fx/fx.hgr.checkerboard.a
$(ACME) src/fx/fx.hgr.halfblock.fizzle.a
$(ACME) src/fx/fx.hgr.halfblock.mosaic.a
dsk: md asm
$(CADIUS) CREATEVOLUME build/"$(DISK)" "${VOLUME}" 32766KB >>build/log

View File

@ -1 +1 @@
# # transition effects for HGR slideshows # CHECKERBOARD DIAMOND ONESQUARE FOURSQUARE CRYSTAL TWOPASS.LR INTERLOCK.LR BLOCK.MOSAIC IRIS FIZZLE INTERLOCK.UD BLOCK.FIZZLE DIAGONAL SPIRAL BAR.DISSOLVE [eof]
# # transition effects for HGR slideshows # HALF.FIZZLE HALF.MOSAIC CHECKERBOARD DIAMOND ONESQUARE FOURSQUARE CRYSTAL TWOPASS.LR INTERLOCK.LR BLOCK.MOSAIC IRIS FIZZLE INTERLOCK.UD BLOCK.FIZZLE DIAGONAL SPIRAL BAR.DISSOLVE [eof]

View File

@ -13,3 +13,5 @@ FOURSQUARE=Type(06),AuxType(6000),Access(C3)
ONESQUARE=Type(06),AuxType(6000),Access(C3)
DIAMOND=Type(06),AuxType(6000),Access(C3)
CHECKERBOARD=Type(06),AuxType(6000),Access(C3)
HALF.FIZZLE=Type(06),AuxType(6000),Access(C3)
HALF.MOSAIC=Type(06),AuxType(6000),Access(C3)

1919
res/notes/halfblock.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -84,3 +84,53 @@ HGRBlockToWhite
dex
bne @loop
rts
HGRHalfBlockCopy
; in: A = HGR row / 4 (0x00..0x2F)
; Y = HGR column (0x00..0x27)
; out: Y preserved
; X = #$00
; Z set
; C clear
; all other flags and registers clobbered
asl
asl
+HGR_CALC
clc
ldx #$04
@loop
lda ($3c),y
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
dex
bne @loop
rts
HGRHalfBlockToWhite
; in: A = HGR row / 4 (0x00..0x2F)
; Y = HGR column (0x00..0x27)
; out: Y preserved
; X = #$00
; Z set
; C clear
; all other flags and registers clobbered
asl
asl
+HGR_CALC
clc
ldx #$04
@loop
lda #$7F
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
dex
bne @loop
rts

View File

@ -0,0 +1,37 @@
!cpu 6502
!to "build/FX/HALF.FIZZLE",plain
*=$6000
coord = $FE
lda #<@coords
sta coord
lda #>@coords
sta coord+1
@loop
ldy #0
lda (coord),y
bmi @exit
tax
iny
lda (coord),y
tay
txa
jsr HGRHalfBlockCopy
lda #$07
jsr WaitForKeyWithTimeout
bmi @exit
inc coord
bne +
inc coord+1
+ inc coord
bne +
inc coord+1
+ bne @loop
@exit rts
@coords
!source "src/fx/fx.hgr.halfblock.fizzle.data.a"
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
!cpu 6502
!to "build/FX/HALF.MOSAIC",plain
*=$6000
coord = $FE
lda #<@coords
sta coord
lda #>@coords
sta coord+1
@whiteloop
ldy #0
lda (coord),y
bmi @endwhite
tax
iny
lda (coord),y
tay
txa
jsr HGRHalfBlockToWhite
lda #$02
jsr WaitForKeyWithTimeout
bmi @exit
inc coord
bne +
inc coord+1
+ inc coord
bne +
inc coord+1
+ bne @whiteloop
@endwhite
lda #<@coords
sta coord
lda #>@coords
sta coord+1
@copyloop
ldy #0
lda (coord),y
bmi @exit
tax
iny
lda (coord),y
tay
txa
jsr HGRHalfBlockCopy
lda #$02
jsr WaitForKeyWithTimeout
bmi @exit
inc coord
bne +
inc coord+1
+ inc coord
bne +
inc coord+1
+ bne @copyloop
@exit rts
@coords
!source "src/fx/fx.hgr.halfblock.fizzle.data.a"
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"