mirror of
https://github.com/jeremysrand/BuGS.git
synced 2025-03-03 13:30:20 +00:00
Finish up work on the scorpion, adding support for shooting the scorpion. Some more cleanup of hard coded constants, moving them to globals.
This commit is contained in:
parent
68ecca75df
commit
ada774960b
BuGS
28
BuGS/game.s
28
BuGS/game.s
@ -599,21 +599,21 @@ drawAll entry
|
||||
|
||||
setupScreen entry
|
||||
short i,m
|
||||
lda $e0c035 ; Enable shadowing of SHR
|
||||
lda >SHADOW_REGISTER ; Enable shadowing of SHR
|
||||
and #$f7
|
||||
sta $e0c035
|
||||
sta >SHADOW_REGISTER
|
||||
|
||||
lda #$a1
|
||||
sta $e0c029 ; Enable SHR mode
|
||||
sta >NEW_VIDEO_REGISTER ; Enable SHR mode
|
||||
long i,m
|
||||
|
||||
sei
|
||||
phd
|
||||
tsc
|
||||
sta backupStack
|
||||
lda $e1c068 ; Direct Page and Stack in Bank 01/
|
||||
lda >STATE_REGISTER ; Direct Page and Stack in Bank 01/
|
||||
ora #$0030
|
||||
sta $e1c068
|
||||
sta >STATE_REGISTER
|
||||
ldx #$0000
|
||||
|
||||
lda #$9dfe
|
||||
@ -625,9 +625,9 @@ nextWord anop
|
||||
dey
|
||||
bpl nextWord
|
||||
|
||||
lda $e1c068
|
||||
lda >STATE_REGISTER
|
||||
and #$ffcf
|
||||
sta $e1c068
|
||||
sta >STATE_REGISTER
|
||||
lda backupStack
|
||||
tcs
|
||||
pld
|
||||
@ -640,9 +640,9 @@ nextWord anop
|
||||
checkKeyboard entry
|
||||
checkKey_loop2 anop
|
||||
short i,m
|
||||
lda $e0c000
|
||||
lda >KEYBOARD
|
||||
bpl checkKey_done
|
||||
sta $e0c010
|
||||
sta >KEYBOARD_STROBE
|
||||
long i,m
|
||||
and #$007f
|
||||
|
||||
@ -665,7 +665,7 @@ checkKey_loop2 anop
|
||||
|
||||
lda colourPalette
|
||||
inc a
|
||||
cmp #$000e
|
||||
cmp #NUM_COLOUR_PALETTES
|
||||
blt checkKey_skip
|
||||
lda #$0000
|
||||
checkKey_skip anop
|
||||
@ -694,9 +694,9 @@ checkKey_done anop
|
||||
waitForKey entry
|
||||
short i,m
|
||||
waitForKey_loop anop
|
||||
lda $e0c000
|
||||
lda >KEYBOARD
|
||||
bpl waitForKey_loop
|
||||
sta $e0c010
|
||||
sta >KEYBOARD_STROBE
|
||||
long i,m
|
||||
rtl
|
||||
|
||||
@ -705,10 +705,10 @@ waitForVbl entry
|
||||
short i,m
|
||||
vblLoop1 anop
|
||||
lda #$fe
|
||||
cmp $e0c019
|
||||
cmp >READ_VBL
|
||||
bpl vblLoop1
|
||||
vblLoop2 anop
|
||||
cmp $e0c019
|
||||
cmp >READ_VBL
|
||||
bmi vblLoop2
|
||||
long i,m
|
||||
rtl
|
||||
|
@ -158,7 +158,7 @@ updateScorpion entry
|
||||
|
||||
updateScorpion_cont anop
|
||||
cmp #SCORPION_STATE_EXPLODING
|
||||
bra updateScorpion_notExploding
|
||||
bne updateScorpion_notExploding
|
||||
jmp updateScorpion_exploding
|
||||
|
||||
updateScorpion_notExploding anop
|
||||
@ -243,6 +243,7 @@ updateScorpion_maybePoison anop
|
||||
|
||||
ora #TILE_POISON_A_MUSHROOM
|
||||
sta tiles+TILE_TYPE_OFFSET,x
|
||||
updateScorpion_done anop
|
||||
rtl
|
||||
|
||||
updateScorpion_offScreen anop
|
||||
@ -250,9 +251,15 @@ updateScorpion_offScreen anop
|
||||
rtl
|
||||
|
||||
updateScorpion_exploding anop
|
||||
; Write this code
|
||||
|
||||
updateScorpion_done anop
|
||||
lda scorpionSprite
|
||||
beq updateScorpion_explosionDone
|
||||
sec
|
||||
sbc #$4
|
||||
sta scorpionSprite
|
||||
rtl
|
||||
|
||||
updateScorpion_explosionDone anop
|
||||
stz scorpionState
|
||||
rtl
|
||||
|
||||
|
||||
@ -362,7 +369,18 @@ addScorpion_done anop
|
||||
|
||||
|
||||
shootScorpion entry
|
||||
; TODO - Write this code
|
||||
lda scorpionState
|
||||
beq shootScorpion_done
|
||||
cmp #SCORPION_STATE_EXPLODING
|
||||
beq shootScorpion_done
|
||||
|
||||
lda #SCORPION_STATE_EXPLODING
|
||||
sta scorpionState
|
||||
|
||||
lda #EXPLOSION_LAST_OFFSET
|
||||
sta scorpionSprite
|
||||
|
||||
shootScorpion_done anop
|
||||
rtl
|
||||
|
||||
|
||||
|
@ -118,6 +118,15 @@ TILE_BELOW_OFFSET gequ 8
|
||||
TILE_LEFT_OFFSET gequ 10
|
||||
TILE_RIGHT_OFFSET gequ 12
|
||||
|
||||
NUM_COLOUR_PALETTES gequ 14
|
||||
|
||||
KEYBOARD gequ $e0c000
|
||||
KEYBOARD_STROBE gequ $e0c010
|
||||
READ_VBL gequ $e0c019
|
||||
SHADOW_REGISTER gequ $e0c035
|
||||
NEW_VIDEO_REGISTER gequ $e0c029
|
||||
STATE_REGISTER gequ $e1c068
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
|
@ -11,9 +11,9 @@
|
||||
sei
|
||||
tsc
|
||||
sta backupStack
|
||||
lda $e1c068 ; Direct Page and Stack in Bank 01/
|
||||
lda >STATE_REGISTER ; Direct Page and Stack in Bank 01/
|
||||
ora #$0030
|
||||
sta $e1c068
|
||||
sta >STATE_REGISTER
|
||||
clc
|
||||
tya
|
||||
tcs
|
||||
@ -22,9 +22,9 @@
|
||||
|
||||
macro
|
||||
_spriteFooter
|
||||
lda $e1c068
|
||||
lda >STATE_REGISTER
|
||||
and #$ffcf
|
||||
sta $e1c068
|
||||
sta >STATE_REGISTER
|
||||
lda backupStack
|
||||
tcs
|
||||
cli
|
||||
|
Loading…
x
Reference in New Issue
Block a user