mirror of
https://github.com/digarok/flapple.git
synced 2024-05-28 10:41:27 +00:00
955 lines
35 KiB
ArmAsm
955 lines
35 KiB
ArmAsm
|
|
LOGO_Y db 1
|
|
LOGO_X db 3
|
|
LOGO_CURLINE db 0
|
|
|
|
SPR_SP equ $00
|
|
SPR_DP equ $02
|
|
SPR_PIXEL db 00
|
|
SPR_MASKCOLOR db 0
|
|
SPR_MASKCOLORH db 0
|
|
SPR_MASKCOLORL db 0
|
|
SPR_X db 0
|
|
SPR_Y db 0
|
|
|
|
SPR_CURLINE db 0
|
|
SPR_WIDTH db 0
|
|
SPR_HEIGHT db 0
|
|
|
|
SPR_Y_STASH db 0 ;used by big number routines
|
|
|
|
|
|
|
|
DL_SetDLRMode lda LORES ;set lores
|
|
lda SETAN3 ;enables DLR
|
|
sta SET80VID
|
|
|
|
sta C80STOREON ; enable aux/page1,2 mapping
|
|
sta MIXCLR ;make sure graphics-only mode
|
|
rts
|
|
DL_SetDLRMixMode lda LORES ;set lores
|
|
lda SETAN3 ;enables DLR
|
|
sta SET80VID
|
|
|
|
sta C80STOREON ; enable aux/page1,2 mapping
|
|
sta MIXSET ;turn on mixed text/graphics mode
|
|
rts
|
|
|
|
DL_MixClearText sta TXTPAGE1
|
|
ldx #40
|
|
:loop dex
|
|
sta Lo24,x
|
|
sta Lo23,x
|
|
sta Lo22,x
|
|
sta Lo21,x
|
|
bne :loop
|
|
sta TXTPAGE2
|
|
ldx #40
|
|
:loop2 dex
|
|
sta Lo24,x
|
|
sta Lo23,x
|
|
sta Lo22,x
|
|
sta Lo21,x
|
|
bne :loop2
|
|
rts
|
|
|
|
|
|
** A = lo-res color byte
|
|
DL_Clear sta TXTPAGE1
|
|
ldx #40
|
|
:loop dex
|
|
sta Lo01,x
|
|
sta Lo02,x
|
|
sta Lo03,x
|
|
sta Lo04,x
|
|
sta Lo05,x
|
|
sta Lo06,x
|
|
sta Lo07,x
|
|
sta Lo08,x
|
|
sta Lo09,x
|
|
sta Lo10,x
|
|
sta Lo11,x
|
|
sta Lo12,x
|
|
sta Lo13,x
|
|
sta Lo14,x
|
|
sta Lo15,x
|
|
sta Lo16,x
|
|
sta Lo17,x
|
|
sta Lo18,x
|
|
sta Lo19,x
|
|
sta Lo20,x
|
|
sta Lo21,x
|
|
sta Lo22,x
|
|
sta Lo23,x
|
|
sta Lo24,x
|
|
bne :loop
|
|
tax ; get aux color value
|
|
lda MainAuxMap,x
|
|
sta TXTPAGE2 ; turn on p2
|
|
ldx #40
|
|
:loop2 dex
|
|
sta Lo01,x
|
|
sta Lo02,x
|
|
sta Lo03,x
|
|
sta Lo04,x
|
|
sta Lo05,x
|
|
sta Lo06,x
|
|
sta Lo07,x
|
|
sta Lo08,x
|
|
sta Lo09,x
|
|
sta Lo10,x
|
|
sta Lo11,x
|
|
sta Lo12,x
|
|
sta Lo13,x
|
|
sta Lo14,x
|
|
sta Lo15,x
|
|
sta Lo16,x
|
|
sta Lo17,x
|
|
sta Lo18,x
|
|
sta Lo19,x
|
|
sta Lo20,x
|
|
sta Lo21,x
|
|
sta Lo22,x
|
|
sta Lo23,x
|
|
sta Lo24,x
|
|
bne :loop2
|
|
rts
|
|
|
|
** A = lo-res color byte Y = line byte (0-23)
|
|
DL_HLine tax
|
|
lda LoLineTableL,y
|
|
sta SPR_DP
|
|
lda LoLineTableH,y
|
|
sta SPR_DP+1
|
|
txa
|
|
|
|
sta TXTPAGE1
|
|
ldy #39
|
|
:loopMain sta (SPR_DP),y
|
|
dey
|
|
bpl :loopMain
|
|
|
|
sta TXTPAGE2
|
|
tax
|
|
lda MainAuxMap,x
|
|
ldy #39
|
|
:loopAux sta (SPR_DP),y
|
|
dey
|
|
bpl :loopAux
|
|
rts
|
|
|
|
* A X Y = 0 1 2 ??
|
|
DL_WipeLn0 db 0
|
|
DL_WipeLn1 db 0
|
|
DL_WipeLn2 db 0
|
|
DL_WipeLn0_I db 0 ; inverted patterns for bottom up
|
|
DL_WipeLn1_I db 0
|
|
DL_WipeLn2_I db 0
|
|
DL_WipeCnt db 0
|
|
DL_WipeDelay db #4
|
|
DL_NibSwap
|
|
asl ; nibble swap
|
|
rol
|
|
rol
|
|
rol
|
|
sta $00
|
|
and #07
|
|
adc $00
|
|
rts
|
|
DL_WipeInNoNib
|
|
sty DL_WipeLn2 ; set up color bytes to write
|
|
sty DL_WipeLn2_I
|
|
stx DL_WipeLn1
|
|
stx DL_WipeLn1_I
|
|
sta DL_WipeLn0
|
|
sta DL_WipeLn0_I
|
|
jmp DL_WipeIt
|
|
|
|
DL_WipeIn
|
|
sty DL_WipeLn2 ; set up color bytes to write
|
|
stx DL_WipeLn1
|
|
sta DL_WipeLn0
|
|
jsr DL_NibSwap ; and their A/B swapped equivalents
|
|
sta DL_WipeLn0_I ; for mirroring the lines below
|
|
|
|
lda DL_WipeLn1
|
|
jsr DL_NibSwap
|
|
sta DL_WipeLn1_I
|
|
|
|
lda DL_WipeLn2
|
|
jsr DL_NibSwap
|
|
sta DL_WipeLn2_I
|
|
|
|
DL_WipeIt
|
|
ldx DL_WipeDelay
|
|
jsr VBlankX ; Frame 1 - special case (clipped)
|
|
lda DL_WipeLn0
|
|
ldy #0
|
|
jsr DL_HLine
|
|
lda DL_WipeLn0_I
|
|
ldy #23
|
|
jsr DL_HLine
|
|
|
|
ldx DL_WipeDelay
|
|
jsr VBlankX ; Frame 2 - special case (clipped)
|
|
lda DL_WipeLn0
|
|
ldy #1
|
|
jsr DL_HLine
|
|
lda DL_WipeLn1
|
|
ldy #0
|
|
jsr DL_HLine
|
|
|
|
lda DL_WipeLn0_I
|
|
ldy #22
|
|
jsr DL_HLine
|
|
lda DL_WipeLn1_I
|
|
ldy #23
|
|
jsr DL_HLine
|
|
|
|
lda #0
|
|
sta DL_WipeCnt
|
|
|
|
:wiper ldx DL_WipeDelay
|
|
jsr VBlankX
|
|
lda DL_WipeLn2
|
|
ldy DL_WipeCnt
|
|
jsr DL_HLine
|
|
lda DL_WipeLn1
|
|
ldy DL_WipeCnt
|
|
iny
|
|
jsr DL_HLine
|
|
lda DL_WipeLn0
|
|
ldy DL_WipeCnt
|
|
iny
|
|
iny
|
|
jsr DL_HLine
|
|
lda #23
|
|
sec
|
|
sbc DL_WipeCnt
|
|
pha
|
|
pha
|
|
tay
|
|
lda DL_WipeLn2_I
|
|
jsr DL_HLine
|
|
pla
|
|
tay
|
|
dey
|
|
lda DL_WipeLn1_I
|
|
jsr DL_HLine
|
|
pla
|
|
tay
|
|
dey
|
|
dey
|
|
lda DL_WipeLn0_I
|
|
jsr DL_HLine
|
|
inc DL_WipeCnt
|
|
lda DL_WipeCnt
|
|
cmp #10
|
|
bne :wiper
|
|
|
|
|
|
ldx DL_WipeDelay
|
|
jsr VBlankX ; Frame end-1 - special case (smashed)
|
|
lda DL_WipeLn2
|
|
ldy #10
|
|
jsr DL_HLine
|
|
lda DL_WipeLn1
|
|
ldy #11
|
|
jsr DL_HLine
|
|
|
|
lda DL_WipeLn1_I
|
|
ldy #12
|
|
jsr DL_HLine
|
|
lda DL_WipeLn2_I
|
|
ldy #13
|
|
jsr DL_HLine
|
|
|
|
|
|
ldx DL_WipeDelay
|
|
jsr VBlankX ; Frame end - special case (last fill line)
|
|
lda DL_WipeLn2
|
|
ldy #11
|
|
jsr DL_HLine
|
|
|
|
lda DL_WipeLn2_I
|
|
ldy #12
|
|
jsr DL_HLine
|
|
rts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**************************************************
|
|
* Lores/Text lines
|
|
**************************************************
|
|
Lo01 equ $400
|
|
Lo02 equ $480
|
|
Lo03 equ $500
|
|
Lo04 equ $580
|
|
Lo05 equ $600
|
|
Lo06 equ $680
|
|
Lo07 equ $700
|
|
Lo08 equ $780
|
|
Lo09 equ $428
|
|
Lo10 equ $4a8
|
|
Lo11 equ $528
|
|
Lo12 equ $5a8
|
|
Lo13 equ $628
|
|
Lo14 equ $6a8
|
|
Lo15 equ $728
|
|
Lo16 equ $7a8
|
|
Lo17 equ $450
|
|
Lo18 equ $4d0
|
|
Lo19 equ $550
|
|
Lo20 equ $5d0
|
|
* the "plus four" lines
|
|
Lo21 equ $650
|
|
Lo22 equ $6d0
|
|
Lo23 equ $750
|
|
Lo24 equ $7d0
|
|
|
|
LoLineTable da Lo01,Lo02,Lo03,Lo04,Lo05,Lo06
|
|
da Lo07,Lo08,Lo09,Lo10,Lo11,Lo12
|
|
da Lo13,Lo14,Lo15,Lo16,Lo17,Lo18
|
|
da Lo19,Lo20,Lo21,Lo22,Lo23,Lo24
|
|
** Here we split the table for an optimization
|
|
** We can directly get our line numbers now
|
|
** Without using ASL
|
|
LoLineTableH db >Lo01,>Lo02,>Lo03,>Lo04,>Lo05,>Lo06
|
|
db >Lo07,>Lo08,>Lo09,>Lo10,>Lo11,>Lo12
|
|
db >Lo13,>Lo14,>Lo15,>Lo16,>Lo17,>Lo18
|
|
db >Lo19,>Lo20,>Lo21,>Lo22,>Lo23,>Lo24
|
|
LoLineTableL db <Lo01,<Lo02,<Lo03,<Lo04,<Lo05,<Lo06
|
|
db <Lo07,<Lo08,<Lo09,<Lo10,<Lo11,<Lo12
|
|
db <Lo13,<Lo14,<Lo15,<Lo16,<Lo17,<Lo18
|
|
db <Lo19,<Lo20,<Lo21,<Lo22,<Lo23,<Lo24
|
|
|
|
MainAuxMap
|
|
hex 00,08,01,09,02,0A,03,0B,04,0C,05,0D,06,0E,07,0F
|
|
hex 80,88,81,89,82,8A,83,8B,84,8C,85,8D,86,8E,87,8F
|
|
hex 10,18,11,19,12,1A,13,1B,14,1C,15,1D,16,1E,17,1F
|
|
hex 90,98,91,99,92,9A,93,9B,94,9C,95,9D,96,9E,97,9F
|
|
hex 20,28,21,29,22,2A,23,2B,24,2C,25,2D,26,2E,27,2F
|
|
hex A0,A8,A1,A9,A2,AA,A3,AB,A4,AC,A5,AD,A6,AE,A7,AF
|
|
hex 30,38,31,39,32,3A,33,3B,34,3C,35,3D,36,3E,37,3F
|
|
hex B0,B8,B1,B9,B2,BA,B3,BB,B4,BC,B5,BD,B6,BE,B7,BF
|
|
hex 40,48,41,49,42,4A,43,4B,44,4C,45,4D,46,4E,47,4F
|
|
hex C0,C8,C1,C9,C2,CA,C3,CB,C4,CC,C5,CD,C6,CE,C7,CF
|
|
hex 50,58,51,59,52,5A,53,5B,54,5C,55,5D,56,5E,57,5F
|
|
hex D0,D8,D1,D9,D2,DA,D3,DB,D4,DC,D5,DD,D6,DE,D7,DF
|
|
hex 60,68,61,69,62,6A,63,6B,64,6C,65,6D,66,6E,67,6F
|
|
hex E0,E8,E1,E9,E2,EA,E3,EB,E4,EC,E5,ED,E6,EE,E7,EF
|
|
hex 70,78,71,79,72,7A,73,7B,74,7C,75,7D,76,7E,77,7F
|
|
hex F0,F8,F1,F9,F2,FA,F3,FB,F4,FC,F5,FD,F6,FE,F7,FF
|
|
|
|
|
|
DrawQRCode lda #QRCodeMaskColor
|
|
sta SPR_MASKCOLOR
|
|
|
|
lda #<QRCodeData
|
|
sta SPR_SP
|
|
lda #>QRCodeData
|
|
sta SPR_SP+1
|
|
lda #QRCodeHeight
|
|
sta SPR_HEIGHT
|
|
lda #QRCodeWidth
|
|
sta SPR_WIDTH
|
|
lda #13 ; @todo rename 'flogo'
|
|
sta SPR_X
|
|
lda #3
|
|
sta SPR_Y
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
DrawFlogo lda #flogoMaskColor
|
|
sta SPR_MASKCOLOR
|
|
|
|
lda #<flogoData
|
|
sta SPR_SP
|
|
lda #>flogoData
|
|
sta SPR_SP+1
|
|
lda #flogoHeight
|
|
sta SPR_HEIGHT
|
|
lda #flogoWidth
|
|
sta SPR_WIDTH
|
|
lda LOGO_X ; @todo rename 'flogo'
|
|
sta SPR_X
|
|
lda LOGO_Y
|
|
sta SPR_Y
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
DrawTap lda #tapMaskColor
|
|
sta SPR_MASKCOLOR
|
|
|
|
lda #<tapData
|
|
sta SPR_SP
|
|
lda #>tapData
|
|
sta SPR_SP+1
|
|
lda #tapHeight
|
|
sta SPR_HEIGHT
|
|
lda #tapWidth
|
|
sta SPR_WIDTH
|
|
lda #8
|
|
sta SPR_X
|
|
lda #16
|
|
sta SPR_Y
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
DrawYou
|
|
sty SPR_Y
|
|
lda #youMaskColor
|
|
sta SPR_MASKCOLOR
|
|
|
|
lda #<youData
|
|
sta SPR_SP
|
|
lda #>youData
|
|
sta SPR_SP+1
|
|
lda #youHeight
|
|
sta SPR_HEIGHT
|
|
lda #youWidth
|
|
sta SPR_WIDTH
|
|
lda #13
|
|
sta SPR_X
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
* y = Y
|
|
DrawHi
|
|
sty SPR_Y
|
|
lda #hiMaskColor
|
|
sta SPR_MASKCOLOR
|
|
|
|
lda #<hiData
|
|
sta SPR_SP
|
|
lda #>hiData
|
|
sta SPR_SP+1
|
|
lda #hiHeight
|
|
sta SPR_HEIGHT
|
|
lda #hiWidth
|
|
sta SPR_WIDTH
|
|
lda #13
|
|
sta SPR_X
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
DrawHiScore
|
|
stx SPR_X
|
|
sty SPR_Y
|
|
sty SPR_Y_STASH
|
|
lda HiScoreHi
|
|
sta DrawNumberHi
|
|
lda HiScoreLo
|
|
sta DrawNumberLo
|
|
jsr DrawBigNumbersFancy
|
|
rts
|
|
|
|
DrawYouScore
|
|
stx SPR_X
|
|
sty SPR_Y
|
|
sty SPR_Y_STASH
|
|
lda ScoreHi
|
|
sta DrawNumberHi
|
|
lda ScoreLo
|
|
sta DrawNumberLo
|
|
jsr DrawBigNumbersFancy
|
|
rts
|
|
|
|
* Draws in natural format from 0 to 9999
|
|
DrawBigNumbersFancy
|
|
lda #NumHeight
|
|
sta SPR_HEIGHT
|
|
lda #NumWidth
|
|
sta SPR_WIDTH
|
|
lda #NumMaskColor
|
|
sta SPR_MASKCOLOR
|
|
|
|
lda DrawNumberHi
|
|
bne :hiDigits
|
|
lda SPR_X
|
|
clc
|
|
adc #NumWidth*2 ; skip two spaces
|
|
sta SPR_X
|
|
bcc :loDigits
|
|
:hiDigits
|
|
lsr
|
|
lsr
|
|
lsr
|
|
lsr
|
|
beq :noThousandDigit
|
|
jsr DrawBigNumber ; draw "thousands" digit
|
|
:noThousandDigit lda SPR_X
|
|
clc
|
|
adc #NumWidth ; advance one space
|
|
sta SPR_X
|
|
ldy SPR_Y_STASH
|
|
sty SPR_Y
|
|
lda DrawNumberHi
|
|
and #$0F
|
|
jsr DrawBigNumber ; draw "hundreds" digit
|
|
lda SPR_X
|
|
clc
|
|
adc #NumWidth ; advance one space
|
|
sta SPR_X
|
|
ldy SPR_Y_STASH
|
|
sty SPR_Y
|
|
:loDigits lda DrawNumberLo
|
|
lsr
|
|
lsr
|
|
lsr
|
|
lsr
|
|
beq :tensZero
|
|
ldy SPR_Y_STASH
|
|
sty SPR_Y
|
|
jsr DrawBigNumber ; draw "tens" digit (1-9)
|
|
clc
|
|
bcc :tensDone
|
|
:tensZero ; we need to know if we drew anything above
|
|
lda DrawNumberHi
|
|
beq :noTensDigit
|
|
ldy SPR_Y_STASH
|
|
sty SPR_Y
|
|
lda #0
|
|
jsr DrawBigNumber ; draw "tens" digit (0)
|
|
:noTensDigit
|
|
:tensDone
|
|
lda SPR_X
|
|
clc
|
|
adc #NumWidth
|
|
sta SPR_X
|
|
|
|
ldy SPR_Y_STASH
|
|
sty SPR_Y
|
|
lda DrawNumberLo
|
|
and #$0F
|
|
jsr DrawBigNumber
|
|
rts
|
|
|
|
|
|
DrawNumberHi db 0
|
|
DrawNumberLo db 0
|
|
|
|
* All params should be set prior to this. Just pass digit (0-9) in A
|
|
DrawBigNumber
|
|
asl
|
|
tay
|
|
lda NumList,y
|
|
sta SPR_SP
|
|
lda NumList+1,y
|
|
sta SPR_SP+1
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
|
|
|
|
DrawPlaqueShared
|
|
lda #11
|
|
sta SPR_X
|
|
lda #plaqueMaskColor
|
|
sta SPR_MASKCOLOR
|
|
lda #<plaqueData
|
|
sta SPR_SP
|
|
lda #>plaqueData
|
|
sta SPR_SP+1
|
|
lda #plaqueHeight
|
|
sta SPR_HEIGHT
|
|
lda #plaqueWidth
|
|
sta SPR_WIDTH
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
|
|
DrawSplosion lda #splosionMaskColor
|
|
sta SPR_MASKCOLOR
|
|
|
|
lda #<splosionData
|
|
sta SPR_SP
|
|
lda #>splosionData
|
|
sta SPR_SP+1
|
|
lda #splosionHeight
|
|
sta SPR_HEIGHT
|
|
lda #splosionWidth
|
|
sta SPR_WIDTH
|
|
lda #BIRD_X
|
|
clc
|
|
adc #2
|
|
sta SPR_X
|
|
lda BIRD_Y
|
|
lsr
|
|
sec
|
|
sbc #1
|
|
sta SPR_Y
|
|
lda #0
|
|
sta SPR_CURLINE
|
|
jsr DrawSprite
|
|
rts
|
|
|
|
DrawSprite lda SPR_MASKCOLOR
|
|
and #$F0
|
|
sta SPR_MASKCOLORH
|
|
lsr
|
|
lsr
|
|
lsr
|
|
lsr
|
|
sta SPR_MASKCOLORL
|
|
:lineLoop
|
|
ldy SPR_CURLINE
|
|
cpy SPR_HEIGHT ;last line?
|
|
bcc :doLine
|
|
rts ; !! ROUTINE ENDS HERE
|
|
:doLine ldy SPR_Y
|
|
lda LoLineTableL,y
|
|
clc
|
|
adc SPR_X ;; X OFFSET
|
|
sta SPR_DP
|
|
lda LoLineTableH,y
|
|
sta SPR_DP+1
|
|
sta TXTPAGE2
|
|
ldy #$0
|
|
:auxLoop
|
|
lda (SPR_SP),y
|
|
cmp SPR_MASKCOLOR
|
|
beq :auxNoData
|
|
and #$F0
|
|
cmp SPR_MASKCOLORH
|
|
bne :auxNoMask1
|
|
lda (SPR_DP),y
|
|
and #$F0
|
|
sta SPR_PIXEL
|
|
lda (SPR_SP),y
|
|
and #$0F
|
|
ora SPR_PIXEL
|
|
bne :auxData
|
|
:auxNoMask1 lda (SPR_SP),y
|
|
and #$0F
|
|
cmp SPR_MASKCOLORL
|
|
bne :auxNoMask2
|
|
lda (SPR_DP),y
|
|
and #$0F
|
|
sta SPR_PIXEL
|
|
lda (SPR_SP),y
|
|
and #$F0
|
|
ora SPR_PIXEL
|
|
bne :auxData
|
|
:auxNoMask2 lda (SPR_SP),y
|
|
:auxData sta (SPR_DP),y
|
|
:auxNoData iny
|
|
cpy SPR_WIDTH
|
|
bcc :auxLoop
|
|
lda SPR_SP
|
|
clc
|
|
adc SPR_WIDTH
|
|
sta SPR_SP
|
|
bcc :noCarry
|
|
inc SPR_SP+1
|
|
:noCarry sta TXTPAGE1
|
|
ldy #0
|
|
:mainLoop
|
|
lda (SPR_SP),y
|
|
cmp SPR_MASKCOLOR
|
|
beq :mainNoData
|
|
and #$F0
|
|
cmp SPR_MASKCOLORH
|
|
bne :mainNoMask1
|
|
lda (SPR_DP),y
|
|
and #$F0
|
|
sta SPR_PIXEL
|
|
lda (SPR_SP),y
|
|
and #$0F
|
|
ora SPR_PIXEL
|
|
bne :mainData
|
|
:mainNoMask1 lda (SPR_SP),y
|
|
and #$0F
|
|
cmp SPR_MASKCOLORL
|
|
bne :mainNoMask2
|
|
lda (SPR_DP),y
|
|
and #$0F
|
|
sta SPR_PIXEL
|
|
lda (SPR_SP),y
|
|
and #$F0
|
|
ora SPR_PIXEL
|
|
bne :mainData
|
|
:mainNoMask2 lda (SPR_SP),y
|
|
:mainData sta (SPR_DP),y
|
|
:mainNoData iny
|
|
cpy SPR_WIDTH
|
|
bcc :mainLoop
|
|
lda SPR_SP
|
|
clc
|
|
adc SPR_WIDTH
|
|
sta SPR_SP
|
|
bcc :noCarry2
|
|
inc SPR_SP+1
|
|
:noCarry2
|
|
inc SPR_CURLINE
|
|
inc SPR_Y
|
|
jmp :lineLoop
|
|
|
|
|
|
flogoMaskColor equ #$11
|
|
flogoHeight equ #$16
|
|
flogoWidth equ #$21
|
|
** Remember: Data is Aux cols, then main cols, next line, repeat
|
|
flogoData
|
|
hex FF,0F,0F,0F,0F,0F,0F,0F,0F,0F,0F,0F,0F,FF,11,11,11,11,11,11,11
|
|
hex 11,FF,0F,0F,0F,0F,0F,0F,0F,0F,0F,FF,0F,0F,0F,0F,0F,0F,0F,0F,0F
|
|
hex 0F,0F,0F,0F,11,11,11,11,11,11,11,11,11,0F,0F,0F,0F,0F,0F,0F,0F
|
|
hex 0F,0F,11
|
|
hex FF,77,77,77,77,77,77,77,00,77,77,77,77,FF,F1,F1,F1,F1,F1,F1,F1
|
|
hex F1,FF,77,77,00,77,77,77,77,77,77,FF,00,EE,EE,EE,EE,00,EE,EE,EE
|
|
hex EE,EE,EE,00,F1,F1,F1,F1,F1,F1,F1,F1,F1,00,EE,EE,EE,EE,00,EE,EE
|
|
hex EE,00,11
|
|
hex FF,77,77,F7,F7,F7,77,77,00,F7,F7,77,77,70,70,70,70,70,70,70,70
|
|
hex 70,70,77,77,00,77,77,77,77,F7,F7,FF,00,EE,EE,FE,FE,00,EE,EE,FE
|
|
hex FE,EE,EE,00,E0,E0,E0,E0,00,E0,E0,E0,E0,00,EE,EE,EE,EE,00,EE,FE
|
|
hex FE,00,F1
|
|
hex FF,77,77,70,70,70,77,77,70,70,70,77,77,77,77,77,77,77,77,77,77
|
|
hex 77,77,77,77,00,77,77,77,77,70,70,00,00,EE,EE,E0,E0,00,EE,00,E0
|
|
hex E0,EE,EE,00,EE,EE,EE,EE,00,EE,EE,EE,EE,00,EE,EE,EE,EE,00,EE,E0
|
|
hex E0,E0,FF
|
|
hex FF,77,77,77,77,77,77,77,77,77,77,77,77,77,77,0F,77,77,77,77,0F
|
|
hex 77,77,77,77,00,77,77,77,77,77,77,00,00,EE,EE,EE,EE,00,EE,00,EE
|
|
hex EE,EE,EE,00,EE,EE,EE,EE,00,EE,EE,EE,EE,00,EE,EE,EE,EE,00,EE,EE
|
|
hex EE,EE,FF
|
|
hex FF,66,66,F6,F6,F6,66,66,66,66,F6,66,66,66,66,00,66,66,66,66,00
|
|
hex 66,66,66,66,00,66,66,66,66,F6,F6,00,00,CC,CC,FC,FC,00,CC,00,CC
|
|
hex CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC
|
|
hex FC,FC,FF
|
|
hex FF,66,66,00,F0,F0,66,66,66,66,60,66,66,66,66,66,66,66,66,66,66
|
|
hex 66,66,66,66,00,66,66,66,66,60,60,00,00,CC,CC,F0,F0,00,CC,00,CC
|
|
hex CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC
|
|
hex C0,C0,FF
|
|
hex FF,66,66,00,11,FF,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66
|
|
hex 66,66,66,66,00,66,66,66,66,66,66,00,00,CC,CC,FF,11,00,CC,00,CC
|
|
hex CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC,CC,CC,00,CC,CC
|
|
hex CC,CC,FF
|
|
hex FF,0F,0F,00,11,FF,0F,0F,0F,0F,0F,0F,0F,66,66,0F,0F,0F,66,66,0F
|
|
hex 0F,0F,0F,0F,00,0F,0F,0F,0F,0F,0F,00,00,0F,0F,FF,11,00,0F,00,0F
|
|
hex 0F,0F,0F,00,CC,CC,0F,0F,00,CC,CC,0F,0F,00,0F,0F,0F,0F,00,0F,0F
|
|
hex 0F,0F,FF
|
|
hex 1F,1F,1F,1F,11,1F,1F,1F,1F,1F,1F,1F,FF,F6,F6,00,1F,FF,F6,F6,00
|
|
hex 1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,11,1F,1F,1F,1F
|
|
hex 1F,1F,1F,00,FC,FC,FF,1F,00,FC,FC,FF,1F,1F,1F,1F,1F,1F,1F,1F,1F
|
|
hex 1F,1F,1F
|
|
hex 11,11,11,11,11,11,11,11,11,11,11,11,FF,F0,F0,F0,11,FF,F0,F0,F0
|
|
hex 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11
|
|
hex 11,11,11,F0,F0,F0,FF,11,F0,F0,F0,FF,11,11,11,11,11,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11
|
|
hex 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11
|
|
hex 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,0F,0F,0F,0F,0F,0F,0F,0F,FF,F1,F1,F1,F1
|
|
hex F1,11,0F,0F,0F,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,0F
|
|
hex 0F,0F,0F,0F,0F,0F,0F,F1,F1,F1,F1,F1,11,FF,0F,0F,0F,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,77,77,77,77,00,77,77,70,70,70,70,70
|
|
hex FF,F1,00,77,77,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,EE
|
|
hex EE,EE,EE,EE,EE,EE,00,E0,E0,E0,E0,00,F1,FF,EE,EE,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,77,77,77,77,00,F7,F7,77,77,77,77,77
|
|
hex 70,70,70,77,77,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,EE
|
|
hex EE,FE,EE,EE,FE,FE,00,EE,EE,EE,EE,00,E0,E0,EE,EE,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,77,77,77,77,00,70,70,77,77,07,77,77
|
|
hex 77,77,77,77,77,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,EE
|
|
hex EE,E0,EE,EE,E0,E0,00,EE,EE,EE,EE,00,EE,EE,EE,EE,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,77,77,77,77,00,77,77,77,77,00,F7,F7
|
|
hex 77,77,F7,77,77,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,EE
|
|
hex EE,EE,EE,0F,EE,EE,00,EE,EE,FE,FE,00,EE,EE,EE,EE,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,66,66,66,66,00,66,66,66,66,00,F0,F0
|
|
hex 66,66,00,66,66,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,CC
|
|
hex CC,FC,CC,CC,CC,CC,00,CC,CC,F0,F0,00,CC,CC,CC,CC,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,66,66,66,66,00,66,66,66,66,00,11,FF
|
|
hex 66,66,60,66,66,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,CC
|
|
hex CC,C0,CC,CC,CC,CC,00,CC,CC,FF,11,00,CC,CC,CC,CC,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,66,66,66,66,00,66,66,66,66,00,11,FF
|
|
hex 66,66,66,66,66,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,CC
|
|
hex CC,CC,CC,CC,CC,CC,00,CC,CC,FF,11,00,CC,CC,CC,CC,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,00,0F,0F,0F,0F,00,0F,0F,0F,0F,00,11,FF
|
|
hex 0F,0F,0F,0F,0F,FF,11,11,11,11,11,11,11,11,11,11,11,11,11,FF,0F
|
|
hex 0F,0F,0F,0F,0F,0F,00,0F,0F,FF,11,00,0F,0F,0F,0F,00,11,11,11,11
|
|
hex 11,11,11
|
|
hex 11,11,11,11,11,11,11,11,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,11,1F
|
|
hex 1F,1F,1F,1F,1F,1F,11,11,11,11,11,11,11,11,11,11,11,11,11,1F,1F
|
|
hex 1F,1F,1F,1F,1F,1F,1F,1F,1F,1F,11,1F,1F,1F,1F,1F,1F,11,11,11,11
|
|
hex 11,11,11
|
|
|
|
tapMaskColor equ #$11
|
|
tapHeight equ #$06
|
|
tapWidth equ #$18
|
|
** Remember: Data is Aux cols, then main cols, next line, repeat
|
|
tapData
|
|
hex 11,F1,F1,11,11,11,11,11,11,11,F1,11,11,11,11,11,AF,FF,FF,11,11,11,11,11
|
|
hex 11,F1,11,11,11,11,11,11,11,F1,F1,11,11,11,11,FF,0F,5F,11,11,11,11,11,11
|
|
hex F1,FF,0F,FF,F1,F1,F1,F1,11,F1,00,AF,F1,F1,11,F1,00,FF,FF,F1,F1,F1,F1,F1
|
|
hex F1,00,5F,F1,F1,F1,F1,F1,F1,FF,0F,FF,F1,11,11,FF,0F,00,F1,F1,F1,F1,F1,F1
|
|
hex FF,F0,FF,AF,F0,FF,AF,0A,11,FA,00,FF,FA,0F,11,FF,00,FF,FF,AF,F0,FF,AF,00
|
|
hex F5,00,FF,F5,00,00,F5,FF,FF,F0,FF,5F,F0,FF,11,F5,FF,00,FF,F5,00,00,F5,FF
|
|
hex 11,FF,0F,00,0F,FF,0F,F0,11,11,00,FF,0F,F0,11,FF,00,FF,0F,00,0F,FF,0F,F0
|
|
hex 11,50,FF,0F,00,00,0F,FF,11,FF,0F,F0,0F,FF,11,0F,0F,00,FF,0F,00,00,0F,FF
|
|
hex 11,1F,1F,1F,1F,FF,0F,1F,11,11,1F,1F,1F,1F,11,1F,1F,1F,1F,1F,1F,FF,0F,1F
|
|
hex 11,1F,1F,1F,1F,00,FF,11,11,1F,1F,1F,1F,11,11,1F,1F,1F,1F,1F,1F,00,FF,11
|
|
hex 11,11,11,11,11,1F,1F,11,11,11,11,11,11,11,11,11,11,11,11,11,11,1F,1F,11
|
|
hex 11,11,11,11,11,1F,1F,11,11,11,11,11,11,11,11,11,11,11,11,11,11,1F,1F,11
|
|
|
|
|
|
splosionMaskColor equ #$22
|
|
splosionHeight equ #$06
|
|
splosionWidth equ #$06
|
|
** Remember: Data is Aux cols, then main cols, next line, repeat
|
|
splosionData
|
|
hex 28,82,22,22,22,82,12,22,22,22,12,21
|
|
hex 22,CC,E8,C2,EC,28,21,D9,92,D1,99,22
|
|
hex 22,28,EF,FE,8E,22,22,1D,FD,DF,21,22
|
|
hex 22,C8,EF,8E,EE,22,22,DD,1D,DF,91,22
|
|
hex 22,8C,28,22,2C,88,11,29,22,21,19,22
|
|
hex 28,22,22,22,22,22,22,22,22,22,22,21
|
|
|
|
plaqueMaskColor equ #$22
|
|
plaqueHeight equ #$06
|
|
plaqueWidth equ #$13
|
|
** Remember: Data is Aux cols, then main cols, next line, repeat
|
|
plaqueData
|
|
hex E2,CE,CE,CE,CE,CE,CE,CE,CE,CE,DE,DE,DE,DE,DE,DE,DE,DE,E2,DD,9D,9D,9D,9D
|
|
hex 9D,9D,9D,BD,9D,9D,9D,9D,9D,9D,9D,9D,DD,22
|
|
hex EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,99,DD,DD,DD,DD
|
|
hex DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,FB,62
|
|
hex EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,B9,DD,DD,DD,DD
|
|
hex DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,FB,66
|
|
hex EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,EE,B9,DD,DD,DD,DD
|
|
hex DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,DD,BF,66
|
|
hex 2E,ED,ED,EF,EF,EF,EF,EF,EF,EF,EF,EF,EF,EF,EF,EF,ED,ED,3E,DD,DF,DF,DB,DF
|
|
hex DF,DF,DF,DF,DF,DF,DF,DF,DB,DF,DF,DF,DD,26
|
|
hex 22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,22,22,26,26,26,26
|
|
hex 26,26,26,26,26,26,26,26,26,26,26,26,26,22
|
|
|
|
|
|
youMaskColor equ #$11
|
|
youHeight equ #$03
|
|
youWidth equ #$06
|
|
youData
|
|
hex 01,01,11,11,11,11,11,11,11,11,11,11
|
|
hex 10,10,01,01,00,00,01,11,10,11,11,11
|
|
hex 11,11,11,11,11,10,10,11,10,11,10,11
|
|
|
|
|
|
hiMaskColor equ #$11
|
|
hiHeight equ #$03
|
|
hiWidth equ #$03
|
|
hiData
|
|
hex 01,01,01,11,11,11
|
|
hex 00,00,01,10,11,11
|
|
hex 10,10,10,11,11,11
|
|
|
|
|
|
|
|
NumMaskColor equ #$11
|
|
NumHeight equ #$03
|
|
NumWidth equ #$02
|
|
NumList da N0Data
|
|
da N1Data
|
|
da N2Data
|
|
da N3Data
|
|
da N4Data
|
|
da N5Data
|
|
da N6Data
|
|
da N7Data
|
|
da N8Data
|
|
da N9Data
|
|
N0Data
|
|
hex 01,01,10,11
|
|
hex 00,00,11,11
|
|
hex 10,10,01,11
|
|
|
|
N1Data
|
|
hex 01,11,00,11
|
|
hex 11,11,00,11
|
|
hex 01,01,00,11
|
|
|
|
N2Data
|
|
hex 01,01,10,11
|
|
hex 11,10,01,11
|
|
hex 00,01,01,11
|
|
|
|
N3Data
|
|
hex 10,01,10,11
|
|
hex 11,01,10,11
|
|
hex 01,10,01,11
|
|
|
|
N4Data
|
|
hex 00,01,11,11
|
|
hex 00,00,01,11
|
|
hex 11,00,11,11
|
|
|
|
|
|
N5Data
|
|
hex 00,10,10,11
|
|
hex 10,01,10,11
|
|
hex 10,10,01,11
|
|
|
|
|
|
N6Data
|
|
hex 01,11,10,11
|
|
hex 00,01,10,11
|
|
hex 10,10,01,11
|
|
|
|
N7Data
|
|
hex 10,00,10,11
|
|
hex 11,10,01,11
|
|
hex 11,11,00,11
|
|
|
|
N8Data
|
|
hex 01,01,10,11
|
|
hex 01,01,10,11
|
|
hex 10,10,01,11
|
|
|
|
|
|
N9Data
|
|
hex 01,01,10,11
|
|
hex 10,00,01,11
|
|
hex 11,10,01,11
|
|
|
|
QRCodeMaskColor equ #$88
|
|
QRCodeHeight equ #$0e
|
|
QRCodeWidth equ #$0e
|
|
QRCodeData
|
|
hex FF,0F,0F,0F,FF,FF,FF,0F,FF,FF,0F,0F,0F,FF,0F,0F,0F,0F,FF,FF,0F,FF,FF,0F,0F,0F,0F,FF
|
|
hex FF,FF,0F,FF,FF,FF,FF,F0,F0,FF,FF,0F,FF,FF,00,0F,0F,00,F0,F0,FF,F0,F0,00,0F,0F,00,FF
|
|
hex FF,FF,00,FF,FF,00,0F,F0,FF,FF,FF,00,FF,FF,00,00,00,00,F0,F0,F0,F0,0F,00,00,00,00,FF
|
|
hex FF,0F,0F,0F,FF,F0,FF,F0,F0,FF,0F,0F,0F,FF,00,0F,0F,00,00,0F,00,0F,00,00,0F,0F,00,FF
|
|
hex FF,0F,0F,FF,0F,00,0F,0F,0F,0F,0F,0F,0F,FF,0F,0F,0F,0F,0F,F0,0F,00,FF,FF,FF,FF,FF,FF
|
|
hex FF,00,0F,FF,00,FF,F0,00,0F,0F,00,0F,00,FF,F0,F0,FF,0F,F0,00,0F,0F,00,0F,FF,FF,0F,FF
|
|
hex FF,00,F0,00,0F,0F,FF,0F,FF,00,FF,FF,0F,FF,F0,0F,FF,0F,00,0F,F0,00,F0,0F,0F,0F,00,FF
|
|
hex FF,F0,00,F0,00,FF,F0,F0,0F,0F,F0,00,00,FF,00,0F,0F,0F,FF,0F,0F,0F,F0,0F,FF,FF,0F,FF
|
|
hex FF,FF,00,0F,F0,00,FF,0F,0F,00,00,F0,FF,FF,00,00,00,0F,FF,00,F0,F0,0F,00,0F,0F,F0,FF
|
|
hex FF,0F,0F,0F,FF,FF,F0,00,FF,FF,FF,00,0F,FF,0F,0F,0F,0F,00,FF,FF,0F,00,0F,00,00,0F,FF
|
|
hex FF,FF,0F,FF,FF,00,FF,0F,0F,0F,0F,00,00,FF,00,0F,0F,00,0F,FF,00,00,00,0F,00,0F,F0,FF
|
|
hex FF,FF,00,FF,FF,FF,F0,0F,00,F0,0F,FF,F0,FF,00,00,00,00,00,FF,0F,0F,F0,F0,F0,00,00,FF
|
|
hex FF,0F,0F,0F,FF,00,0F,0F,F0,F0,00,00,0F,FF,00,0F,0F,00,00,F0,0F,0F,F0,FF,00,0F,00,FF
|
|
hex FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF
|
|
|