mirror of
https://github.com/jeremysrand/BuGS.git
synced 2025-02-06 06:29:50 +00:00
Fix the order of colours for the different levels. Remove the debug code to add centipedes and change the colour palette. This is gone now because we now have the concept of starting a game and progressing through levels with different kinds of centipedes running at different speeds with different palette colours.
This commit is contained in:
parent
6c3b8398a8
commit
1f26b38784
388
BuGS/colour.s
388
BuGS/colour.s
@ -48,243 +48,253 @@ colour1 anop
|
||||
dc i2'$00f0' ; $d - 1101 - Green
|
||||
dc i2'$00f0' ; $e - 1110 - Green
|
||||
dc i2'$00f0' ; $f - 1111 - Green
|
||||
|
||||
|
||||
|
||||
colour2 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
|
||||
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
|
||||
|
||||
colour3 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
|
||||
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
|
||||
|
||||
colour4 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
dc i2'$0f0c' ; Light Violet
|
||||
|
||||
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
|
||||
|
||||
colour5 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
|
||||
|
||||
colour6 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
|
||||
|
||||
colour7 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
|
||||
|
||||
colour8 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
|
||||
|
||||
colour9 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
|
||||
|
||||
colour10 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
|
||||
|
||||
colour11 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
|
||||
|
||||
colour12 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$00fc' ; Light Tourquiose
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
dc i2'$0fc0' ; Orange
|
||||
anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
|
||||
|
||||
colour13 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$000f' ; Blue
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$0ff0' ; Yellow
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
dc i2'$00ff' ; Tourquiose
|
||||
|
||||
|
||||
|
||||
colour14 anop
|
||||
dc i2'$0000' ; Black
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f0f' ; Violet
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$0f00' ; Red
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$00f0' ; Green
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
dc i2'$0ffc' ; Off-white
|
||||
|
||||
|
||||
end
|
||||
|
40
BuGS/game.s
40
BuGS/game.s
@ -26,7 +26,7 @@ game start
|
||||
|
||||
jsl setupScreen
|
||||
|
||||
lda colourPalette
|
||||
lda #0
|
||||
jsl setColour
|
||||
|
||||
gameLoop anop
|
||||
@ -108,6 +108,7 @@ gameLoop anop
|
||||
jsl updateSpider
|
||||
jsl updateFlea
|
||||
jsl updateSegments
|
||||
jsl updateLevel
|
||||
jsl checkKeyboard
|
||||
|
||||
jsl waitForVbl
|
||||
@ -203,6 +204,11 @@ nextWord anop
|
||||
|
||||
rtl
|
||||
|
||||
startGame entry
|
||||
stz gameRunning
|
||||
stz numSegments
|
||||
jsl levelInit
|
||||
jmp levelStart
|
||||
|
||||
|
||||
checkKeyboard entry
|
||||
@ -243,21 +249,11 @@ checkKey_loop2 anop
|
||||
|
||||
cmp #'g'
|
||||
beq checkKey_game
|
||||
|
||||
cmp #'c'
|
||||
beq checkKey_centipede
|
||||
cmp #'c'
|
||||
beq checkKey_shootCentipede
|
||||
cmp #'C'
|
||||
beq checkKey_shootCentipede
|
||||
|
||||
lda colourPalette
|
||||
inc a
|
||||
cmp #NUM_COLOUR_PALETTES
|
||||
blt checkKey_skip
|
||||
lda #$0000
|
||||
checkKey_skip anop
|
||||
sta colourPalette
|
||||
jmp setColour
|
||||
|
||||
checkKey_done anop
|
||||
rtl
|
||||
|
||||
@ -303,22 +299,7 @@ checkKey_slow anop
|
||||
jmp setScorpionSpeed
|
||||
|
||||
checkKey_game anop
|
||||
jsl levelInit
|
||||
jmp levelStart
|
||||
|
||||
checkKey_centipede anop
|
||||
jsl addFastHeadSegment
|
||||
jsl addSlowHeadSegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jsl addBodySegment
|
||||
jmp addBodySegment
|
||||
jmp startGame
|
||||
|
||||
|
||||
waitForKey entry
|
||||
@ -347,7 +328,6 @@ vblLoop anop
|
||||
rtl
|
||||
|
||||
|
||||
colourPalette dc i2'0'
|
||||
shouldQuit dc i2'1'
|
||||
borderColour dc i2'0'
|
||||
|
||||
|
@ -39,8 +39,7 @@ SEGMENT_FACING_RIGHT equ 128
|
||||
|
||||
SEGMENT_MAX_POSITION_OFFSET equ TILE_PIXEL_WIDTH*SEGMENT_MAX_NUM*2-2
|
||||
|
||||
|
||||
|
||||
|
||||
drawSegments entry
|
||||
ldx #SEGMENT_MAX_OFFSET
|
||||
drawSegments_nextSegment anop
|
||||
@ -1527,106 +1526,6 @@ addBodySegment_slow anop
|
||||
sta segmentCurrentTile,y
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
addSlowHeadSegment entry
|
||||
lda numSegments
|
||||
asl a
|
||||
tax
|
||||
|
||||
lda #SEGMENT_STATE_HEAD
|
||||
sta segmentStates,x
|
||||
|
||||
lda #SEGMENT_SPEED_SLOW
|
||||
sta segmentSpeed,x
|
||||
|
||||
txa
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
sta segmentPosOffset,x
|
||||
tay
|
||||
|
||||
lda #SEGMENT_DIR_RIGHT
|
||||
sta segmentHorizontalDir,y
|
||||
|
||||
lda #SEGMENT_DIR_DOWN
|
||||
sta segmentVerticalDir,y
|
||||
|
||||
lda #SEGMENT_FACING_DOWN_LEFT
|
||||
sta segmentFacing,y
|
||||
|
||||
ldx #32
|
||||
lda tileScreenOffset,x
|
||||
sec
|
||||
sbc #SCREEN_BYTES_PER_ROW*7+2
|
||||
sta segmentScreenOffsets,y
|
||||
|
||||
txa
|
||||
sta segmentTileOffsetsUL,y
|
||||
sta segmentTileOffsetsLL,y
|
||||
sta segmentCurrentTile,y
|
||||
lda tileRight,x
|
||||
sta segmentTileOffsetsUR,y
|
||||
sta segmentTileOffsetsLR,y
|
||||
|
||||
inc numSegments
|
||||
lda #5
|
||||
sta segmentPixelOffset
|
||||
lda #1
|
||||
sta segmentsAddEnabled
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
addFastHeadSegment entry
|
||||
lda numSegments
|
||||
asl a
|
||||
tax
|
||||
|
||||
lda #SEGMENT_STATE_HEAD
|
||||
sta segmentStates,x
|
||||
|
||||
lda #SEGMENT_SPEED_FAST
|
||||
sta segmentSpeed,x
|
||||
|
||||
txa
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
sta segmentPosOffset,x
|
||||
tay
|
||||
|
||||
lda #SEGMENT_DIR_RIGHT
|
||||
sta segmentHorizontalDir,y
|
||||
|
||||
lda #SEGMENT_DIR_DOWN
|
||||
sta segmentVerticalDir,y
|
||||
|
||||
lda #SEGMENT_FACING_DOWN_LEFT
|
||||
sta segmentFacing,y
|
||||
|
||||
ldx #16
|
||||
lda tileScreenOffset,x
|
||||
sec
|
||||
sbc #SCREEN_BYTES_PER_ROW*8+2
|
||||
sta segmentScreenOffsets,y
|
||||
|
||||
txa
|
||||
sta segmentTileOffsetsUL,y
|
||||
sta segmentTileOffsetsLL,y
|
||||
sta segmentCurrentTile,y
|
||||
lda tileRight,x
|
||||
sta segmentTileOffsetsUR,y
|
||||
sta segmentTileOffsetsLR,y
|
||||
|
||||
inc numSegments
|
||||
lda #5
|
||||
sta segmentPixelOffset
|
||||
lda #1
|
||||
sta segmentsAddEnabled
|
||||
|
||||
rtl
|
||||
|
||||
|
||||
; This method is called with X register pointing to a structure which has the following info in it:
|
||||
@ -1816,7 +1715,6 @@ shootRandomSegment_hasSegments anop
|
||||
jmp shootSegment
|
||||
|
||||
|
||||
numSegments dc i2'0'
|
||||
segmentsAddEnabled dc i2'1'
|
||||
|
||||
; The method used to track a segments position and other details on the screen are a bit
|
||||
|
@ -136,6 +136,8 @@ BORDER_COLOUR_REGISTER gequ $e0c034
|
||||
STATE_REGISTER gequ $e1c068
|
||||
VERTICAL_COUNTER gequ $e0c02e
|
||||
|
||||
gameRunning dc i2'1'
|
||||
numSegments dc i2'0'
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
|
21
BuGS/level.s
21
BuGS/level.s
@ -13,6 +13,8 @@
|
||||
level start
|
||||
using globalData
|
||||
|
||||
NEXT_LEVEL_FRAME_COUNT equ 60
|
||||
|
||||
|
||||
levelInit entry
|
||||
stz centipedeLevelNum
|
||||
@ -44,6 +46,24 @@ levelStart_done anop
|
||||
rtl
|
||||
|
||||
|
||||
updateLevel entry
|
||||
lda gameRunning
|
||||
bne updateLevel_done
|
||||
lda nextLevelFrameCount
|
||||
beq updateLevel_checkSegments
|
||||
dec a
|
||||
sta nextLevelFrameCount
|
||||
bne updateLevel_done
|
||||
jsl levelNext
|
||||
jmp levelStart
|
||||
updateLevel_checkSegments anop
|
||||
lda numSegments
|
||||
bne updateLevel_done
|
||||
lda #NEXT_LEVEL_FRAME_COUNT
|
||||
sta nextLevelFrameCount
|
||||
updateLevel_done anop
|
||||
rtl
|
||||
|
||||
levelNext entry
|
||||
lda colourLevelNum
|
||||
inc a
|
||||
@ -69,6 +89,7 @@ levelNext_noWrap anop
|
||||
centipedeLevelNum dc i2'0'
|
||||
colourLevelNum dc i2'0'
|
||||
centipedeNum dc i2'0'
|
||||
nextLevelFrameCount dc i2'0'
|
||||
|
||||
; The level structure looks like this:
|
||||
; number of independent centipedes (2 bytes)
|
||||
|
Loading…
x
Reference in New Issue
Block a user