mirror of
https://github.com/digarok/festro.git
synced 2024-06-09 12:29:32 +00:00
more effects.. finished through screen logo drop
This commit is contained in:
parent
1e9e2e3ea6
commit
c75ba8c85d
564
festro.s
564
festro.s
|
@ -40,16 +40,44 @@ DemoMain
|
||||||
bra :mainLoop
|
bra :mainLoop
|
||||||
|
|
||||||
DemoSubroutineTable
|
DemoSubroutineTable
|
||||||
|
|
||||||
dw HandleProdrop
|
dw HandleProdrop
|
||||||
dw HandleDigawrite
|
dw HandleDigawrite
|
||||||
|
dw HandleShortWait
|
||||||
dw HandleProdrop
|
dw HandleProdrop
|
||||||
dw HandleSwipeWrite
|
dw HandleSwipeWrite
|
||||||
|
dw HandleShortWait
|
||||||
|
dw HandleShortWait
|
||||||
|
dw HandleProdrop
|
||||||
|
|
||||||
dw HandleLoResInit
|
dw HandleLoResInit
|
||||||
|
dw HandleFireRatio20
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireRatio90
|
||||||
dw HandleFireState1
|
dw HandleFireState1
|
||||||
dw HandleFireStateK
|
dw HandleFireStateK
|
||||||
dw HandleFireState1
|
dw HandleFireState1
|
||||||
dw HandleFireStateK
|
dw HandleFireStateF
|
||||||
dw HandleFireState1
|
dw HandleFireState1
|
||||||
|
dw HandleFireStateE
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireStateS
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireStateT
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireRatio20
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleFireRatio01
|
||||||
|
dw HandleFireState1
|
||||||
|
dw HandleKfestLogo
|
||||||
|
dw HandleShortWait
|
||||||
|
dw HandleShortWait
|
||||||
|
dw SetProdropGr
|
||||||
|
dw HandleProdrop
|
||||||
|
dw HandleShortWait
|
||||||
dw P8Quit
|
dw P8Quit
|
||||||
|
|
||||||
HandleLoResInit
|
HandleLoResInit
|
||||||
|
@ -58,8 +86,31 @@ HandleLoResInit
|
||||||
inc GDemoState
|
inc GDemoState
|
||||||
jmp DemoMain
|
jmp DemoMain
|
||||||
|
|
||||||
|
HandleFireRatio01
|
||||||
|
lda #$01
|
||||||
|
sta GFireRatio
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
HandleFireRatio20
|
||||||
|
lda #$20
|
||||||
|
sta GFireRatio
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
HandleFireRatio90
|
||||||
|
lda #$90
|
||||||
|
sta GFireRatio
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
HandleFireRatioC0
|
||||||
|
lda #$C0
|
||||||
|
sta GFireRatio
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
HandleFireState1
|
HandleFireState1
|
||||||
ldx #30
|
ldx #20
|
||||||
:loop jsr FirePass
|
:loop jsr FirePass
|
||||||
dex
|
dex
|
||||||
bne :loop
|
bne :loop
|
||||||
|
@ -67,13 +118,55 @@ HandleFireState1
|
||||||
jmp DemoMain
|
jmp DemoMain
|
||||||
|
|
||||||
HandleFireStateK
|
HandleFireStateK
|
||||||
ldx #$20
|
lda #$20
|
||||||
:loop jsr FirePass2
|
:loop ldx #_sprData_K
|
||||||
dex
|
ldy #>_sprData_K
|
||||||
|
jsr FirePass2 ; preserves A,X,Y
|
||||||
|
dec
|
||||||
bne :loop
|
bne :loop
|
||||||
inc GDemoState
|
inc GDemoState
|
||||||
jmp DemoMain
|
jmp DemoMain
|
||||||
|
|
||||||
|
HandleFireStateF
|
||||||
|
lda #$20
|
||||||
|
:loop ldx #_sprData_F
|
||||||
|
ldy #>_sprData_F
|
||||||
|
jsr FirePass2 ; preserves A,X,Y
|
||||||
|
dec
|
||||||
|
bne :loop
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
HandleFireStateE
|
||||||
|
lda #$20
|
||||||
|
:loop ldx #_sprData_E
|
||||||
|
ldy #>_sprData_E
|
||||||
|
jsr FirePass2 ; preserves A,X,Y
|
||||||
|
dec
|
||||||
|
bne :loop
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
|
||||||
|
HandleFireStateS
|
||||||
|
lda #$20
|
||||||
|
:loop ldx #_sprData_S
|
||||||
|
ldy #>_sprData_S
|
||||||
|
jsr FirePass2 ; preserves A,X,Y
|
||||||
|
dec
|
||||||
|
bne :loop
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
HandleFireStateT
|
||||||
|
lda #$20
|
||||||
|
:loop ldx #_sprData_T
|
||||||
|
ldy #>_sprData_T
|
||||||
|
jsr FirePass2 ; preserves A,X,Y
|
||||||
|
dec
|
||||||
|
bne :loop
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
FirePass pha
|
FirePass pha
|
||||||
phx
|
phx
|
||||||
|
@ -84,14 +177,19 @@ FirePass pha
|
||||||
plx
|
plx
|
||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
FirePass2 pha
|
|
||||||
|
* A = count X=lowbyte Y=hibyte
|
||||||
|
FirePass2
|
||||||
|
pha
|
||||||
phx
|
phx
|
||||||
|
phy
|
||||||
jsr MakeHeat
|
jsr MakeHeat
|
||||||
jsr Scroll8
|
jsr Scroll8
|
||||||
jsr DrawKMask
|
ply
|
||||||
|
plx
|
||||||
|
jsr DrawSpriteMask
|
||||||
jsr Average8
|
jsr Average8
|
||||||
jsr DrawBufFullScreen
|
jsr DrawBufFullScreen
|
||||||
plx
|
|
||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -150,6 +248,118 @@ FBufLastLine equ #FBufWidth*#FBufHeight-#FBufWidth+FBUF
|
||||||
**************************************************
|
**************************************************
|
||||||
* Demo-Part Controllers
|
* Demo-Part Controllers
|
||||||
**************************************************
|
**************************************************
|
||||||
|
HandleKfestLogo
|
||||||
|
ldx #0
|
||||||
|
:logoLoop lda KfestLogo,x
|
||||||
|
sta Lo01,x
|
||||||
|
lda KfestLogoWidth*1+KfestLogo,x
|
||||||
|
sta Lo02,x
|
||||||
|
lda KfestLogoWidth*2+KfestLogo,x
|
||||||
|
sta Lo03,x
|
||||||
|
lda KfestLogoWidth*3+KfestLogo,x
|
||||||
|
sta Lo04,x
|
||||||
|
lda KfestLogoWidth*4+KfestLogo,x
|
||||||
|
sta Lo05,x
|
||||||
|
lda KfestLogoWidth*5+KfestLogo,x
|
||||||
|
sta Lo06,x
|
||||||
|
lda KfestLogoWidth*6+KfestLogo,x
|
||||||
|
sta Lo07,x
|
||||||
|
lda KfestLogoWidth*7+KfestLogo,x
|
||||||
|
sta Lo08,x
|
||||||
|
lda KfestLogoWidth*8+KfestLogo,x
|
||||||
|
sta Lo09,x
|
||||||
|
lda KfestLogoWidth*9+KfestLogo,x
|
||||||
|
sta Lo10,x
|
||||||
|
lda KfestLogoWidth*10+KfestLogo,x
|
||||||
|
sta Lo11,x
|
||||||
|
lda KfestLogoWidth*11+KfestLogo,x
|
||||||
|
sta Lo12,x
|
||||||
|
lda KfestLogoWidth*12+KfestLogo,x
|
||||||
|
bra :skip
|
||||||
|
:loop bra :logoLoop ; i hate hate hate this
|
||||||
|
:skip sta Lo13,x
|
||||||
|
lda KfestLogoWidth*13+KfestLogo,x
|
||||||
|
sta Lo14,x
|
||||||
|
lda KfestLogoWidth*14+KfestLogo,x
|
||||||
|
sta Lo15,x
|
||||||
|
lda KfestLogoWidth*15+KfestLogo,x
|
||||||
|
sta Lo16,x
|
||||||
|
lda KfestLogoWidth*16+KfestLogo,x
|
||||||
|
sta Lo17,x
|
||||||
|
lda KfestLogoWidth*17+KfestLogo,x
|
||||||
|
sta Lo18,x
|
||||||
|
lda KfestLogoWidth*18+KfestLogo,x
|
||||||
|
sta Lo19,x
|
||||||
|
lda KfestLogoWidth*19+KfestLogo,x
|
||||||
|
sta Lo20,x
|
||||||
|
lda KfestLogoWidth*20+KfestLogo,x
|
||||||
|
sta Lo21,x
|
||||||
|
lda KfestLogoWidth*21+KfestLogo,x
|
||||||
|
sta Lo22,x
|
||||||
|
lda KfestLogoWidth*22+KfestLogo,x
|
||||||
|
sta Lo23,x
|
||||||
|
lda KfestLogoWidth*23+KfestLogo,x
|
||||||
|
sta Lo24,x
|
||||||
|
inx
|
||||||
|
cpx #KfestLogoWidth
|
||||||
|
bne :loop
|
||||||
|
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
KfestLogoWidth equ #40
|
||||||
|
KfestLogoHeight equ #24
|
||||||
|
KfestLogo
|
||||||
|
db $5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa
|
||||||
|
db $5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa
|
||||||
|
db $5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55
|
||||||
|
db $5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55
|
||||||
|
db $55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a
|
||||||
|
db $55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a
|
||||||
|
db $50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55
|
||||||
|
db $50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55,$50,$55
|
||||||
|
db $05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50
|
||||||
|
db $05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$70,$70,$00,$00,$00,$70,$70,$60,$70,$70,$70,$70,$70,$60,$70
|
||||||
|
db $70,$70,$70,$70,$60,$60,$70,$70,$70,$70,$60,$70,$70,$70,$70,$70,$70,$60,$e0,$e0
|
||||||
|
db $00,$00,$00,$00,$00,$77,$77,$00,$70,$77,$07,$00,$00,$77,$77,$00,$00,$00,$00,$77
|
||||||
|
db $77,$00,$00,$00,$00,$77,$77,$00,$00,$07,$00,$00,$00,$77,$77,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$77,$77,$77,$07,$00,$00,$00,$00,$77,$77,$70,$70,$00,$00,$77
|
||||||
|
db $77,$70,$70,$00,$00,$07,$77,$77,$70,$00,$00,$00,$00,$77,$77,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$77,$77,$77,$70,$00,$00,$00,$00,$77,$77,$07,$07,$00,$00,$77
|
||||||
|
db $77,$07,$07,$00,$00,$00,$07,$77,$77,$70,$00,$00,$00,$77,$77,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$77,$77,$00,$07,$77,$70,$00,$00,$77,$77,$00,$00,$00,$00,$77
|
||||||
|
db $77,$00,$00,$00,$00,$70,$00,$00,$77,$77,$00,$00,$00,$77,$77,$00,$00,$00,$00,$00
|
||||||
|
db $0e,$0e,$0e,$0e,$06,$07,$07,$00,$00,$00,$07,$07,$02,$07,$07,$00,$00,$00,$00,$07
|
||||||
|
db $07,$07,$07,$07,$02,$07,$07,$07,$07,$00,$00,$00,$00,$07,$07,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$01,$01,$01,$01,$01,$90,$99,$09,$09,$99,$90,$01,$01,$90,$99,$09,$99,$90,$01
|
||||||
|
db $01,$01,$90,$99,$99,$00,$01,$00,$09,$09,$09,$99,$99,$09,$00,$01,$01,$01,$01,$01
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$99,$99,$00,$00,$99,$99,$00,$99,$99,$00
|
||||||
|
db $00,$00,$00,$99,$99,$00,$00,$00,$00,$90,$99,$99,$90,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$90,$99,$09,$00,$00,$00,$99,$99,$00,$99,$99,$00
|
||||||
|
db $00,$00,$00,$99,$99,$00,$00,$00,$00,$00,$00,$00,$99,$99,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$90,$99,$09,$00,$00,$00,$00,$99,$99,$00,$99,$99,$00
|
||||||
|
db $00,$00,$00,$99,$99,$00,$00,$00,$00,$00,$00,$00,$99,$99,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$99,$99,$99,$90,$90,$90,$00,$00,$09,$99,$90,$99,$09,$00
|
||||||
|
db $00,$00,$00,$99,$99,$00,$00,$00,$09,$90,$90,$90,$99,$09,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50
|
||||||
|
db $05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50,$05,$50
|
||||||
|
db $55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05
|
||||||
|
db $55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05,$55,$05
|
||||||
|
db $a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55
|
||||||
|
db $a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55
|
||||||
|
db $55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5
|
||||||
|
db $55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$a5,$55,$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
|
||||||
HandleDigawrite
|
HandleDigawrite
|
||||||
lda #40
|
lda #40
|
||||||
tax
|
tax
|
||||||
|
@ -177,7 +387,24 @@ HandleDigawrite
|
||||||
|
|
||||||
inc GDemoState
|
inc GDemoState
|
||||||
jmp DemoMain
|
jmp DemoMain
|
||||||
_digawriteString asc "--==>> DiGAROK <<==--",00
|
_digawriteString asc "a DiGAROK presentation ...",00
|
||||||
|
|
||||||
|
HandleShortWait
|
||||||
|
lda #30
|
||||||
|
tax
|
||||||
|
tay
|
||||||
|
jsr SimpleWait
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
SetProdropGr
|
||||||
|
lda #$00
|
||||||
|
sta ]dropCharCompare
|
||||||
|
sta ]dropCharWrite
|
||||||
|
inc GDemoState
|
||||||
|
jmp DemoMain
|
||||||
|
|
||||||
|
|
||||||
** Dropper routine - not specific to ProDrop per se
|
** Dropper routine - not specific to ProDrop per se
|
||||||
** - uses DSEG0
|
** - uses DSEG0
|
||||||
HandleProdrop
|
HandleProdrop
|
||||||
|
@ -186,10 +413,6 @@ HandleProdrop
|
||||||
jmp :prodropUpdate
|
jmp :prodropUpdate
|
||||||
|
|
||||||
:prodropScan
|
:prodropScan
|
||||||
lda #$10
|
|
||||||
tax
|
|
||||||
tay
|
|
||||||
jsr SimpleWait ; we actually pause a bit just for dramatic effect
|
|
||||||
lda #0 ; start scan at line 0 every time
|
lda #0 ; start scan at line 0 every time
|
||||||
sta _prodropScanLine
|
sta _prodropScanLine
|
||||||
|
|
||||||
|
@ -198,7 +421,7 @@ HandleProdrop
|
||||||
lda #>DSEG0
|
lda #>DSEG0
|
||||||
sta dstPtr+1
|
sta dstPtr+1
|
||||||
|
|
||||||
]scanLineLoop
|
:scanLineLoop
|
||||||
lda _prodropScanLine
|
lda _prodropScanLine
|
||||||
rol ; (line * 2) for table index
|
rol ; (line * 2) for table index
|
||||||
tax
|
tax
|
||||||
|
@ -208,10 +431,11 @@ HandleProdrop
|
||||||
sta srcPtr+1
|
sta srcPtr+1
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
]scanCharLoop
|
:scanCharLoop
|
||||||
lda (srcPtr),y
|
lda (srcPtr),y
|
||||||
cmp #" "
|
cmp #" " ; SPACE
|
||||||
beq ]nextChar
|
]dropCharCompare equ *-1
|
||||||
|
beq :nextChar
|
||||||
and #%01111111 ; clear high bit to indicate non-animated state
|
and #%01111111 ; clear high bit to indicate non-animated state
|
||||||
|
|
||||||
phy ; +1
|
phy ; +1
|
||||||
|
@ -238,17 +462,17 @@ HandleProdrop
|
||||||
clc
|
clc
|
||||||
adc #$04
|
adc #$04
|
||||||
sta dstPtr
|
sta dstPtr
|
||||||
bcc ]nextChar
|
bcc :nextChar
|
||||||
inc dstPtr+1 ; increment page (high byte)
|
inc dstPtr+1 ; increment page (high byte)
|
||||||
]nextChar
|
:nextChar
|
||||||
iny
|
iny
|
||||||
cpy #40
|
cpy #40
|
||||||
bne ]scanCharLoop
|
bne :scanCharLoop
|
||||||
|
|
||||||
inc _prodropScanLine
|
inc _prodropScanLine
|
||||||
lda _prodropScanLine
|
lda _prodropScanLine
|
||||||
cmp #24
|
cmp #24
|
||||||
bne ]scanLineLoop
|
bne :scanLineLoop
|
||||||
|
|
||||||
; we're done scanning
|
; we're done scanning
|
||||||
lda #$FF
|
lda #$FF
|
||||||
|
@ -317,6 +541,7 @@ HandleProdrop
|
||||||
lda (srcPtr),y ; get our X value
|
lda (srcPtr),y ; get our X value
|
||||||
tay
|
tay
|
||||||
lda #" "
|
lda #" "
|
||||||
|
]dropCharWrite equ *-1
|
||||||
sta (dstPtr),y
|
sta (dstPtr),y
|
||||||
* breath... holy crap all that just to draw a space at X,Y
|
* breath... holy crap all that just to draw a space at X,Y
|
||||||
ldy #2
|
ldy #2
|
||||||
|
@ -386,7 +611,7 @@ _prodropState db 0 ; starts with 0, which is scan mode
|
||||||
|
|
||||||
HandleSwipeWrite
|
HandleSwipeWrite
|
||||||
]initSwipe
|
]initSwipe
|
||||||
ldx #$23 ; reset line indexes
|
ldx #23 ; reset line indexes
|
||||||
:clearLoop stz _swipeLinesX,x ;
|
:clearLoop stz _swipeLinesX,x ;
|
||||||
dex
|
dex
|
||||||
bne :clearLoop
|
bne :clearLoop
|
||||||
|
@ -397,7 +622,7 @@ HandleSwipeWrite
|
||||||
sta _swipeMaxHeight ; set max height
|
sta _swipeMaxHeight ; set max height
|
||||||
lda #FireTextWidth
|
lda #FireTextWidth
|
||||||
sta _swipeMaxWidth ; set max width
|
sta _swipeMaxWidth ; set max width
|
||||||
lda #5
|
lda #9
|
||||||
sta _swipeXOffset ; set x position
|
sta _swipeXOffset ; set x position
|
||||||
lda #3
|
lda #3
|
||||||
sta _swipeYOffset ; set y position
|
sta _swipeYOffset ; set y position
|
||||||
|
@ -463,7 +688,6 @@ HandleSwipeWrite
|
||||||
tax
|
tax
|
||||||
tay
|
tay
|
||||||
jsr SimpleWait
|
jsr SimpleWait
|
||||||
|
|
||||||
lda _swipeLinesDone
|
lda _swipeLinesDone
|
||||||
beq :swipeLoop
|
beq :swipeLoop
|
||||||
inc GDemoState
|
inc GDemoState
|
||||||
|
@ -490,121 +714,175 @@ _swipeMaxWidth db #0 ; set # characters per line in the source buffer
|
||||||
_swipeXOffset db #$0 ; screen offset for placement
|
_swipeXOffset db #$0 ; screen offset for placement
|
||||||
_swipeYOffset db #$0 ; screen offset for placement
|
_swipeYOffset db #$0 ; screen offset for placement
|
||||||
|
|
||||||
|
FireTextHeight equ #20 ; buffer height
|
||||||
FireTextHeight equ #18 ; buffer height
|
FireTextWidth equ #23 ; buffer width (INCLUDE 00 BYTE!!)
|
||||||
FireTextWidth equ #34 ; buffer width
|
|
||||||
|
|
||||||
ds \
|
ds \
|
||||||
FireText asc " __ __ ",00
|
FireText
|
||||||
asc " / / ___ / /______ ",00
|
asc " -/+. ",00
|
||||||
asc " / / / _ \/ __/ ___/ ",00
|
asc " /+++ ",00
|
||||||
asc " / /___/ __/ /_(__ ) ",00
|
asc " :+++. ",00
|
||||||
asc "/_____/\___/\__/____/ ",00
|
asc " ++:` ",00
|
||||||
asc " ",00
|
asc " .=++++/--.:/+++=- ",00
|
||||||
asc " _______ ______ ",00
|
asc " -++++++++++++++++++`",00
|
||||||
asc " / ____(_)_______ / _/ /_",00
|
asc " .::::::::::::::::::` ",00
|
||||||
asc " / /_ / / ___/ _ \ / // __/",00
|
asc " ::::::::::::::::::` ",00
|
||||||
asc " / __/ / / / / __/ _/ // /_ ",00
|
asc "`/////////////////: ",00
|
||||||
asc " /_/ /_/_/ \___/ /___/\__/ ",00
|
asc "`+++++++++++++++++: ",00
|
||||||
asc " ",00
|
asc "`++++++++++++++++++` ",00
|
||||||
asc " __ __ __ ",00
|
asc " osssssssssssssssss+` ",00
|
||||||
asc " / / / /___ / / ",00
|
asc " -sssssssssssssssssso/",00
|
||||||
asc " / / / / __ \/ / ",00
|
asc " ossssssssssssssssss/",00
|
||||||
asc " / /_/ / /_/ /_/ ",00
|
asc " `ssssssssssssssssso ",00
|
||||||
asc " \____/ .___(_) ",00
|
asc " .ossssssssssssss+` ",00
|
||||||
asc " /_/ ",00
|
asc " `+ssss+//+ssss/ ",00
|
||||||
|
asc " `-.` `.-` ",00
|
||||||
|
asc " ",00
|
||||||
|
asc " LET'S GO!",00
|
||||||
*********************
|
*********************
|
||||||
* DEMO ONLY!
|
* DEMO ONLY!
|
||||||
* x=10,y=10
|
* x=10,y=10
|
||||||
*********************
|
*********************
|
||||||
_kOffset equ #11
|
_fbufOffsetX equ #11
|
||||||
|
_fbufOffsetY equ #6
|
||||||
|
|
||||||
DrawKMask ldx #0
|
**************
|
||||||
:loop lda _kWidth*0+_spriteK,x
|
* pass sprite ptr - fixed width,height,x,y
|
||||||
|
* 18x16
|
||||||
|
**************
|
||||||
|
|
||||||
|
_spriteWidth equ #18
|
||||||
|
_spriteHeight equ #16
|
||||||
|
_spriteDrawRow db 0
|
||||||
|
DrawSpriteMask
|
||||||
|
stx srcPtr
|
||||||
|
sty srcPtr+1 ; points to first char of sprite
|
||||||
|
lda #_spriteHeight
|
||||||
|
sta _spriteDrawRow
|
||||||
|
lda #FBufWidth*_fbufOffsetY+FBUF+_fbufOffsetX
|
||||||
|
sta dstPtr
|
||||||
|
lda #>FBufWidth*_fbufOffsetY+FBUF+_fbufOffsetX
|
||||||
|
sta dstPtr+1 ; points to first char of buffer with offsets
|
||||||
|
|
||||||
|
:lineLoop ldy #0
|
||||||
|
:loop1 lda (srcPtr),y
|
||||||
beq :skip1
|
beq :skip1
|
||||||
cmp #1
|
cmp #1
|
||||||
bne :notRand1
|
bne :notRand1
|
||||||
jsr GetRandLow
|
jsr GetRandLow
|
||||||
:notRand1 sta FBufWidth*6+FBUF+_kOffset,x
|
:notRand1 sta (dstPtr),y
|
||||||
:skip1 lda _kWidth*1+_spriteK,x
|
:skip1 iny
|
||||||
beq :skip2
|
cpy #_spriteWidth
|
||||||
cmp #1
|
bne :loop1
|
||||||
bne :notRand2
|
lda srcPtr
|
||||||
jsr GetRandLow
|
clc
|
||||||
:notRand2 sta FBufWidth*7+FBUF+_kOffset,x
|
adc #_spriteWidth
|
||||||
:skip2 lda _kWidth*2+_spriteK,x
|
sta srcPtr
|
||||||
beq :skip3
|
bcc :noFlip1
|
||||||
sta FBufWidth*8+FBUF+_kOffset,x
|
inc srcPtr+1
|
||||||
:skip3 lda _kWidth*3+_spriteK,x
|
:noFlip1 lda dstPtr
|
||||||
beq :skip4
|
clc
|
||||||
cmp #1
|
adc #FBufWidth
|
||||||
bne :notRand4
|
sta dstPtr
|
||||||
jsr GetRandLow
|
bcc :noFlip2
|
||||||
:notRand4 sta FBufWidth*9+FBUF+_kOffset,x
|
inc dstPtr+1
|
||||||
:skip4 lda _kWidth*4+_spriteK,x
|
:noFlip2
|
||||||
beq :skip5
|
dec _spriteDrawRow
|
||||||
sta FBufWidth*10+FBUF+_kOffset,x
|
lda _spriteDrawRow
|
||||||
:skip5 lda _kWidth*5+_spriteK,x
|
bne :lineLoop
|
||||||
beq :skip6
|
rts
|
||||||
sta FBufWidth*11+FBUF+_kOffset,x
|
|
||||||
:skip6 lda _kWidth*6+_spriteK,x
|
|
||||||
beq :skip7
|
|
||||||
sta FBufWidth*12+FBUF+_kOffset,x
|
|
||||||
:skip7 lda _kWidth*7+_spriteK,x
|
|
||||||
beq :skip8
|
|
||||||
sta FBufWidth*13+FBUF+_kOffset,x
|
|
||||||
:skip8 lda _kWidth*8+_spriteK,x
|
|
||||||
beq :skip9
|
|
||||||
sta FBufWidth*14+FBUF+_kOffset,x
|
|
||||||
:skip9 lda _kWidth*9+_spriteK,x
|
|
||||||
beq :skip10
|
|
||||||
sta FBufWidth*15+FBUF+_kOffset,x
|
|
||||||
:skip10 lda _kWidth*10+_spriteK,x
|
|
||||||
beq :skip11
|
|
||||||
sta FBufWidth*16+FBUF+_kOffset,x
|
|
||||||
:skip11 lda _kWidth*11+_spriteK,x
|
|
||||||
beq :skip12
|
|
||||||
sta FBufWidth*17+FBUF+_kOffset,x
|
|
||||||
:skip12 lda _kWidth*12+_spriteK,x
|
|
||||||
beq :skip13
|
|
||||||
sta FBufWidth*18+FBUF+_kOffset,x
|
|
||||||
:skip13 lda _kWidth*13+_spriteK,x
|
|
||||||
beq :skip14
|
|
||||||
sta FBufWidth*19+FBUF+_kOffset,x
|
|
||||||
:skip14 lda _kWidth*14+_spriteK,x
|
|
||||||
beq :skip15
|
|
||||||
sta FBufWidth*20+FBUF+_kOffset,x
|
|
||||||
:skip15 lda _kWidth*15+_spriteK,x
|
|
||||||
beq :skip16
|
|
||||||
sta FBufWidth*21+FBUF+_kOffset,x
|
|
||||||
:skip16
|
|
||||||
|
|
||||||
inx
|
|
||||||
cpx #_kWidth
|
|
||||||
beq :done
|
|
||||||
jmp :loop
|
|
||||||
:done
|
|
||||||
rts
|
|
||||||
_kWidth equ #18
|
|
||||||
_kHeight equ #16
|
|
||||||
_spriteK db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
|
|
||||||
db $01,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
|
||||||
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
|
||||||
db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
|
|
||||||
|
|
||||||
|
|
||||||
|
_sprWidth_K equ #18
|
||||||
|
_sprHeight_K equ #16
|
||||||
|
_sprData_K db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
|
||||||
|
db $01,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
_sprWidth_F equ #18
|
||||||
|
_sprHeight_F equ #16
|
||||||
|
_sprData_F db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
_sprWidth_E equ #18
|
||||||
|
_sprHeight_E equ #16
|
||||||
|
_sprData_E db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
_sprWidth_S equ #18
|
||||||
|
_sprHeight_S equ #16
|
||||||
|
_sprData_S db $00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00
|
||||||
|
db $00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$0F,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
|
||||||
|
db $00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
|
||||||
|
_sprWidth_T equ #18
|
||||||
|
_sprHeight_T equ #16
|
||||||
|
_sprData_T db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
|
||||||
|
db $01,$0F,$0F,$0F,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$0F,$0F,$0F,$01
|
||||||
|
db $01,$01,$01,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$01,$01,$01
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
|
||||||
|
db $00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00
|
||||||
**************************************************
|
**************************************************
|
||||||
* Called by DemoMain
|
* Called by DemoMain
|
||||||
**************************************************
|
**************************************************
|
||||||
|
@ -672,13 +950,14 @@ GetRandHot
|
||||||
bcc :noEor
|
bcc :noEor
|
||||||
:doEor eor #$1d
|
:doEor eor #$1d
|
||||||
:noEor sta _rndHot
|
:noEor sta _rndHot
|
||||||
cmp #$90 ; FIRE RATIO
|
cmp GFireRatio ; FIRE RATIO
|
||||||
bcs :hot
|
bcs :hot
|
||||||
:not lda #$0f
|
:not lda #$0f
|
||||||
rts
|
rts
|
||||||
:hot lda #$00
|
:hot lda #$00
|
||||||
rts
|
rts
|
||||||
_rndHot db 0
|
_rndHot db 0
|
||||||
|
GFireRatio db #$90
|
||||||
|
|
||||||
**************************************************
|
**************************************************
|
||||||
* Very simple routine to lay down a line where
|
* Very simple routine to lay down a line where
|
||||||
|
@ -1162,13 +1441,13 @@ LoLineTable da Lo01,Lo02,Lo03,Lo04,Lo05,Lo06
|
||||||
da Lo19,Lo20,Lo21,Lo22,Lo23,Lo24
|
da Lo19,Lo20,Lo21,Lo22,Lo23,Lo24
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**************************************************
|
**************************************************
|
||||||
* Data Segments
|
* Data Segments
|
||||||
**************************************************
|
**************************************************
|
||||||
ds \
|
ds \
|
||||||
DSEG0 ds 1024 ; General 1K Data Store
|
DSEG0 ds 1024 ; General 1K Data Store
|
||||||
|
DSEG1 ds 1024 ; Secondary (overflow region?)
|
||||||
|
DSEG2 ds 4096 ; Secondary (overflow region?)
|
||||||
|
|
||||||
**************************************************
|
**************************************************
|
||||||
* Global Variables
|
* Global Variables
|
||||||
|
@ -1181,32 +1460,9 @@ GDemoState db 0 ; current demo state
|
||||||
**************************************************
|
**************************************************
|
||||||
* State 'Enumerators'
|
* State 'Enumerators'
|
||||||
**************************************************
|
**************************************************
|
||||||
|
|
||||||
DemoStateProdrop equ #0 ; P8 screen shows and letters drop off
|
|
||||||
DemoStateDigawrite equ #1 ; writes 'DiGAROK' and pauses
|
|
||||||
DemoStateDigadrop equ #2 ; Really same as DemoStateProdrop
|
|
||||||
DemoStateFire equ #3 ; Fire has a lot going on so has own substates
|
|
||||||
DemoStateAppleText equ #4 ; Draws ascii apple + greets/shouts
|
|
||||||
DemoStateGRSprite equ #5 ; GR mode sprite anim plus bottom text writer
|
|
||||||
DemoStateExit equ #6 ; Not sure... draw info text? just quit?
|
|
||||||
|
|
||||||
ProdropStateScan equ #0 ; Scans all characters into our data structure
|
ProdropStateScan equ #0 ; Scans all characters into our data structure
|
||||||
ProdropStateUpdate equ #1 ; Does one round of character updates, buffer&screen
|
ProdropStateUpdate equ #1 ; Does one round of character updates, buffer&screen
|
||||||
ProdropStateDone equ #2 ; Really just to let the callee(s) know it's all done
|
ProdropStateDone equ #2 ; Really just to let the callee(s) know it's all done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FireStatePuff equ #0 ; flame code with custom heat (puff) generator
|
|
||||||
FireStateFire1 equ #1 ; lower rndhot? or not...
|
|
||||||
FireStateLetterK equ #2 ; draws K, waits, poof
|
|
||||||
FireStateLetterF equ #3 ; draws F, waits, poof
|
|
||||||
FireStateLetterE equ #4 ; draws E, waits, poof
|
|
||||||
FireStateLetterS equ #5 ; draws S, waits, poof
|
|
||||||
FireStateLetterT equ #6 ; draws T, waits, poof
|
|
||||||
FireStateKFEST equ #7 ; draws logo, waits, poof
|
|
||||||
FireStateFlareOut equ #8 ; maybe do a flame up or fizzle out
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
lst on
|
lst on
|
||||||
sav /code/festro.sys
|
sav /code/festro.sys
|
||||||
|
|
Loading…
Reference in New Issue
Block a user