mirror of
https://github.com/digarok/festro.git
synced 2024-06-09 12:29:32 +00:00
final effect is in!
This commit is contained in:
parent
7247c668f3
commit
147854095e
110
festro.s
110
festro.s
|
@ -40,6 +40,7 @@ DemoMain
|
||||||
bra :mainLoop
|
bra :mainLoop
|
||||||
|
|
||||||
DemoSubroutineTable
|
DemoSubroutineTable
|
||||||
|
|
||||||
dw HandleProdrop
|
dw HandleProdrop
|
||||||
dw HandleScan01
|
dw HandleScan01
|
||||||
dw HandleTextClear
|
dw HandleTextClear
|
||||||
|
@ -77,10 +78,14 @@ DemoSubroutineTable
|
||||||
dw HandleMedWait
|
dw HandleMedWait
|
||||||
dw HandleShortWait
|
dw HandleShortWait
|
||||||
dw HandleSplitSlide
|
dw HandleSplitSlide
|
||||||
* dw SetProdropGr
|
|
||||||
* dw HandleProdrop
|
dw HandleAppleDraw
|
||||||
|
dw SetProdropGr
|
||||||
|
dw HandleProdrop
|
||||||
|
dw SetProdropText
|
||||||
dw HandleShortWait
|
dw HandleShortWait
|
||||||
dw HandleTextClear
|
dw HandleTextClear
|
||||||
|
|
||||||
dw HandleSwipeWrite
|
dw HandleSwipeWrite
|
||||||
dw HandleShortWait
|
dw HandleShortWait
|
||||||
dw HandleGreetScroll
|
dw HandleGreetScroll
|
||||||
|
@ -90,6 +95,99 @@ DemoSubroutineTable
|
||||||
dw HandleFinalScreen
|
dw HandleFinalScreen
|
||||||
dw P8Quit
|
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
|
HandleFinalScreen
|
||||||
lda #FinalText
|
lda #FinalText
|
||||||
sta srcPtr
|
sta srcPtr
|
||||||
|
@ -299,7 +397,7 @@ _c12 asc "Gamebits/JuicedGS",00
|
||||||
_c13 asc "KFest Organizers",00
|
_c13 asc "KFest Organizers",00
|
||||||
_c14 asc " Presenters",00
|
_c14 asc " Presenters",00
|
||||||
_c15 asc " Attendees",00
|
_c15 asc " Attendees",00
|
||||||
_c16 asc " YOU!",00
|
_c16 asc " AND YOU!",00
|
||||||
_c17 asc "THANKS",00
|
_c17 asc "THANKS",00
|
||||||
_c18 asc " FOR",00
|
_c18 asc " FOR",00
|
||||||
_c19 asc " WATCHING",00
|
_c19 asc " WATCHING",00
|
||||||
|
@ -1328,6 +1426,10 @@ HandleMedWait
|
||||||
|
|
||||||
SetProdropGr
|
SetProdropGr
|
||||||
lda #$00
|
lda #$00
|
||||||
|
bra SetProdropChar
|
||||||
|
SetProdropText
|
||||||
|
lda #" "
|
||||||
|
SetProdropChar
|
||||||
sta ]dropCharCompare
|
sta ]dropCharCompare
|
||||||
sta ]dropCharWrite
|
sta ]dropCharWrite
|
||||||
inc GDemoState
|
inc GDemoState
|
||||||
|
|
16
festrodata.s
16
festrodata.s
|
@ -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
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user