mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-28 14:30:52 +00:00
sptires: stuck trying to erase fire
This commit is contained in:
parent
be2645069d
commit
c11eb1329c
@ -5,7 +5,7 @@
|
||||
; + implement shooting with space bar
|
||||
; + implement both blasts
|
||||
; + add meteor+explosion sprites
|
||||
|
||||
; + collision, just use SCRN rather than collision detection?
|
||||
|
||||
; Uses the 40x48d page1/page2 every-1-scanline pageflip mode
|
||||
|
||||
@ -223,6 +223,7 @@ display_loop:
|
||||
; 4550 -- VBLANK
|
||||
;-1821 -- draw ship (130*14)+1
|
||||
; -829 -- erase ship (100*8)+(14*2)+1
|
||||
; -278 -- erase fire
|
||||
; -31 -- move ship
|
||||
; -17 -- move fire
|
||||
; -306 -- draw fire (61*5)+1
|
||||
@ -230,7 +231,7 @@ display_loop:
|
||||
; -28 -- handle fire press
|
||||
; -8 -- loop
|
||||
;=======
|
||||
; 1449
|
||||
; 1171
|
||||
|
||||
;================
|
||||
; erase old ship
|
||||
@ -275,6 +276,16 @@ display_loop:
|
||||
; erase the fire
|
||||
;==========================
|
||||
|
||||
ldy FIRE_Y ; 3
|
||||
jsr erase_fire ; 6+49
|
||||
jsr erase_fire ; 6+49
|
||||
jsr erase_fire ; 6+49
|
||||
jsr erase_fire ; 6+49
|
||||
jsr erase_fire ; 6+49
|
||||
;====
|
||||
; 278
|
||||
|
||||
|
||||
|
||||
;==========================
|
||||
; move the fire
|
||||
@ -449,6 +460,7 @@ done_move:
|
||||
|
||||
;==========================
|
||||
; draw the fire
|
||||
;==========================
|
||||
|
||||
ldy FIRE_Y ; 3
|
||||
|
||||
@ -509,10 +521,11 @@ pad_time:
|
||||
|
||||
wait_loop:
|
||||
|
||||
; Try X=35 Y=8 cycles=1449
|
||||
; Try X=4 Y=45 cycles=1171
|
||||
|
||||
ldy #8 ; 2
|
||||
loop1: ldx #35 ; 2
|
||||
|
||||
ldy #45 ; 2
|
||||
loop1: ldx #4 ; 2
|
||||
loop2: dex ; 2
|
||||
bne loop2 ; 2nt/3
|
||||
dey ; 2
|
||||
@ -537,7 +550,7 @@ wait_loop_end:
|
||||
|
||||
clc ; 2
|
||||
lda YPOS ; 3
|
||||
adc #$4 ; 2
|
||||
adc #10 ; 2
|
||||
sta FIRE_Y ; 3
|
||||
|
||||
lda #7 ; 2
|
||||
@ -832,6 +845,45 @@ fire_line:
|
||||
;=======
|
||||
; 9
|
||||
|
||||
|
||||
;========================
|
||||
; Erase a line of a fire
|
||||
;========================
|
||||
; Y = y value
|
||||
; 17+31+11 = 49
|
||||
erase_fire:
|
||||
sty TEMPY ; 3
|
||||
|
||||
lda y_lookup_l,Y ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,Y ; 4
|
||||
sta OUTH ; 3
|
||||
;=======
|
||||
; 17
|
||||
|
||||
; ldx in smc should already be
|
||||
; set to value from last draw?
|
||||
|
||||
; COL0
|
||||
ldy #6 ; 2
|
||||
lda (OUTL),Y ; 5+
|
||||
sta fz_smc+1 ; 5
|
||||
iny ; 2
|
||||
lda (OUTL),Y ; 5+
|
||||
sta fz_smc+2 ; 5
|
||||
lda #0 ; 2
|
||||
fz_smc:
|
||||
sta $c00,Y ; 5
|
||||
;=======
|
||||
; 31
|
||||
|
||||
ldy TEMPY ; 3
|
||||
iny ; 2
|
||||
rts ; 6
|
||||
;=======
|
||||
; 11
|
||||
|
||||
|
||||
.include "gr_simple_clear.s"
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user