add fx/split.ud.intro

This commit is contained in:
4am 2018-11-03 11:04:09 -04:00
parent 201b3f5d5a
commit c5ee02aa5e
7 changed files with 164 additions and 40 deletions

View File

@ -45,6 +45,7 @@ asm: md
$(ACME) src/fx/fx.hgr.corner.circle.a
$(ACME) src/fx/fx.hgr.sunrise.a
$(ACME) src/fx/fx.hgr.radial.a
$(ACME) src/fx/fx.hgr.split.ud.intro.a
dsk: md asm
$(CADIUS) CREATEVOLUME build/"$(DISK)" "${VOLUME}" 32766KB >>build/log

View File

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

View File

@ -22,3 +22,4 @@ STAGGERWHITE.LR=Type(06),AuxType(6000),Access(C3)
CORNER.CIRCLE=Type(06),AuxType(6000),Access(C3)
SUNRISE=Type(06),AuxType(6000),Access(C3)
RADIAL=Type(06),AuxType(6000),Access(C3)
SPLIT.UD.INTRO=Type(06),AuxType(6000),Access(C3)

View File

@ -193,7 +193,7 @@ AttractMode
jmp BlankHGR
@HGRSlideshow
jsr LoadTransition
; jsr LoadTransition
jsr okvs_iter
!word gSlideshowStore
!word HGRLoad
@ -209,7 +209,7 @@ HGRLoad
; load HGR screenshot at $4000
+LOAD_FILE kHGRScreenshotDirectory, PTR
; jsr LoadTransition
jsr LoadTransition
jsr $6000 ; transition effect code was loaded here earlier
jmp WaitOnScreenshot

View File

@ -1,25 +1,4 @@
!macro HGR_CALC {
asl
tax
and #$F0
bpl @calc1
ora #$05
@calc1 bcc @calc2
ora #$0A
@calc2 asl
asl
sta $26
txa
and #$0E
adc #$10
asl $26
rol
sta $27
eor #$60
sta $3d
lda $26
sta $3c
}
!source "src/fx/fx.hgr.macros.a"
HGRCalc
; in: A = HGR row (0x00..0xBF)
@ -76,11 +55,7 @@ HGRBlockToWhite
@loop
lda #$7F
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
+HGR_INC_WITHIN_BLOCK
dex
bne @loop
rts
@ -102,11 +77,7 @@ HGRStaggerCopy
@loop
lda ($3c),y
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
+HGR_INC_WITHIN_BLOCK
dex
bne @loop
rts
@ -128,11 +99,7 @@ HGRStaggerToWhite
@loop
lda #$7F
sta ($26),y
lda $27
adc #$04
sta $27
eor #$60
sta $3d
+HGR_INC_WITHIN_BLOCK
dex
bne @loop
rts

34
src/fx/fx.hgr.macros.a Normal file
View File

@ -0,0 +1,34 @@
!ifndef MACROS {
!macro HGR_CALC {
asl
tax
and #$F0
bpl @calc1
ora #$05
@calc1 bcc @calc2
ora #$0A
@calc2 asl
asl
sta $26
txa
and #$0E
adc #$10
asl $26
rol
sta $27
eor #$60
sta $3d
lda $26
sta $3c
}
!macro HGR_INC_WITHIN_BLOCK {
lda $27
adc #$04
sta $27
eor #$60
sta $3d
}
MACROS=*
}

View File

@ -0,0 +1,121 @@
!cpu 6502
!to "build/FX/SPLIT.UD.INTRO",plain
*=$6000
!source "src/fx/fx.hgr.macros.a"
col1 = $FE
col2 = $FF
lda #$00
sta col1
lda #$27
sta col2
@introloop
lda #$17
ldy col1
jsr HGRHalfBlockToWhite
lda #$18
ldy col2
jsr HGRHalfBlockToWhite
lda #$40
jsr WaitForKeyWithTimeout
bpl +
jmp @exit
+
inc col1
dec col2
bpl @introloop
row1 = $FE
row2 = $FF
lda #$16
sta row1
lda #$19
sta row2
@outerloop
lda row1
bmi @skiptopwhite
asl
asl
jsr HGRCalc
ldx #$04
@topwhite
ldy #$27
lda #$7F
- sta ($26),y
dey
bpl -
+HGR_INC_WITHIN_BLOCK
dex
bne @topwhite
@skiptopwhite
inc row1
lda row1
asl
asl
jsr HGRCalc
ldx #$04
@topcopy
ldy #$27
- lda ($3c),y
sta ($26),y
dey
bpl -
+HGR_INC_WITHIN_BLOCK
dex
bne @topcopy
lda row2
cmp #$30
bcs @skipbottomwhite
lda row2
asl
asl
jsr HGRCalc
ldx #$04
@bottomwhite
ldy #$27
- lda #$7F
sta ($26),y
dey
bpl -
+HGR_INC_WITHIN_BLOCK
dex
bne @bottomwhite
@skipbottomwhite
dec row2
lda row2
asl
asl
jsr HGRCalc
ldx #$04
@bottomcopy
ldy #$27
- lda ($3c),y
sta ($26),y
dey
bpl -
+HGR_INC_WITHIN_BLOCK
dex
bne @bottomcopy
lda #$28
jsr WaitForKeyWithTimeout
bmi @exit
dec row1
dec row1
inc row2
inc row2
lda row1
cmp #$FE
beq @exit
jmp @outerloop
@exit rts
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"