mirror of https://github.com/jeremysrand/BuGS.git
Change the code to race the beam down the screen, redrawing the dirty game rows as it goes.
This commit is contained in:
parent
b07221c363
commit
22a22d3533
559
BuGS/game.s
559
BuGS/game.s
|
@ -102,25 +102,32 @@ gameDone anop
|
|||
|
||||
|
||||
drawDirtyGameTiles entry
|
||||
ldy numDirtyGameTiles
|
||||
beq dirtyTileLoopDone
|
||||
dirtyTileLoop anop
|
||||
dey
|
||||
dey
|
||||
phy
|
||||
|
||||
ldx dirtyGameTiles,y
|
||||
stz tileDirty,x
|
||||
ldy tileOffset,x
|
||||
lda tileType,x
|
||||
|
||||
jsl drawTile
|
||||
|
||||
ply
|
||||
bne dirtyTileLoop
|
||||
dirtyTileLoopDone anop
|
||||
stz numDirtyGameTiles
|
||||
rtl
|
||||
_drawDirtyGameRow 0
|
||||
_drawDirtyGameRow 1
|
||||
_drawDirtyGameRow 2
|
||||
_drawDirtyGameRow 3
|
||||
_drawDirtyGameRow 4
|
||||
_drawDirtyGameRow 5
|
||||
_drawDirtyGameRow 6
|
||||
_drawDirtyGameRow 7
|
||||
_drawDirtyGameRow 8
|
||||
_drawDirtyGameRow 9
|
||||
_drawDirtyGameRow 10
|
||||
_drawDirtyGameRow 11
|
||||
_drawDirtyGameRow 12
|
||||
_drawDirtyGameRow 13
|
||||
_drawDirtyGameRow 14
|
||||
_drawDirtyGameRow 15
|
||||
_drawDirtyGameRow 16
|
||||
_drawDirtyGameRow 17
|
||||
_drawDirtyGameRow 18
|
||||
_drawDirtyGameRow 19
|
||||
_drawDirtyGameRow 20
|
||||
_drawDirtyGameRow 21
|
||||
_drawDirtyGameRow 22
|
||||
_drawDirtyGameRow 23
|
||||
_drawDirtyGameRow 24
|
||||
|
||||
|
||||
drawDirtyNonGameTiles entry
|
||||
|
@ -133,7 +140,7 @@ dirtyTileLoop2 anop
|
|||
|
||||
ldx dirtyNonGameTiles,y
|
||||
stz tileDirty,x
|
||||
ldy tileOffset,x
|
||||
ldy tileScreenOffset,x
|
||||
lda tileType,x
|
||||
|
||||
jsl drawTile
|
||||
|
@ -156,500 +163,7 @@ drawTile entry
|
|||
|
||||
jumpInst jmp >mushroom1
|
||||
nop
|
||||
|
||||
|
||||
drawAll entry
|
||||
ldy #$2003
|
||||
jsl mushroom1
|
||||
|
||||
ldy #$200b
|
||||
jsl mushroom2
|
||||
|
||||
ldy #$2013
|
||||
jsl mushroom3
|
||||
|
||||
ldy #$201b
|
||||
jsl mushroom4
|
||||
|
||||
ldy #$2023
|
||||
jsl poisonedMushroom1
|
||||
|
||||
ldy #$202b
|
||||
jsl poisonedMushroom2
|
||||
|
||||
ldy #$2033
|
||||
jsl poisonedMushroom3
|
||||
|
||||
ldy #$203b
|
||||
jsl poisonedMushroom4
|
||||
|
||||
ldy #$2043
|
||||
jsl letterA
|
||||
|
||||
ldy #$204b
|
||||
jsl letterB
|
||||
|
||||
ldy #$2053
|
||||
jsl letterC
|
||||
|
||||
ldy #$205b
|
||||
jsl letterD
|
||||
|
||||
ldy #$2063
|
||||
jsl letterE
|
||||
|
||||
ldy #$206b
|
||||
jsl letterF
|
||||
|
||||
ldy #$2073
|
||||
jsl letterG
|
||||
|
||||
ldy #$207b
|
||||
jsl letterH
|
||||
|
||||
ldy #$2083
|
||||
jsl letterI
|
||||
|
||||
ldy #$208b
|
||||
jsl letterJ
|
||||
|
||||
ldy #$2093
|
||||
jsl letterK
|
||||
|
||||
ldy #$209b
|
||||
jsl letterL
|
||||
|
||||
ldy #$2a03
|
||||
jsl letterM
|
||||
|
||||
ldy #$2a0b
|
||||
jsl letterN
|
||||
|
||||
ldy #$2a13
|
||||
jsl letterO
|
||||
|
||||
ldy #$2a1b
|
||||
jsl letterP
|
||||
|
||||
ldy #$2a23
|
||||
jsl letterQ
|
||||
|
||||
ldy #$2a2b
|
||||
jsl letterR
|
||||
|
||||
ldy #$2a33
|
||||
jsl letterS
|
||||
|
||||
ldy #$2a3b
|
||||
jsl letterT
|
||||
|
||||
ldy #$2a43
|
||||
jsl letterU
|
||||
|
||||
ldy #$2a4b
|
||||
jsl letterV
|
||||
|
||||
ldy #$2a53
|
||||
jsl letterW
|
||||
|
||||
ldy #$2a5b
|
||||
jsl letterX
|
||||
|
||||
ldy #$2a63
|
||||
jsl letterY
|
||||
|
||||
ldy #$2a6b
|
||||
jsl letterZ
|
||||
|
||||
ldy #$2a73
|
||||
jsl symbolC
|
||||
|
||||
ldy #$2a7b
|
||||
jsl symbolP
|
||||
|
||||
ldy #$2a83
|
||||
jsl symbolDot
|
||||
|
||||
ldy #$2a8b
|
||||
jsl symbolColon
|
||||
|
||||
ldy #$2a93
|
||||
jsl solid0
|
||||
|
||||
ldy #$2a9b
|
||||
jsl solid1
|
||||
|
||||
ldy #$3403
|
||||
jsl solid2
|
||||
|
||||
ldy #$340b
|
||||
jsl solid3
|
||||
|
||||
ldy #$3413
|
||||
jsl number0
|
||||
|
||||
ldy #$341b
|
||||
jsl number1
|
||||
|
||||
ldy #$3423
|
||||
jsl number2
|
||||
|
||||
ldy #$342b
|
||||
jsl number3
|
||||
|
||||
ldy #$3433
|
||||
jsl number4
|
||||
|
||||
ldy #$343b
|
||||
jsl number5
|
||||
|
||||
ldy #$3443
|
||||
jsl number6
|
||||
|
||||
ldy #$344b
|
||||
jsl number7
|
||||
|
||||
ldy #$3453
|
||||
jsl number8
|
||||
|
||||
ldy #$345b
|
||||
jsl number9
|
||||
|
||||
ldy #$345f
|
||||
jsl flea1
|
||||
|
||||
ldy #$3467
|
||||
jsl flea2
|
||||
|
||||
ldy #$346f
|
||||
jsl flea3
|
||||
|
||||
ldy #$3477
|
||||
jsl flea4
|
||||
|
||||
ldy #$347e
|
||||
jsl score300
|
||||
|
||||
ldy #$3486
|
||||
jsl score600
|
||||
|
||||
ldy #$348e
|
||||
jsl score900
|
||||
|
||||
ldy #$3e04
|
||||
jsl leftScorpion1
|
||||
|
||||
ldy #$3e14
|
||||
jsl leftScorpion1s
|
||||
|
||||
ldy #$3e24
|
||||
jsl leftScorpion2
|
||||
|
||||
ldy #$3e34
|
||||
jsl leftScorpion2s
|
||||
|
||||
ldy #$3e44
|
||||
jsl leftScorpion3
|
||||
|
||||
ldy #$3e54
|
||||
jsl leftScorpion3s
|
||||
|
||||
ldy #$3e64
|
||||
jsl leftScorpion4
|
||||
|
||||
ldy #$3e74
|
||||
jsl leftScorpion4s
|
||||
|
||||
ldy #$4804
|
||||
jsl rightScorpion1
|
||||
|
||||
ldy #$4814
|
||||
jsl rightScorpion1s
|
||||
|
||||
ldy #$4824
|
||||
jsl rightScorpion2
|
||||
|
||||
ldy #$4834
|
||||
jsl rightScorpion2s
|
||||
|
||||
ldy #$4844
|
||||
jsl rightScorpion3
|
||||
|
||||
ldy #$4854
|
||||
jsl rightScorpion3s
|
||||
|
||||
ldy #$4864
|
||||
jsl rightScorpion4
|
||||
|
||||
ldy #$4874
|
||||
jsl rightScorpion4s
|
||||
|
||||
ldy #$5204
|
||||
jsl spider1
|
||||
|
||||
ldy #$5214
|
||||
jsl spider1s
|
||||
|
||||
ldy #$5224
|
||||
jsl spider2
|
||||
|
||||
ldy #$5234
|
||||
jsl spider2s
|
||||
|
||||
ldy #$5244
|
||||
jsl spider3
|
||||
|
||||
ldy #$5254
|
||||
jsl spider3s
|
||||
|
||||
ldy #$5264
|
||||
jsl spider4
|
||||
|
||||
ldy #$5274
|
||||
jsl spider4s
|
||||
|
||||
ldy #$5284
|
||||
jsl spider5
|
||||
|
||||
ldy #$5294
|
||||
jsl spider5s
|
||||
|
||||
ldy #$5c04
|
||||
jsl spider6
|
||||
|
||||
ldy #$5c14
|
||||
jsl spider6s
|
||||
|
||||
ldy #$5c24
|
||||
jsl spider7
|
||||
|
||||
ldy #$5c34
|
||||
jsl spider7s
|
||||
|
||||
ldy #$5c40
|
||||
jsl explosion1
|
||||
|
||||
ldy #$5c48
|
||||
jsl explosion2
|
||||
|
||||
ldy #$5c50
|
||||
jsl explosion3
|
||||
|
||||
ldy #$5c58
|
||||
jsl explosion4
|
||||
|
||||
ldy #$5c60
|
||||
jsl explosion5
|
||||
|
||||
ldy #$5c68
|
||||
jsl explosion6
|
||||
|
||||
ldy #$5c70
|
||||
jsl leftHead1
|
||||
|
||||
ldy #$5c78
|
||||
jsl leftHead1s
|
||||
|
||||
ldy #$5c80
|
||||
jsl leftHead2
|
||||
|
||||
ldy #$5c88
|
||||
jsl leftHead2s
|
||||
|
||||
ldy #$5c90
|
||||
jsl leftHead3
|
||||
|
||||
ldy #$5c98
|
||||
jsl leftHead3s
|
||||
|
||||
ldy #$6600
|
||||
jsl leftHead4
|
||||
|
||||
ldy #$6608
|
||||
jsl leftHead4s
|
||||
|
||||
ldy #$6610
|
||||
jsl leftHead5
|
||||
|
||||
ldy #$6618
|
||||
jsl leftHead5s
|
||||
|
||||
ldy #$6620
|
||||
jsl leftBody1
|
||||
|
||||
ldy #$6628
|
||||
jsl leftBody1s
|
||||
|
||||
ldy #$6630
|
||||
jsl leftBody2
|
||||
|
||||
ldy #$6638
|
||||
jsl leftBody2s
|
||||
|
||||
ldy #$6640
|
||||
jsl leftBody3
|
||||
|
||||
ldy #$6648
|
||||
jsl leftBody3s
|
||||
|
||||
ldy #$6650
|
||||
jsl leftBody4
|
||||
|
||||
ldy #$6658
|
||||
jsl leftBody4s
|
||||
|
||||
ldy #$6660
|
||||
jsl leftBody5
|
||||
|
||||
ldy #$6668
|
||||
jsl leftBody5s
|
||||
|
||||
ldy #$6670
|
||||
jsl rightHead1
|
||||
|
||||
ldy #$6678
|
||||
jsl rightHead1s
|
||||
|
||||
ldy #$6680
|
||||
jsl rightHead2
|
||||
|
||||
ldy #$6688
|
||||
jsl rightHead2s
|
||||
|
||||
ldy #$6690
|
||||
jsl rightHead3
|
||||
|
||||
ldy #$6698
|
||||
jsl rightHead3s
|
||||
|
||||
ldy #$7000
|
||||
jsl rightHead4
|
||||
|
||||
ldy #$7008
|
||||
jsl rightHead4s
|
||||
|
||||
ldy #$7010
|
||||
jsl rightHead5
|
||||
|
||||
ldy #$7018
|
||||
jsl rightHead5s
|
||||
|
||||
ldy #$7020
|
||||
jsl rightBody1
|
||||
|
||||
ldy #$7028
|
||||
jsl rightBody1s
|
||||
|
||||
ldy #$7030
|
||||
jsl rightBody2
|
||||
|
||||
ldy #$7038
|
||||
jsl rightBody2s
|
||||
|
||||
ldy #$7040
|
||||
jsl rightBody3
|
||||
|
||||
ldy #$7048
|
||||
jsl rightBody3s
|
||||
|
||||
ldy #$7050
|
||||
jsl rightBody4
|
||||
|
||||
ldy #$7058
|
||||
jsl rightBody4s
|
||||
|
||||
ldy #$7060
|
||||
jsl rightBody5
|
||||
|
||||
ldy #$7068
|
||||
jsl rightBody5s
|
||||
|
||||
ldy #$7070
|
||||
jsl leftDownHead1
|
||||
|
||||
ldy #$7078
|
||||
jsl leftDownHead1s
|
||||
|
||||
ldy #$7080
|
||||
jsl leftDownHead2
|
||||
|
||||
ldy #$7088
|
||||
jsl leftDownHead2s
|
||||
|
||||
ldy #$7090
|
||||
jsl leftDownBody1
|
||||
|
||||
ldy #$7098
|
||||
jsl leftDownBody1s
|
||||
|
||||
ldy #$7a00
|
||||
jsl leftDownBody2
|
||||
|
||||
ldy #$7a08
|
||||
jsl leftDownBody2s
|
||||
|
||||
ldy #$7a10
|
||||
jsl rightDownHead1
|
||||
|
||||
ldy #$7a18
|
||||
jsl rightDownHead1s
|
||||
|
||||
ldy #$7a20
|
||||
jsl rightDownHead2
|
||||
|
||||
ldy #$7a28
|
||||
jsl rightDownHead2s
|
||||
|
||||
ldy #$7a30
|
||||
jsl rightDownBody1
|
||||
|
||||
ldy #$7a38
|
||||
jsl rightDownBody1s
|
||||
|
||||
ldy #$7a40
|
||||
jsl rightDownBody2
|
||||
|
||||
ldy #$7a48
|
||||
jsl rightDownBody2s
|
||||
|
||||
ldy #$7a50
|
||||
jsl downHead1
|
||||
|
||||
ldy #$7a58
|
||||
jsl downHead2
|
||||
|
||||
ldy #$7a60
|
||||
jsl downHead3
|
||||
|
||||
ldy #$7a68
|
||||
jsl downBody1
|
||||
|
||||
ldy #$7a70
|
||||
jsl downBody2
|
||||
|
||||
ldy #$7a78
|
||||
jsl downBody3
|
||||
|
||||
ldy #$7a80
|
||||
jsl drawShip
|
||||
|
||||
ldy #$7a88
|
||||
jsl drawShipShift
|
||||
|
||||
ldy #$7a90
|
||||
jsl drawHalfShot
|
||||
|
||||
ldy #$7a98
|
||||
jsl drawHalfShotShift
|
||||
|
||||
ldy #$8400
|
||||
jsl drawShot
|
||||
|
||||
ldy #$8408
|
||||
jsl drawShotShift
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
setupScreen entry
|
||||
short i,m
|
||||
|
@ -667,7 +181,7 @@ setupScreen entry
|
|||
sei
|
||||
phd
|
||||
tsc
|
||||
sta backupStack
|
||||
sta >backupStack
|
||||
lda >STATE_REGISTER ; Direct Page and Stack in Bank 01/
|
||||
ora #$0030
|
||||
sta >STATE_REGISTER
|
||||
|
@ -685,7 +199,7 @@ nextWord anop
|
|||
lda >STATE_REGISTER
|
||||
and #$ffcf
|
||||
sta >STATE_REGISTER
|
||||
lda backupStack
|
||||
lda >backupStack
|
||||
tcs
|
||||
pld
|
||||
cli
|
||||
|
@ -814,17 +328,14 @@ waitForVbl entry
|
|||
lda >BORDER_COLOUR_REGISTER
|
||||
and #$f0
|
||||
sta >BORDER_COLOUR_REGISTER
|
||||
vblLoop1 anop
|
||||
lda #$fe
|
||||
cmp >READ_VBL
|
||||
bpl vblLoop1
|
||||
vblLoop2 anop
|
||||
cmp >READ_VBL
|
||||
bmi vblLoop2
|
||||
lda >BORDER_COLOUR_REGISTER
|
||||
ora #$0f
|
||||
sta >BORDER_COLOUR_REGISTER
|
||||
long i,m
|
||||
vblLoop anop
|
||||
lda >VERTICAL_COUNTER ; load the counter value
|
||||
and #$80ff ; mask out the VBL bits
|
||||
asl a ; shift the word around
|
||||
adc #0 ; move MSB -> LSB
|
||||
cmp #$100
|
||||
bge vblLoop
|
||||
rtl
|
||||
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ addFlea entry
|
|||
sta fleaTileOffsets+2
|
||||
sta fleaTileOffsets+6
|
||||
|
||||
lda tileOffset,x
|
||||
lda tileScreenOffset,x
|
||||
sec
|
||||
sbc #6*SCREEN_BYTES_PER_ROW+3
|
||||
sta fleaScreenOffset
|
||||
|
|
|
@ -253,7 +253,7 @@ addScorpion_doit anop
|
|||
ldx scorpionLeftTileOffset,y
|
||||
stx scorpionTileOffsets
|
||||
|
||||
lda tileOffset,x
|
||||
lda tileScreenOffset,x
|
||||
dec a
|
||||
sta scorpionScreenOffset
|
||||
|
||||
|
@ -282,7 +282,7 @@ addScorpion_right anop
|
|||
sta scorpionTileOffsets+4
|
||||
|
||||
tax
|
||||
lda tileOffset,x
|
||||
lda tileScreenOffset,x
|
||||
dec a
|
||||
dec a
|
||||
sta scorpionScreenOffset
|
||||
|
|
|
@ -161,7 +161,7 @@ addBodySegment entry
|
|||
lda #SEGMENT_FACING_LEFT
|
||||
sta segmentFacing,x
|
||||
|
||||
lda tileOffset,x
|
||||
lda tileScreenOffset,x
|
||||
sec
|
||||
sbc #3
|
||||
sta segmentScreenOffsets,x
|
||||
|
@ -198,7 +198,7 @@ addHeadSegment entry
|
|||
lda #SEGMENT_FACING_LEFT
|
||||
sta segmentFacing,x
|
||||
|
||||
lda tileOffset,x
|
||||
lda tileScreenOffset,x
|
||||
sec
|
||||
sbc #3
|
||||
sta segmentScreenOffsets,x
|
||||
|
|
|
@ -563,7 +563,7 @@ addSpider_left anop
|
|||
sta spiderTileOffsets+4
|
||||
|
||||
tax
|
||||
lda tileOffset,x
|
||||
lda tileScreenOffset,x
|
||||
sec
|
||||
sbc #SPIDER_RHS_STARTING_SCREEN_OFFSET
|
||||
sta spiderScreenOffset
|
||||
|
@ -597,7 +597,7 @@ addSpider_right anop
|
|||
sta spiderTileOffsets+4
|
||||
|
||||
tax
|
||||
lda tileOffset,x
|
||||
lda tileScreenOffset,x
|
||||
sec
|
||||
sbc #SPIDER_LHS_STARTING_SCREEN_OFFSET
|
||||
sta spiderScreenOffset
|
||||
|
|
|
@ -7,6 +7,67 @@
|
|||
;
|
||||
|
||||
|
||||
macro
|
||||
_drawDirtyGameRow &rowNum
|
||||
trace on
|
||||
short i,m
|
||||
lda >BORDER_COLOUR_REGISTER
|
||||
and #$f0
|
||||
sta >BORDER_COLOUR_REGISTER
|
||||
long i,m
|
||||
_drawDirtyGameRow_wait&rowNum anop
|
||||
; This code loads into the accumulator the line currently being drawn to the
|
||||
; screen by HW. It allows code to race just behind the beam and redraw the
|
||||
; screen.
|
||||
;
|
||||
; Based on code found here:
|
||||
; https://iigs.dreamhosters.com/gte/blitter.html
|
||||
;
|
||||
; Unlike that code, it does not change the baseline of the values. According
|
||||
; to GS technote 39, this number ranges from $fa to $1ff. Scan line zero is
|
||||
; $100 and scan line 199 is $1c7. We will race the beam by comparing to these
|
||||
; offset numbers.
|
||||
;
|
||||
; Also according to that technote, it looks like these numbers are different
|
||||
; in PAL mode. TODO - Do I need something here to handle PAL correctly?
|
||||
lda >VERTICAL_COUNTER ; load the counter value
|
||||
and #$80ff ; mask out the VBL bits
|
||||
asl a ; shift the word around
|
||||
adc #0 ; move MSB -> LSB
|
||||
|
||||
lcla &scanLineNum
|
||||
&scanLineNum seta &rowNum
|
||||
&scanLineNum seta &scanLineNum*8
|
||||
&scanLineNum seta &scanLineNum+264
|
||||
cmp #&scanLineNum
|
||||
blt _drawDirtyGameRow_wait&rowNum
|
||||
|
||||
short i,m
|
||||
lda >BORDER_COLOUR_REGISTER
|
||||
ora #$0f
|
||||
sta >BORDER_COLOUR_REGISTER
|
||||
long i,m
|
||||
|
||||
lcla &tileOffset
|
||||
&tileOffset seta &rowNum*50
|
||||
lcla &lastTileOffset
|
||||
&lastTileOffset seta 50+&tileOffset
|
||||
|
||||
.drawDirtyGameRowLoop
|
||||
lda tileDirty+&tileOffset
|
||||
beq _drawDirtyGameRow_skip&tileOffset
|
||||
stz tileDirty+&tileOffset
|
||||
ldy tileScreenOffset+&tileOffset
|
||||
lda tileType+&tileOffset
|
||||
jsl drawTile
|
||||
|
||||
_drawDirtyGameRow_skip&tileOffset anop
|
||||
&tileOffset seta &tileOffset+2
|
||||
aif &tileOffset<&lastTileOffset,.drawDirtyGameRowLoop
|
||||
trace off
|
||||
|
||||
mend
|
||||
|
||||
; This macro uses the Y register as an index into the tile offsets. This is
|
||||
; needed for segments because each segment has their own dirty tile offsets.
|
||||
macro
|
||||
|
|
|
@ -122,6 +122,7 @@ SHADOW_REGISTER gequ $e0c035
|
|||
NEW_VIDEO_REGISTER gequ $e0c029
|
||||
BORDER_COLOUR_REGISTER gequ $e0c034
|
||||
STATE_REGISTER gequ $e1c068
|
||||
VERTICAL_COUNTER gequ $e0c02e
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy explosions.macros
|
||||
keep explosions
|
||||
|
||||
explosions start
|
||||
explosions start spriteSeg
|
||||
using globalData
|
||||
|
||||
explosion1 entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy fleas.macros
|
||||
keep fleas
|
||||
|
||||
fleas start
|
||||
fleas start spriteSeg
|
||||
using globalData
|
||||
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy letters.macros
|
||||
keep letters
|
||||
|
||||
letters start
|
||||
letters start spriteSeg
|
||||
using globalData
|
||||
|
||||
letterA entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy mushrooms.macros
|
||||
keep mushrooms
|
||||
|
||||
mushrooms start
|
||||
mushrooms start spriteSeg
|
||||
using globalData
|
||||
|
||||
mushroom1 entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy numbers.macros
|
||||
keep numbers
|
||||
|
||||
numbers start
|
||||
numbers start spriteSeg
|
||||
using globalData
|
||||
|
||||
number0 entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy scores.macros
|
||||
keep scores
|
||||
|
||||
scores start
|
||||
scores start spriteSeg
|
||||
using globalData
|
||||
|
||||
score300 entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy scorpions.macros
|
||||
keep scorpions
|
||||
|
||||
scorpions start
|
||||
scorpions start spriteSeg
|
||||
using globalData
|
||||
|
||||
leftScorpion1 entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy segments.macros
|
||||
keep segments
|
||||
|
||||
segments start
|
||||
segments start spriteSeg
|
||||
using globalData
|
||||
|
||||
; IMPORTANT!!!! - It is critical that the X register is preserved in all of these
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy ship.macros
|
||||
keep ship
|
||||
|
||||
ship start
|
||||
ship start spriteSeg
|
||||
using globalData
|
||||
|
||||
drawShip entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy shot.macros
|
||||
keep shot
|
||||
|
||||
shot start
|
||||
shot start spriteSeg
|
||||
using globalData
|
||||
|
||||
drawHalfShot entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy solid.macros
|
||||
keep solid
|
||||
|
||||
solid start
|
||||
solid start spriteSeg
|
||||
using globalData
|
||||
|
||||
solid0 entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy spiders.macros
|
||||
keep spiders
|
||||
|
||||
spiders start
|
||||
spiders start spriteSeg
|
||||
using globalData
|
||||
|
||||
spider1 entry
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
_spriteHeader
|
||||
sei ; 2
|
||||
tsc ; 2
|
||||
sta backupStack ; 5
|
||||
sta >backupStack ; 5
|
||||
lda >STATE_REGISTER ; 6 - Direct Page and Stack in Bank 01/
|
||||
ora #$0030 ; 3
|
||||
sta >STATE_REGISTER ; 6
|
||||
|
@ -25,7 +25,7 @@
|
|||
lda >STATE_REGISTER ; 6
|
||||
and #$ffcf ; 3
|
||||
sta >STATE_REGISTER ; 6
|
||||
lda backupStack ; 5
|
||||
lda >backupStack ; 5
|
||||
tcs ; 2
|
||||
cli ; 2
|
||||
mend ; 24
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
mcopy symbols.macros
|
||||
keep symbols
|
||||
|
||||
symbols start
|
||||
symbols start spriteSeg
|
||||
using globalData
|
||||
|
||||
symbolC entry
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
/* Globals */
|
||||
|
||||
word tileDirty[TOTAL_NUM_TILES];
|
||||
word tileOffset[TOTAL_NUM_TILES];
|
||||
word tileScreenOffset[TOTAL_NUM_TILES];
|
||||
tTileType tileType[TOTAL_NUM_TILES];
|
||||
tTileOffset tileAbove[TOTAL_NUM_TILES];
|
||||
tTileOffset tileBelow[TOTAL_NUM_TILES];
|
||||
|
@ -88,7 +88,7 @@ void initTiles(void)
|
|||
for (tileX = 0; tileX < LHS_NUM_TILES_WIDE; tileX++)
|
||||
{
|
||||
tileDirty[lhsTileIndex] = 0;
|
||||
tileOffset[lhsTileIndex] = lastOffset;
|
||||
tileScreenOffset[lhsTileIndex] = lastOffset;
|
||||
tileType[lhsTileIndex] = TILE_EMPTY;
|
||||
|
||||
if (tileY == 0)
|
||||
|
@ -119,7 +119,7 @@ void initTiles(void)
|
|||
for (tileX = 0; tileX < GAME_NUM_TILES_WIDE; tileX++)
|
||||
{
|
||||
tileDirty[tileIndex] = 0;
|
||||
tileOffset[tileIndex] = lastOffset;
|
||||
tileScreenOffset[tileIndex] = lastOffset;
|
||||
tileType[tileIndex] = TILE_EMPTY;
|
||||
|
||||
if (tileY == 0)
|
||||
|
@ -150,7 +150,7 @@ void initTiles(void)
|
|||
for (tileX = 0; tileX < RHS_NUM_TILES_WIDE; tileX++)
|
||||
{
|
||||
tileDirty[rhsTileIndex] = 0;
|
||||
tileOffset[rhsTileIndex] = lastOffset;
|
||||
tileScreenOffset[rhsTileIndex] = lastOffset;
|
||||
tileType[rhsTileIndex] = TILE_EMPTY;
|
||||
|
||||
if (tileY == 0)
|
||||
|
|
|
@ -106,7 +106,7 @@ typedef enum {
|
|||
/* Globals */
|
||||
|
||||
extern word tileDirty[TOTAL_NUM_TILES];
|
||||
extern word tileOffset[TOTAL_NUM_TILES];
|
||||
extern word tileScreenOffset[TOTAL_NUM_TILES];
|
||||
extern tTileType tileType[TOTAL_NUM_TILES];
|
||||
extern tTileOffset tileAbove[TOTAL_NUM_TILES];
|
||||
extern tTileOffset tileBelow[TOTAL_NUM_TILES];
|
||||
|
|
Loading…
Reference in New Issue