final effect is in!

This commit is contained in:
Dagen Brock 2012-12-07 01:06:05 -06:00
parent 7247c668f3
commit 147854095e
2 changed files with 122 additions and 4 deletions

110
festro.s
View File

@ -40,6 +40,7 @@ DemoMain
bra :mainLoop
DemoSubroutineTable
dw HandleProdrop
dw HandleScan01
dw HandleTextClear
@ -77,10 +78,14 @@ DemoSubroutineTable
dw HandleMedWait
dw HandleShortWait
dw HandleSplitSlide
* dw SetProdropGr
* dw HandleProdrop
dw HandleAppleDraw
dw SetProdropGr
dw HandleProdrop
dw SetProdropText
dw HandleShortWait
dw HandleTextClear
dw HandleTextClear
dw HandleSwipeWrite
dw HandleShortWait
dw HandleGreetScroll
@ -90,6 +95,99 @@ DemoSubroutineTable
dw HandleFinalScreen
dw P8Quit
HandleAppleDraw
:mainLoop
lda #1
sta _appleDone
lda #AppleLogo
sta srcPtr
lda #>AppleLogo
sta srcPtr+1
lda #_appleOffsetY
sta _currentY
:lineStart asl
tax
lda LoLineTable,x
sta dstPtr
lda LoLineTable+1,x
sta dstPtr+1
lda dstPtr ; add offset
clc
adc #_appleOffsetX
sta dstPtr
bcc :noCarry2
inc dstPtr+1
:noCarry2
; src = buffer
; dst = screen
ldy #$00
:drawLoop lda (srcPtr),y
* bra :noMagic
cmp (dstPtr),y
beq :nextChar
stz _appleDone
jsr GetRand
cmp #$00 ; occasional black pixel @todo
beq :noMagic
cmp #$F8 ; had to add in a way to keep it from
blt :noMagic ; getting stuck so now it occasionally puts
lda (srcPtr),y ; the right pixel even when it wasn't
:noMagic sta (dstPtr),y ; found by getrand. (because it's only pseudorandom)
:nextChar iny
cpy #AppleLogoWidth
bne :drawLoop
:nextLine lda srcPtr
clc
adc #AppleLogoWidth
sta srcPtr
bcc :noCarry1
inc srcPtr+1
:noCarry1
inc _currentY ; handle screen offset
lda _currentY
cmp #AppleLogoHeight+_appleOffsetY
bne :lineStart
:donePass lda #$5
jsr SimplerWait
lda _appleDone
beq :mainLoop
lda #$33
jsr SimplerWait
inc GDemoState
jmp DemoMain
_currentY db #$00
_appleDone db #$00
_appleOffsetX equ 10
_appleOffsetY equ 8
* done = true
* while !done
* for x = 0 to width
* for y = 0 to height
* load buffer x,y
* cmp screen x,y (plus offsets)
* if (screen = buffer) continue
* done = false
* get rand
* store at screen x,y
* waitvbl
HandleFinalScreen
lda #FinalText
sta srcPtr
@ -299,7 +397,7 @@ _c12 asc "Gamebits/JuicedGS",00
_c13 asc "KFest Organizers",00
_c14 asc " Presenters",00
_c15 asc " Attendees",00
_c16 asc " YOU!",00
_c16 asc " AND YOU!",00
_c17 asc "THANKS",00
_c18 asc " FOR",00
_c19 asc " WATCHING",00
@ -1328,6 +1426,10 @@ HandleMedWait
SetProdropGr
lda #$00
bra SetProdropChar
SetProdropText
lda #" "
SetProdropChar
sta ]dropCharCompare
sta ]dropCharWrite
inc GDemoState

View File

@ -297,3 +297,19 @@ KfestLogo
db $aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5
db $aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5,$aa,$a5
AppleLogoWidth equ #19
AppleLogoHeight equ #13
AppleLogo
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$c0,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$cc,$cc,$cc,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$c4,$cc,$cc,$0c,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$c0,$c4,$c4,$c4,$c0,$c0,$0c,$0c,$c0,$c0,$c4,$c4,$c0,$c0,$00,$00
db $00,$c0,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc,$40
db $d0,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd,$0d,$00,$00
db $9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d,$00,$00,$00
db $99,$99,$99,$99,$99,$99,$99,$99,$99,$99,$99,$99,$99,$99,$99,$99,$00,$00,$00
db $01,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$10,$00
db $00,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31,$31
db $00,$00,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$33,$00
db $00,$00,$00,$07,$77,$77,$77,$77,$77,$77,$77,$77,$77,$77,$77,$77,$07,$00,$00
db $00,$00,$00,$00,$00,$07,$07,$07,$00,$00,$00,$00,$07,$07,$07,$00,$00,$00,$00