mirror of
https://github.com/deater/tb1.git
synced 2024-06-06 14:29:37 +00:00
snes: missile firing is getting there
at least when you press 'A' a missile appears
This commit is contained in:
parent
8234ea622d
commit
72ea76cfa9
|
@ -1,2 +1,2 @@
|
||||||
.word $ad43 ; Complement of checksum
|
.word $a2bd ; Complement of checksum
|
||||||
.word $52bc ; Unsigned 16-bit sum of ROM
|
.word $5d42 ; Unsigned 16-bit sum of ROM
|
||||||
|
|
|
@ -218,7 +218,7 @@ level_1:
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; Setup Sprite
|
; Setup Sprites
|
||||||
;==========================
|
;==========================
|
||||||
|
|
||||||
; Load Palette for our sprite
|
; Load Palette for our sprite
|
||||||
|
@ -249,24 +249,30 @@ level_1:
|
||||||
|
|
||||||
jsr svmw_load_vram
|
jsr svmw_load_vram
|
||||||
|
|
||||||
|
;=============================
|
||||||
; Init sprites to be offscreen
|
; Init sprites to be offscreen
|
||||||
|
|
||||||
jsr svmw_move_sprites_offscreen
|
jsr svmw_move_sprites_offscreen
|
||||||
|
|
||||||
|
;=============================
|
||||||
; Set our sprite active
|
; Set our sprite active
|
||||||
; assume 544 byte sprite table in $0200
|
; assume 544 byte sprite table in $0200
|
||||||
|
|
||||||
sep #$20 ; mem/A = 8 bit
|
sep #$20 ; mem/A = 8 bit
|
||||||
.a8
|
.a8
|
||||||
|
|
||||||
|
; setup ship sprite
|
||||||
|
|
||||||
|
|
||||||
|
; Xxxxxxxxx yyyyyyy cccccccc vhoo pppN
|
||||||
|
;
|
||||||
|
|
||||||
lda #104
|
lda #104
|
||||||
sta $0200 ; set sprite 0 X to 0
|
sta $0200 ; set sprite 0 X to 0
|
||||||
|
|
||||||
lda #192 ; set sprite 0 Y to 100
|
lda #192 ; set sprite 0 Y to 100
|
||||||
sta $0201
|
sta $0201
|
||||||
|
|
||||||
; Xxxxxxxxx yyyyyyy cccccccc vhoo pppN
|
|
||||||
;
|
|
||||||
|
|
||||||
stz $0202 ; set sprite 0
|
stz $0202 ; set sprite 0
|
||||||
|
|
||||||
; 0010 0000
|
; 0010 0000
|
||||||
|
@ -275,15 +281,33 @@ level_1:
|
||||||
lda #$20
|
lda #$20
|
||||||
sta $0203
|
sta $0203
|
||||||
|
|
||||||
|
; set sprites 1,2,3 to be missiles
|
||||||
|
|
||||||
|
lda #100
|
||||||
|
sta $0204
|
||||||
|
sta $0205
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lda #12 ; sprite location 13
|
||||||
|
sta $0206
|
||||||
|
sta $020a
|
||||||
|
sta $020e
|
||||||
|
|
||||||
|
lda #$20
|
||||||
|
sta $0207
|
||||||
|
sta $020b
|
||||||
|
sta $020f
|
||||||
|
|
||||||
; X high bit = 0 for sprite 0
|
; X high bit = 0 for sprite 0
|
||||||
; sprite size = 0 (smaller)
|
; sprite size = 1 (larger)
|
||||||
|
|
||||||
lda #%01010110
|
lda #%01010110
|
||||||
sta $0400
|
sta $0400
|
||||||
|
|
||||||
; Enable sprite
|
; Enable sprite
|
||||||
; sssnnbbb
|
; sssnnbbb
|
||||||
; sss = size (16x16 and 32x32 in our case)
|
; sss = size (011 = 16x16 and 32x32)
|
||||||
; nn = name
|
; nn = name
|
||||||
; bbb = base selection
|
; bbb = base selection
|
||||||
lda #%01100000
|
lda #%01100000
|
||||||
|
@ -1923,16 +1947,21 @@ fire_missiles:
|
||||||
; lda #$1 ; set missile[y].out=1
|
; lda #$1 ; set missile[y].out=1
|
||||||
; sta (MISSILE_PL),Y
|
; sta (MISSILE_PL),Y
|
||||||
; iny ; point to missile[y].x
|
; iny ; point to missile[y].x
|
||||||
; lda #$3
|
lda #8
|
||||||
; clc
|
clc
|
||||||
; adc shipx ; missile[y].x=shipx+3
|
adc shipx ; missile[y].x=shipx+3
|
||||||
; sta (MISSILE_PL),Y
|
sta $0204
|
||||||
; iny ; point to missile[y].y
|
; iny ; point to missile[y].y
|
||||||
; lda #$10 ; set to 16
|
lda #190 ; set to 16
|
||||||
; sta (MISSILE_PL),Y
|
sta $0205
|
||||||
|
|
||||||
|
lda $0400
|
||||||
|
and #~$4
|
||||||
|
sta $0400
|
||||||
|
|
||||||
; jmp done_fire_missiles
|
; jmp done_fire_missiles
|
||||||
|
|
||||||
end_fire_loop:
|
;end_fire_loop:
|
||||||
; iny
|
; iny
|
||||||
; iny
|
; iny
|
||||||
; iny
|
; iny
|
||||||
|
@ -1941,7 +1970,7 @@ end_fire_loop:
|
||||||
; bne fire_missiles ; if so, loop
|
; bne fire_missiles ; if so, loop
|
||||||
done_fire_missiles:
|
done_fire_missiles:
|
||||||
|
|
||||||
; jmp move_ship
|
jmp move_ship
|
||||||
|
|
||||||
game_unknown:
|
game_unknown:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user