mirror of
https://github.com/jeremysrand/BuGS.git
synced 2024-05-28 16:41:35 +00:00
A bunch of optimizations to reduce the number of instructions to draw tiles.
This commit is contained in:
parent
c79303d1dc
commit
3c0ac30fcb
409
BuGS/game.s
409
BuGS/game.s
|
@ -36,87 +36,56 @@ game start
|
||||||
|
|
||||||
|
|
||||||
drawDirtyGameTiles entry
|
drawDirtyGameTiles entry
|
||||||
ldy #$0
|
ldy numDirtyGameTiles
|
||||||
|
beq dirtyTileLoopDone
|
||||||
dirtyTileLoop anop
|
dirtyTileLoop anop
|
||||||
cpy numDirtyGameTiles
|
dey
|
||||||
blt handleDirtyTile
|
dey
|
||||||
stz numDirtyGameTiles
|
|
||||||
rtl
|
|
||||||
handleDirtyTile anop
|
|
||||||
phy
|
phy
|
||||||
tya
|
|
||||||
asl a
|
|
||||||
tay
|
|
||||||
|
|
||||||
lda dirtyGameTiles,y
|
|
||||||
tax
|
|
||||||
|
|
||||||
|
ldx dirtyGameTiles,y
|
||||||
stz tiles,x
|
stz tiles,x
|
||||||
|
ldy tiles+2,x
|
||||||
txy
|
lda tiles+4,x
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
ldx tiles,y
|
|
||||||
|
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda tiles,y
|
|
||||||
|
|
||||||
jsl drawTile
|
jsl drawTile
|
||||||
|
|
||||||
ply
|
ply
|
||||||
iny
|
bne dirtyTileLoop
|
||||||
bra dirtyTileLoop
|
dirtyTileLoopDone anop
|
||||||
|
stz numDirtyGameTiles
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
drawDirtyNonGameTiles entry
|
drawDirtyNonGameTiles entry
|
||||||
ldy #$0
|
ldy numDirtyNonGameTiles
|
||||||
|
beq dirtyTileLoopDone2
|
||||||
dirtyTileLoop2 anop
|
dirtyTileLoop2 anop
|
||||||
cpy numDirtyNonGameTiles
|
dey
|
||||||
blt handleDirtyTile2
|
dey
|
||||||
stz numDirtyNonGameTiles
|
|
||||||
rtl
|
|
||||||
handleDirtyTile2 anop
|
|
||||||
phy
|
phy
|
||||||
tya
|
|
||||||
asl a
|
|
||||||
tay
|
|
||||||
|
|
||||||
lda dirtyNonGameTiles,y
|
|
||||||
tax
|
|
||||||
|
|
||||||
|
ldx dirtyNonGameTiles,y
|
||||||
stz tiles,x
|
stz tiles,x
|
||||||
|
ldy tiles+2,x
|
||||||
txy
|
lda tiles+4,x
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
ldx tiles,y
|
|
||||||
|
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda tiles,y
|
|
||||||
|
|
||||||
jsl drawTile
|
jsl drawTile
|
||||||
|
|
||||||
ply
|
ply
|
||||||
iny
|
bne dirtyTileLoop2
|
||||||
bra dirtyTileLoop2
|
dirtyTileLoopDone2 anop
|
||||||
|
stz numDirtyNonGameTiles
|
||||||
|
rtl
|
||||||
|
|
||||||
|
|
||||||
drawTile entry
|
drawTile entry
|
||||||
asl a
|
tax
|
||||||
asl a
|
|
||||||
tay
|
|
||||||
|
|
||||||
lda tileJumpTable,y
|
lda tileJumpTable,x
|
||||||
sta jumpInst+1
|
sta jumpInst+1
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
lda tileJumpTable,y
|
lda tileJumpTable+2,x
|
||||||
sta jumpInst+3
|
sta jumpInst+3
|
||||||
|
|
||||||
jumpInst jmp >mushroom1
|
jumpInst jmp >mushroom1
|
||||||
|
@ -124,493 +93,493 @@ jumpInst jmp >mushroom1
|
||||||
|
|
||||||
|
|
||||||
drawAll entry
|
drawAll entry
|
||||||
ldx #$2003
|
ldy #$2003
|
||||||
jsl mushroom1
|
jsl mushroom1
|
||||||
|
|
||||||
ldx #$200b
|
ldy #$200b
|
||||||
jsl mushroom2
|
jsl mushroom2
|
||||||
|
|
||||||
ldx #$2013
|
ldy #$2013
|
||||||
jsl mushroom3
|
jsl mushroom3
|
||||||
|
|
||||||
ldx #$201b
|
ldy #$201b
|
||||||
jsl mushroom4
|
jsl mushroom4
|
||||||
|
|
||||||
ldx #$2023
|
ldy #$2023
|
||||||
jsl poisonedMushroom1
|
jsl poisonedMushroom1
|
||||||
|
|
||||||
ldx #$202b
|
ldy #$202b
|
||||||
jsl poisonedMushroom2
|
jsl poisonedMushroom2
|
||||||
|
|
||||||
ldx #$2033
|
ldy #$2033
|
||||||
jsl poisonedMushroom3
|
jsl poisonedMushroom3
|
||||||
|
|
||||||
ldx #$203b
|
ldy #$203b
|
||||||
jsl poisonedMushroom4
|
jsl poisonedMushroom4
|
||||||
|
|
||||||
ldx #$2043
|
ldy #$2043
|
||||||
jsl letterA
|
jsl letterA
|
||||||
|
|
||||||
ldx #$204b
|
ldy #$204b
|
||||||
jsl letterB
|
jsl letterB
|
||||||
|
|
||||||
ldx #$2053
|
ldy #$2053
|
||||||
jsl letterC
|
jsl letterC
|
||||||
|
|
||||||
ldx #$205b
|
ldy #$205b
|
||||||
jsl letterD
|
jsl letterD
|
||||||
|
|
||||||
ldx #$2063
|
ldy #$2063
|
||||||
jsl letterE
|
jsl letterE
|
||||||
|
|
||||||
ldx #$206b
|
ldy #$206b
|
||||||
jsl letterF
|
jsl letterF
|
||||||
|
|
||||||
ldx #$2073
|
ldy #$2073
|
||||||
jsl letterG
|
jsl letterG
|
||||||
|
|
||||||
ldx #$207b
|
ldy #$207b
|
||||||
jsl letterH
|
jsl letterH
|
||||||
|
|
||||||
ldx #$2083
|
ldy #$2083
|
||||||
jsl letterI
|
jsl letterI
|
||||||
|
|
||||||
ldx #$208b
|
ldy #$208b
|
||||||
jsl letterJ
|
jsl letterJ
|
||||||
|
|
||||||
ldx #$2093
|
ldy #$2093
|
||||||
jsl letterK
|
jsl letterK
|
||||||
|
|
||||||
ldx #$209b
|
ldy #$209b
|
||||||
jsl letterL
|
jsl letterL
|
||||||
|
|
||||||
ldx #$2a03
|
ldy #$2a03
|
||||||
jsl letterM
|
jsl letterM
|
||||||
|
|
||||||
ldx #$2a0b
|
ldy #$2a0b
|
||||||
jsl letterN
|
jsl letterN
|
||||||
|
|
||||||
ldx #$2a13
|
ldy #$2a13
|
||||||
jsl letterO
|
jsl letterO
|
||||||
|
|
||||||
ldx #$2a1b
|
ldy #$2a1b
|
||||||
jsl letterP
|
jsl letterP
|
||||||
|
|
||||||
ldx #$2a23
|
ldy #$2a23
|
||||||
jsl letterQ
|
jsl letterQ
|
||||||
|
|
||||||
ldx #$2a2b
|
ldy #$2a2b
|
||||||
jsl letterR
|
jsl letterR
|
||||||
|
|
||||||
ldx #$2a33
|
ldy #$2a33
|
||||||
jsl letterS
|
jsl letterS
|
||||||
|
|
||||||
ldx #$2a3b
|
ldy #$2a3b
|
||||||
jsl letterT
|
jsl letterT
|
||||||
|
|
||||||
ldx #$2a43
|
ldy #$2a43
|
||||||
jsl letterU
|
jsl letterU
|
||||||
|
|
||||||
ldx #$2a4b
|
ldy #$2a4b
|
||||||
jsl letterV
|
jsl letterV
|
||||||
|
|
||||||
ldx #$2a53
|
ldy #$2a53
|
||||||
jsl letterW
|
jsl letterW
|
||||||
|
|
||||||
ldx #$2a5b
|
ldy #$2a5b
|
||||||
jsl letterX
|
jsl letterX
|
||||||
|
|
||||||
ldx #$2a63
|
ldy #$2a63
|
||||||
jsl letterY
|
jsl letterY
|
||||||
|
|
||||||
ldx #$2a6b
|
ldy #$2a6b
|
||||||
jsl letterZ
|
jsl letterZ
|
||||||
|
|
||||||
ldx #$2a73
|
ldy #$2a73
|
||||||
jsl symbolC
|
jsl symbolC
|
||||||
|
|
||||||
ldx #$2a7b
|
ldy #$2a7b
|
||||||
jsl symbolP
|
jsl symbolP
|
||||||
|
|
||||||
ldx #$2a83
|
ldy #$2a83
|
||||||
jsl symbolDot
|
jsl symbolDot
|
||||||
|
|
||||||
ldx #$2a8b
|
ldy #$2a8b
|
||||||
jsl symbolColon
|
jsl symbolColon
|
||||||
|
|
||||||
ldx #$2a93
|
ldy #$2a93
|
||||||
jsl solid0
|
jsl solid0
|
||||||
|
|
||||||
ldx #$2a9b
|
ldy #$2a9b
|
||||||
jsl solid1
|
jsl solid1
|
||||||
|
|
||||||
ldx #$3403
|
ldy #$3403
|
||||||
jsl solid2
|
jsl solid2
|
||||||
|
|
||||||
ldx #$340b
|
ldy #$340b
|
||||||
jsl solid3
|
jsl solid3
|
||||||
|
|
||||||
ldx #$3413
|
ldy #$3413
|
||||||
jsl number0
|
jsl number0
|
||||||
|
|
||||||
ldx #$341b
|
ldy #$341b
|
||||||
jsl number1
|
jsl number1
|
||||||
|
|
||||||
ldx #$3423
|
ldy #$3423
|
||||||
jsl number2
|
jsl number2
|
||||||
|
|
||||||
ldx #$342b
|
ldy #$342b
|
||||||
jsl number3
|
jsl number3
|
||||||
|
|
||||||
ldx #$3433
|
ldy #$3433
|
||||||
jsl number4
|
jsl number4
|
||||||
|
|
||||||
ldx #$343b
|
ldy #$343b
|
||||||
jsl number5
|
jsl number5
|
||||||
|
|
||||||
ldx #$3443
|
ldy #$3443
|
||||||
jsl number6
|
jsl number6
|
||||||
|
|
||||||
ldx #$344b
|
ldy #$344b
|
||||||
jsl number7
|
jsl number7
|
||||||
|
|
||||||
ldx #$3453
|
ldy #$3453
|
||||||
jsl number8
|
jsl number8
|
||||||
|
|
||||||
ldx #$345b
|
ldy #$345b
|
||||||
jsl number9
|
jsl number9
|
||||||
|
|
||||||
ldx #$345f
|
ldy #$345f
|
||||||
jsl flea1
|
jsl flea1
|
||||||
|
|
||||||
ldx #$3467
|
ldy #$3467
|
||||||
jsl flea2
|
jsl flea2
|
||||||
|
|
||||||
ldx #$346f
|
ldy #$346f
|
||||||
jsl flea3
|
jsl flea3
|
||||||
|
|
||||||
ldx #$3477
|
ldy #$3477
|
||||||
jsl flea4
|
jsl flea4
|
||||||
|
|
||||||
ldx #$347e
|
ldy #$347e
|
||||||
jsl score300
|
jsl score300
|
||||||
|
|
||||||
ldx #$3486
|
ldy #$3486
|
||||||
jsl score600
|
jsl score600
|
||||||
|
|
||||||
ldx #$348e
|
ldy #$348e
|
||||||
jsl score900
|
jsl score900
|
||||||
|
|
||||||
ldx #$3e04
|
ldy #$3e04
|
||||||
jsl leftScorpion1
|
jsl leftScorpion1
|
||||||
|
|
||||||
ldx #$3e14
|
ldy #$3e14
|
||||||
jsl leftScorpion1s
|
jsl leftScorpion1s
|
||||||
|
|
||||||
ldx #$3e24
|
ldy #$3e24
|
||||||
jsl leftScorpion2
|
jsl leftScorpion2
|
||||||
|
|
||||||
ldx #$3e34
|
ldy #$3e34
|
||||||
jsl leftScorpion2s
|
jsl leftScorpion2s
|
||||||
|
|
||||||
ldx #$3e44
|
ldy #$3e44
|
||||||
jsl leftScorpion3
|
jsl leftScorpion3
|
||||||
|
|
||||||
ldx #$3e54
|
ldy #$3e54
|
||||||
jsl leftScorpion3s
|
jsl leftScorpion3s
|
||||||
|
|
||||||
ldx #$3e64
|
ldy #$3e64
|
||||||
jsl leftScorpion4
|
jsl leftScorpion4
|
||||||
|
|
||||||
ldx #$3e74
|
ldy #$3e74
|
||||||
jsl leftScorpion4s
|
jsl leftScorpion4s
|
||||||
|
|
||||||
ldx #$4804
|
ldy #$4804
|
||||||
jsl rightScorpion1
|
jsl rightScorpion1
|
||||||
|
|
||||||
ldx #$4814
|
ldy #$4814
|
||||||
jsl rightScorpion1s
|
jsl rightScorpion1s
|
||||||
|
|
||||||
ldx #$4824
|
ldy #$4824
|
||||||
jsl rightScorpion2
|
jsl rightScorpion2
|
||||||
|
|
||||||
ldx #$4834
|
ldy #$4834
|
||||||
jsl rightScorpion2s
|
jsl rightScorpion2s
|
||||||
|
|
||||||
ldx #$4844
|
ldy #$4844
|
||||||
jsl rightScorpion3
|
jsl rightScorpion3
|
||||||
|
|
||||||
ldx #$4854
|
ldy #$4854
|
||||||
jsl rightScorpion3s
|
jsl rightScorpion3s
|
||||||
|
|
||||||
ldx #$4864
|
ldy #$4864
|
||||||
jsl rightScorpion4
|
jsl rightScorpion4
|
||||||
|
|
||||||
ldx #$4874
|
ldy #$4874
|
||||||
jsl rightScorpion4s
|
jsl rightScorpion4s
|
||||||
|
|
||||||
ldx #$5204
|
ldy #$5204
|
||||||
jsl spider1
|
jsl spider1
|
||||||
|
|
||||||
ldx #$5214
|
ldy #$5214
|
||||||
jsl spider1s
|
jsl spider1s
|
||||||
|
|
||||||
ldx #$5224
|
ldy #$5224
|
||||||
jsl spider2
|
jsl spider2
|
||||||
|
|
||||||
ldx #$5234
|
ldy #$5234
|
||||||
jsl spider2s
|
jsl spider2s
|
||||||
|
|
||||||
ldx #$5244
|
ldy #$5244
|
||||||
jsl spider3
|
jsl spider3
|
||||||
|
|
||||||
ldx #$5254
|
ldy #$5254
|
||||||
jsl spider3s
|
jsl spider3s
|
||||||
|
|
||||||
ldx #$5264
|
ldy #$5264
|
||||||
jsl spider4
|
jsl spider4
|
||||||
|
|
||||||
ldx #$5274
|
ldy #$5274
|
||||||
jsl spider4s
|
jsl spider4s
|
||||||
|
|
||||||
ldx #$5284
|
ldy #$5284
|
||||||
jsl spider5
|
jsl spider5
|
||||||
|
|
||||||
ldx #$5294
|
ldy #$5294
|
||||||
jsl spider5s
|
jsl spider5s
|
||||||
|
|
||||||
ldx #$5c04
|
ldy #$5c04
|
||||||
jsl spider6
|
jsl spider6
|
||||||
|
|
||||||
ldx #$5c14
|
ldy #$5c14
|
||||||
jsl spider6s
|
jsl spider6s
|
||||||
|
|
||||||
ldx #$5c24
|
ldy #$5c24
|
||||||
jsl spider7
|
jsl spider7
|
||||||
|
|
||||||
ldx #$5c34
|
ldy #$5c34
|
||||||
jsl spider7s
|
jsl spider7s
|
||||||
|
|
||||||
ldx #$5c40
|
ldy #$5c40
|
||||||
jsl explosion1
|
jsl explosion1
|
||||||
|
|
||||||
ldx #$5c48
|
ldy #$5c48
|
||||||
jsl explosion2
|
jsl explosion2
|
||||||
|
|
||||||
ldx #$5c50
|
ldy #$5c50
|
||||||
jsl explosion3
|
jsl explosion3
|
||||||
|
|
||||||
ldx #$5c58
|
ldy #$5c58
|
||||||
jsl explosion4
|
jsl explosion4
|
||||||
|
|
||||||
ldx #$5c60
|
ldy #$5c60
|
||||||
jsl explosion5
|
jsl explosion5
|
||||||
|
|
||||||
ldx #$5c68
|
ldy #$5c68
|
||||||
jsl explosion6
|
jsl explosion6
|
||||||
|
|
||||||
ldx #$5c70
|
ldy #$5c70
|
||||||
jsl leftHead1
|
jsl leftHead1
|
||||||
|
|
||||||
ldx #$5c78
|
ldy #$5c78
|
||||||
jsl leftHead1s
|
jsl leftHead1s
|
||||||
|
|
||||||
ldx #$5c80
|
ldy #$5c80
|
||||||
jsl leftHead2
|
jsl leftHead2
|
||||||
|
|
||||||
ldx #$5c88
|
ldy #$5c88
|
||||||
jsl leftHead2s
|
jsl leftHead2s
|
||||||
|
|
||||||
ldx #$5c90
|
ldy #$5c90
|
||||||
jsl leftHead3
|
jsl leftHead3
|
||||||
|
|
||||||
ldx #$5c98
|
ldy #$5c98
|
||||||
jsl leftHead3s
|
jsl leftHead3s
|
||||||
|
|
||||||
ldx #$6600
|
ldy #$6600
|
||||||
jsl leftHead4
|
jsl leftHead4
|
||||||
|
|
||||||
ldx #$6608
|
ldy #$6608
|
||||||
jsl leftHead4s
|
jsl leftHead4s
|
||||||
|
|
||||||
ldx #$6610
|
ldy #$6610
|
||||||
jsl leftHead5
|
jsl leftHead5
|
||||||
|
|
||||||
ldx #$6618
|
ldy #$6618
|
||||||
jsl leftHead5s
|
jsl leftHead5s
|
||||||
|
|
||||||
ldx #$6620
|
ldy #$6620
|
||||||
jsl leftBody1
|
jsl leftBody1
|
||||||
|
|
||||||
ldx #$6628
|
ldy #$6628
|
||||||
jsl leftBody1s
|
jsl leftBody1s
|
||||||
|
|
||||||
ldx #$6630
|
ldy #$6630
|
||||||
jsl leftBody2
|
jsl leftBody2
|
||||||
|
|
||||||
ldx #$6638
|
ldy #$6638
|
||||||
jsl leftBody2s
|
jsl leftBody2s
|
||||||
|
|
||||||
ldx #$6640
|
ldy #$6640
|
||||||
jsl leftBody3
|
jsl leftBody3
|
||||||
|
|
||||||
ldx #$6648
|
ldy #$6648
|
||||||
jsl leftBody3s
|
jsl leftBody3s
|
||||||
|
|
||||||
ldx #$6650
|
ldy #$6650
|
||||||
jsl leftBody4
|
jsl leftBody4
|
||||||
|
|
||||||
ldx #$6658
|
ldy #$6658
|
||||||
jsl leftBody4s
|
jsl leftBody4s
|
||||||
|
|
||||||
ldx #$6660
|
ldy #$6660
|
||||||
jsl leftBody5
|
jsl leftBody5
|
||||||
|
|
||||||
ldx #$6668
|
ldy #$6668
|
||||||
jsl leftBody5s
|
jsl leftBody5s
|
||||||
|
|
||||||
ldx #$6670
|
ldy #$6670
|
||||||
jsl rightHead1
|
jsl rightHead1
|
||||||
|
|
||||||
ldx #$6678
|
ldy #$6678
|
||||||
jsl rightHead1s
|
jsl rightHead1s
|
||||||
|
|
||||||
ldx #$6680
|
ldy #$6680
|
||||||
jsl rightHead2
|
jsl rightHead2
|
||||||
|
|
||||||
ldx #$6688
|
ldy #$6688
|
||||||
jsl rightHead2s
|
jsl rightHead2s
|
||||||
|
|
||||||
ldx #$6690
|
ldy #$6690
|
||||||
jsl rightHead3
|
jsl rightHead3
|
||||||
|
|
||||||
ldx #$6698
|
ldy #$6698
|
||||||
jsl rightHead3s
|
jsl rightHead3s
|
||||||
|
|
||||||
ldx #$7000
|
ldy #$7000
|
||||||
jsl rightHead4
|
jsl rightHead4
|
||||||
|
|
||||||
ldx #$7008
|
ldy #$7008
|
||||||
jsl rightHead4s
|
jsl rightHead4s
|
||||||
|
|
||||||
ldx #$7010
|
ldy #$7010
|
||||||
jsl rightHead5
|
jsl rightHead5
|
||||||
|
|
||||||
ldx #$7018
|
ldy #$7018
|
||||||
jsl rightHead5s
|
jsl rightHead5s
|
||||||
|
|
||||||
ldx #$7020
|
ldy #$7020
|
||||||
jsl rightBody1
|
jsl rightBody1
|
||||||
|
|
||||||
ldx #$7028
|
ldy #$7028
|
||||||
jsl rightBody1s
|
jsl rightBody1s
|
||||||
|
|
||||||
ldx #$7030
|
ldy #$7030
|
||||||
jsl rightBody2
|
jsl rightBody2
|
||||||
|
|
||||||
ldx #$7038
|
ldy #$7038
|
||||||
jsl rightBody2s
|
jsl rightBody2s
|
||||||
|
|
||||||
ldx #$7040
|
ldy #$7040
|
||||||
jsl rightBody3
|
jsl rightBody3
|
||||||
|
|
||||||
ldx #$7048
|
ldy #$7048
|
||||||
jsl rightBody3s
|
jsl rightBody3s
|
||||||
|
|
||||||
ldx #$7050
|
ldy #$7050
|
||||||
jsl rightBody4
|
jsl rightBody4
|
||||||
|
|
||||||
ldx #$7058
|
ldy #$7058
|
||||||
jsl rightBody4s
|
jsl rightBody4s
|
||||||
|
|
||||||
ldx #$7060
|
ldy #$7060
|
||||||
jsl rightBody5
|
jsl rightBody5
|
||||||
|
|
||||||
ldx #$7068
|
ldy #$7068
|
||||||
jsl rightBody5s
|
jsl rightBody5s
|
||||||
|
|
||||||
ldx #$7070
|
ldy #$7070
|
||||||
jsl leftDownHead1
|
jsl leftDownHead1
|
||||||
|
|
||||||
ldx #$7078
|
ldy #$7078
|
||||||
jsl leftDownHead1s
|
jsl leftDownHead1s
|
||||||
|
|
||||||
ldx #$7080
|
ldy #$7080
|
||||||
jsl leftDownHead2
|
jsl leftDownHead2
|
||||||
|
|
||||||
ldx #$7088
|
ldy #$7088
|
||||||
jsl leftDownHead2s
|
jsl leftDownHead2s
|
||||||
|
|
||||||
ldx #$7090
|
ldy #$7090
|
||||||
jsl leftDownBody1
|
jsl leftDownBody1
|
||||||
|
|
||||||
ldx #$7098
|
ldy #$7098
|
||||||
jsl leftDownBody1s
|
jsl leftDownBody1s
|
||||||
|
|
||||||
ldx #$7a00
|
ldy #$7a00
|
||||||
jsl leftDownBody2
|
jsl leftDownBody2
|
||||||
|
|
||||||
ldx #$7a08
|
ldy #$7a08
|
||||||
jsl leftDownBody2s
|
jsl leftDownBody2s
|
||||||
|
|
||||||
ldx #$7a10
|
ldy #$7a10
|
||||||
jsl rightDownHead1
|
jsl rightDownHead1
|
||||||
|
|
||||||
ldx #$7a18
|
ldy #$7a18
|
||||||
jsl rightDownHead1s
|
jsl rightDownHead1s
|
||||||
|
|
||||||
ldx #$7a20
|
ldy #$7a20
|
||||||
jsl rightDownHead2
|
jsl rightDownHead2
|
||||||
|
|
||||||
ldx #$7a28
|
ldy #$7a28
|
||||||
jsl rightDownHead2s
|
jsl rightDownHead2s
|
||||||
|
|
||||||
ldx #$7a30
|
ldy #$7a30
|
||||||
jsl rightDownBody1
|
jsl rightDownBody1
|
||||||
|
|
||||||
ldx #$7a38
|
ldy #$7a38
|
||||||
jsl rightDownBody1s
|
jsl rightDownBody1s
|
||||||
|
|
||||||
ldx #$7a40
|
ldy #$7a40
|
||||||
jsl rightDownBody2
|
jsl rightDownBody2
|
||||||
|
|
||||||
ldx #$7a48
|
ldy #$7a48
|
||||||
jsl rightDownBody2s
|
jsl rightDownBody2s
|
||||||
|
|
||||||
ldx #$7a50
|
ldy #$7a50
|
||||||
jsl downHead1
|
jsl downHead1
|
||||||
|
|
||||||
ldx #$7a58
|
ldy #$7a58
|
||||||
jsl downHead2
|
jsl downHead2
|
||||||
|
|
||||||
ldx #$7a60
|
ldy #$7a60
|
||||||
jsl downHead3
|
jsl downHead3
|
||||||
|
|
||||||
ldx #$7a68
|
ldy #$7a68
|
||||||
jsl downBody1
|
jsl downBody1
|
||||||
|
|
||||||
ldx #$7a70
|
ldy #$7a70
|
||||||
jsl downBody2
|
jsl downBody2
|
||||||
|
|
||||||
ldx #$7a78
|
ldy #$7a78
|
||||||
jsl downBody3
|
jsl downBody3
|
||||||
|
|
||||||
ldx #$7a80
|
ldy #$7a80
|
||||||
jsl drawShip
|
jsl drawShip
|
||||||
|
|
||||||
ldx #$7a88
|
ldy #$7a88
|
||||||
jsl drawShipShift
|
jsl drawShipShift
|
||||||
|
|
||||||
ldx #$7a90
|
ldy #$7a90
|
||||||
jsl drawHalfShot
|
jsl drawHalfShot
|
||||||
|
|
||||||
ldx #$7a98
|
ldy #$7a98
|
||||||
jsl drawHalfShotShift
|
jsl drawHalfShotShift
|
||||||
|
|
||||||
ldx #$8400
|
ldy #$8400
|
||||||
jsl drawShot
|
jsl drawShot
|
||||||
|
|
||||||
ldx #$8408
|
ldy #$8408
|
||||||
jsl drawShotShift
|
jsl drawShotShift
|
||||||
|
|
||||||
rtl
|
rtl
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
ora #$0030
|
ora #$0030
|
||||||
sta $e1c068
|
sta $e1c068
|
||||||
clc
|
clc
|
||||||
txa
|
tya
|
||||||
tcs
|
tcs
|
||||||
mend
|
mend
|
||||||
|
|
||||||
|
|
|
@ -40,15 +40,15 @@
|
||||||
#define ADD_DIRTY_GAME_TILE(tileNum) \
|
#define ADD_DIRTY_GAME_TILE(tileNum) \
|
||||||
if (!tiles[tileNum].dirty) { \
|
if (!tiles[tileNum].dirty) { \
|
||||||
tiles[tileNum].dirty = 1; \
|
tiles[tileNum].dirty = 1; \
|
||||||
dirtyGameTiles[numDirtyGameTiles] = ((tileNum) * sizeof(tTile)); \
|
dirtyGameTiles[numDirtyGameTiles / 2] = ((tileNum) * sizeof(tTile)); \
|
||||||
numDirtyGameTiles++; \
|
numDirtyGameTiles += 2; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ADD_DIRTY_NON_GAME_TILE(tileNum) \
|
#define ADD_DIRTY_NON_GAME_TILE(tileNum) \
|
||||||
if (!tiles[tileNum].dirty) { \
|
if (!tiles[tileNum].dirty) { \
|
||||||
tiles[tileNum].dirty = 1; \
|
tiles[tileNum].dirty = 1; \
|
||||||
dirtyNonGameTiles[numDirtyNonGameTiles] = ((tileNum) * sizeof(tTile)); \
|
dirtyNonGameTiles[numDirtyNonGameTiles / 2] = ((tileNum) * sizeof(tTile)); \
|
||||||
numDirtyNonGameTiles++; \
|
numDirtyNonGameTiles += 2; \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Globals */
|
/* Globals */
|
||||||
|
|
104
BuGS/tiles.h
104
BuGS/tiles.h
|
@ -43,63 +43,63 @@ typedef word tTileOffset; /* A tile offset is a tile number times the sizeof(t
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
TILE_EMPTY = 0,
|
TILE_EMPTY = 0,
|
||||||
TILE_MUSHROOM1 = 1,
|
TILE_MUSHROOM1 = 1 * 4,
|
||||||
TILE_MUSHROOM2 = 2,
|
TILE_MUSHROOM2 = 2 * 4,
|
||||||
TILE_MUSHROOM3 = 3,
|
TILE_MUSHROOM3 = 3 * 4,
|
||||||
TILE_MUSHROOM4 = 4,
|
TILE_MUSHROOM4 = 4 * 4,
|
||||||
TILE_POISON_MUSHROOM1 = 9,
|
TILE_POISON_MUSHROOM1 = 9 * 4,
|
||||||
TILE_POISON_MUSHROOM2 = 10,
|
TILE_POISON_MUSHROOM2 = 10 * 4,
|
||||||
TILE_POISON_MUSHROOM3 = 11,
|
TILE_POISON_MUSHROOM3 = 11 * 4,
|
||||||
TILE_POISON_MUSHROOM4 = 12,
|
TILE_POISON_MUSHROOM4 = 12 * 4,
|
||||||
|
|
||||||
TILE_SYMBOL_C = 5,
|
TILE_SYMBOL_C = 5 * 4,
|
||||||
TILE_SYMBOL_P = 6,
|
TILE_SYMBOL_P = 6 * 4,
|
||||||
TILE_SYMBOL_DOT = 7,
|
TILE_SYMBOL_DOT = 7 * 4,
|
||||||
TILE_SYMBOL_COLON = 8,
|
TILE_SYMBOL_COLON = 8 * 4,
|
||||||
|
|
||||||
TILE_LETTER_A = 13,
|
TILE_LETTER_A = 13 * 4,
|
||||||
TILE_LETTER_B = 14,
|
TILE_LETTER_B = 14 * 4,
|
||||||
TILE_LETTER_C = 15,
|
TILE_LETTER_C = 15 * 4,
|
||||||
TILE_LETTER_D = 16,
|
TILE_LETTER_D = 16 * 4,
|
||||||
TILE_LETTER_E = 17,
|
TILE_LETTER_E = 17 * 4,
|
||||||
TILE_LETTER_F = 18,
|
TILE_LETTER_F = 18 * 4,
|
||||||
TILE_LETTER_G = 19,
|
TILE_LETTER_G = 19 * 4,
|
||||||
TILE_LETTER_H = 20,
|
TILE_LETTER_H = 20 * 4,
|
||||||
TILE_LETTER_I = 21,
|
TILE_LETTER_I = 21 * 4,
|
||||||
TILE_LETTER_J = 22,
|
TILE_LETTER_J = 22 * 4,
|
||||||
TILE_LETTER_K = 23,
|
TILE_LETTER_K = 23 * 4,
|
||||||
TILE_LETTER_L = 24,
|
TILE_LETTER_L = 24 * 4,
|
||||||
TILE_LETTER_M = 25,
|
TILE_LETTER_M = 25 * 4,
|
||||||
TILE_LETTER_N = 26,
|
TILE_LETTER_N = 26 * 4,
|
||||||
TILE_LETTER_O = 27,
|
TILE_LETTER_O = 27 * 4,
|
||||||
TILE_LETTER_P = 28,
|
TILE_LETTER_P = 28 * 4,
|
||||||
TILE_LETTER_Q = 29,
|
TILE_LETTER_Q = 29 * 4,
|
||||||
TILE_LETTER_R = 30,
|
TILE_LETTER_R = 30 * 4,
|
||||||
TILE_LETTER_S = 31,
|
TILE_LETTER_S = 31 * 4,
|
||||||
TILE_LETTER_T = 32,
|
TILE_LETTER_T = 32 * 4,
|
||||||
TILE_LETTER_U = 33,
|
TILE_LETTER_U = 33 * 4,
|
||||||
TILE_LETTER_V = 34,
|
TILE_LETTER_V = 34 * 4,
|
||||||
TILE_LETTER_W = 35,
|
TILE_LETTER_W = 35 * 4,
|
||||||
TILE_LETTER_X = 36,
|
TILE_LETTER_X = 36 * 4,
|
||||||
TILE_LETTER_Y = 37,
|
TILE_LETTER_Y = 37 * 4,
|
||||||
TILE_LETTER_Z = 38,
|
TILE_LETTER_Z = 38 * 4,
|
||||||
|
|
||||||
TILE_NUMBER_0 = 39,
|
TILE_NUMBER_0 = 39 * 4,
|
||||||
TILE_NUMBER_1 = 40,
|
TILE_NUMBER_1 = 40 * 4,
|
||||||
TILE_NUMBER_2 = 41,
|
TILE_NUMBER_2 = 41 * 4,
|
||||||
TILE_NUMBER_3 = 42,
|
TILE_NUMBER_3 = 42 * 4,
|
||||||
TILE_NUMBER_4 = 43,
|
TILE_NUMBER_4 = 43 * 4,
|
||||||
TILE_NUMBER_5 = 44,
|
TILE_NUMBER_5 = 44 * 4,
|
||||||
TILE_NUMBER_6 = 45,
|
TILE_NUMBER_6 = 45 * 4,
|
||||||
TILE_NUMBER_7 = 46,
|
TILE_NUMBER_7 = 46 * 4,
|
||||||
TILE_NUMBER_8 = 47,
|
TILE_NUMBER_8 = 47 * 4,
|
||||||
TILE_NUMBER_9 = 48,
|
TILE_NUMBER_9 = 48 * 4,
|
||||||
|
|
||||||
TILE_SOLID1 = 49,
|
TILE_SOLID1 = 49 * 4,
|
||||||
TILE_SOLID2 = 50,
|
TILE_SOLID2 = 50 * 4,
|
||||||
TILE_SOLID3 = 51,
|
TILE_SOLID3 = 51 * 4,
|
||||||
|
|
||||||
TILE_PLAYER = 52,
|
TILE_PLAYER = 52 * 4,
|
||||||
} tTileType;
|
} tTileType;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user