mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-10-03 03:54:50 +00:00
sprites: more elaborate ending
This commit is contained in:
parent
dbd86272c4
commit
875ff52f5e
@ -1,8 +1,8 @@
|
|||||||
; TODO
|
; TODO
|
||||||
; + merge with spacebars code
|
; + merge with spacebars code
|
||||||
; + make flame move (write to the sprite table directly) frame count+xor?
|
|
||||||
; + end of game, fly to the right
|
; + end of game, fly to the right
|
||||||
; + implement both blasts
|
; + make harder as shoot more
|
||||||
|
; + end level with enough hits?
|
||||||
|
|
||||||
|
|
||||||
; Uses the 40x48d page1/page2 every-1-scanline pageflip mode
|
; Uses the 40x48d page1/page2 every-1-scanline pageflip mode
|
||||||
@ -30,7 +30,7 @@ ASTEROID_Y = $E4
|
|||||||
ASTEROID_SUBX = $E5
|
ASTEROID_SUBX = $E5
|
||||||
ASTEROID_EXPLODE= $E6
|
ASTEROID_EXPLODE= $E6
|
||||||
DRAW_PAGE = $EE
|
DRAW_PAGE = $EE
|
||||||
|
XPOS = $EF
|
||||||
|
|
||||||
FIRE_X = $F0
|
FIRE_X = $F0
|
||||||
FIRE_Y = $F1
|
FIRE_Y = $F1
|
||||||
@ -117,6 +117,7 @@ start_sprites:
|
|||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
sta ASTEROID_SPEED
|
sta ASTEROID_SPEED
|
||||||
|
sta XPOS
|
||||||
|
|
||||||
;=============================
|
;=============================
|
||||||
; Load graphic page0
|
; Load graphic page0
|
||||||
@ -148,9 +149,6 @@ start_sprites:
|
|||||||
bit SET_GR ; 4
|
bit SET_GR ; 4
|
||||||
bit FULLGR ; 4
|
bit FULLGR ; 4
|
||||||
|
|
||||||
; jsr wait_until_keypressed
|
|
||||||
|
|
||||||
|
|
||||||
;=============================
|
;=============================
|
||||||
; Load graphic page1
|
; Load graphic page1
|
||||||
|
|
||||||
@ -178,9 +176,6 @@ start_sprites:
|
|||||||
; ; GR part
|
; ; GR part
|
||||||
bit PAGE0
|
bit PAGE0
|
||||||
|
|
||||||
; jsr wait_until_keypressed
|
|
||||||
|
|
||||||
|
|
||||||
;==============================
|
;==============================
|
||||||
; setup graphics for vapor lock
|
; setup graphics for vapor lock
|
||||||
;==============================
|
;==============================
|
||||||
@ -258,9 +253,10 @@ display_loop:
|
|||||||
; -51 -- exploding asteroid
|
; -51 -- exploding asteroid
|
||||||
; -47 -- sparkle
|
; -47 -- sparkle
|
||||||
; -36 -- blast (18+18)
|
; -36 -- blast (18+18)
|
||||||
; -8 -- loop
|
; -25 -- loop
|
||||||
|
; -3 -- alignment
|
||||||
;=======
|
;=======
|
||||||
; 202
|
; 182
|
||||||
; -40 nop sled
|
; -40 nop sled
|
||||||
|
|
||||||
|
|
||||||
@ -571,8 +567,9 @@ ship_collision:
|
|||||||
lda #1 ; 2
|
lda #1 ; 2
|
||||||
sta ASTEROID_EXPLODE ; 3
|
sta ASTEROID_EXPLODE ; 3
|
||||||
|
|
||||||
lda #20 ; 2
|
lda #3 ; 2
|
||||||
sta LEVEL_DONE ; 3
|
sta LEVEL_DONE ; 3
|
||||||
|
nop
|
||||||
|
|
||||||
jmp ship_collision_done ; 3
|
jmp ship_collision_done ; 3
|
||||||
;====
|
;====
|
||||||
@ -954,13 +951,16 @@ pad_time:
|
|||||||
;============================
|
;============================
|
||||||
|
|
||||||
wait_loop:
|
wait_loop:
|
||||||
; Try X=30 Y=1 cycles=157 R2
|
|
||||||
|
|
||||||
nop
|
; Try X=12 Y=2 cycles=133R2
|
||||||
|
|
||||||
|
; Try X=8 Y=3 cycles=139R3
|
||||||
|
|
||||||
|
lda TEMP
|
||||||
|
|
||||||
|
|
||||||
ldy #1 ; 2
|
ldy #3 ; 2
|
||||||
loop1: ldx #30 ; 2
|
loop1: ldx #8 ; 2
|
||||||
loop2: dex ; 2
|
loop2: dex ; 2
|
||||||
bne loop2 ; 2nt/3
|
bne loop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
@ -1011,6 +1011,7 @@ really_no_firing:
|
|||||||
sta FIRE ; 3
|
sta FIRE ; 3
|
||||||
|
|
||||||
|
|
||||||
|
alignment:
|
||||||
jmp blah ; 3
|
jmp blah ; 3
|
||||||
.align $100
|
.align $100
|
||||||
|
|
||||||
@ -1068,9 +1069,31 @@ asteroid_done_done:
|
|||||||
;=========================
|
;=========================
|
||||||
; check for end
|
; check for end
|
||||||
;=========================
|
;=========================
|
||||||
|
; not done = 6+3 = 9 + [16] = 25
|
||||||
|
; done = who cares
|
||||||
|
; dying = 6+4+12+3 = 25
|
||||||
|
|
||||||
lda LEVEL_DONE ; 3
|
lda LEVEL_DONE ; 3
|
||||||
bne done_level ; 2
|
beq final_loop_short ; 3
|
||||||
|
|
||||||
|
;-1
|
||||||
|
cmp #1 ;2
|
||||||
|
beq done_level ;3
|
||||||
|
|
||||||
|
;-1
|
||||||
|
dec LEVEL_DONE ; 5
|
||||||
|
inc XPOS ; 5
|
||||||
|
jmp final_loop ; 3
|
||||||
|
;=====
|
||||||
|
; 12
|
||||||
|
|
||||||
|
final_loop_short:
|
||||||
|
inc TEMP
|
||||||
|
inc TEMP
|
||||||
|
lda TEMP
|
||||||
|
lda TEMP
|
||||||
|
final_loop:
|
||||||
|
|
||||||
jmp display_loop ; 3
|
jmp display_loop ; 3
|
||||||
|
|
||||||
done_level:
|
done_level:
|
||||||
@ -1106,7 +1129,7 @@ handle_keypress:
|
|||||||
cmp #27+$80 ; 2
|
cmp #27+$80 ; 2
|
||||||
bne key_not_escape ; 3
|
bne key_not_escape ; 3
|
||||||
|
|
||||||
lda #1
|
lda #32
|
||||||
sta LEVEL_DONE
|
sta LEVEL_DONE
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
Loading…
Reference in New Issue
Block a user