mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-05-31 21:41:32 +00:00
keen: sorta of working controls on mars again
This commit is contained in:
parent
5bd0d77d18
commit
358b05229e
|
@ -42,23 +42,9 @@ plenty_of_keens:
|
||||||
sta FRAMEL
|
sta FRAMEL
|
||||||
sta FRAMEH
|
sta FRAMEH
|
||||||
|
|
||||||
sta KEEN_WALKING
|
|
||||||
sta KEEN_JUMPING
|
|
||||||
; sta LEVEL_OVER
|
|
||||||
sta LASER_OUT
|
|
||||||
sta KEEN_XL
|
|
||||||
sta KEEN_FALLING
|
|
||||||
sta KEEN_SHOOTING
|
|
||||||
|
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
|
||||||
; lda #18
|
|
||||||
; sta KEEN_X
|
|
||||||
; lda #11
|
|
||||||
; sta KEEN_Y
|
|
||||||
|
|
||||||
; see if returning and it game over
|
; see if returning and it game over
|
||||||
|
|
||||||
lda LEVEL_OVER
|
lda LEVEL_OVER
|
||||||
|
@ -224,53 +210,33 @@ return_to_title:
|
||||||
;=========================
|
;=========================
|
||||||
; draw keen
|
; draw keen
|
||||||
;=========================
|
;=========================
|
||||||
; D32
|
|
||||||
draw_keen:
|
draw_keen:
|
||||||
|
|
||||||
lda MARS_Y
|
sec
|
||||||
and #1
|
lda MARS_TILEX
|
||||||
beq draw_keen_even
|
sbc TILEMAP_X
|
||||||
|
asl
|
||||||
draw_keen_odd:
|
|
||||||
|
|
||||||
; calculate address of MARS_Y/2
|
|
||||||
|
|
||||||
lda MARS_Y
|
|
||||||
and #$FE
|
|
||||||
tay
|
|
||||||
lda gr_offsets,Y
|
|
||||||
sta OUTL
|
|
||||||
lda gr_offsets+1,Y
|
|
||||||
clc
|
clc
|
||||||
adc DRAW_PAGE
|
adc MARS_X
|
||||||
sta OUTH
|
sta XPOS
|
||||||
|
|
||||||
ldy MARS_X
|
sec
|
||||||
|
lda MARS_TILEY
|
||||||
lda (OUTL),Y
|
sbc TILEMAP_Y
|
||||||
and #$0f
|
asl
|
||||||
ora #$D0
|
asl
|
||||||
sta (OUTL),Y
|
|
||||||
|
|
||||||
lda MARS_Y
|
|
||||||
clc
|
clc
|
||||||
adc #2
|
adc MARS_Y
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
and #$FE
|
ldx #<keen_sprite_tiny
|
||||||
tay
|
lda #>keen_sprite_tiny
|
||||||
lda gr_offsets,Y
|
stx INL
|
||||||
sta OUTL
|
sta INH
|
||||||
lda gr_offsets+1,Y
|
jsr put_sprite_crop
|
||||||
clc
|
|
||||||
adc DRAW_PAGE
|
|
||||||
sta OUTH
|
|
||||||
|
|
||||||
ldy MARS_X
|
rts ; tail call
|
||||||
|
|
||||||
lda #$23
|
|
||||||
sta (OUTL),Y
|
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -482,7 +448,7 @@ parts_zx02:
|
||||||
|
|
||||||
.include "mars_sfx.s"
|
.include "mars_sfx.s"
|
||||||
.include "longer_sound.s"
|
.include "longer_sound.s"
|
||||||
|
.include "gr_putsprite_crop.s"
|
||||||
|
|
||||||
mars_data_zx02:
|
mars_data_zx02:
|
||||||
.incbin "maps/mars_new.zx02"
|
.incbin "maps/mars_new.zx02"
|
||||||
|
@ -490,3 +456,9 @@ mars_data_zx02:
|
||||||
; dummy
|
; dummy
|
||||||
enemy_data_out:
|
enemy_data_out:
|
||||||
enemy_data_tilex:
|
enemy_data_tilex:
|
||||||
|
|
||||||
|
|
||||||
|
keen_sprite_tiny:
|
||||||
|
.byte 1,2
|
||||||
|
.byte $DA
|
||||||
|
.byte $23
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
MAX_TILE_Y = 57 ; 69-12
|
||||||
|
|
||||||
;==============================
|
;==============================
|
||||||
; Handle Keypress
|
; Handle Keypress
|
||||||
;==============================
|
;==============================
|
||||||
|
@ -200,12 +202,45 @@ check_up:
|
||||||
bne check_down
|
bne check_down
|
||||||
|
|
||||||
up_pressed:
|
up_pressed:
|
||||||
ldy MARS_X
|
lda MARS_TILEY
|
||||||
ldx MARS_Y
|
cmp #0 ; not needed
|
||||||
dex
|
beq move_keen_up
|
||||||
jsr check_valid_feet
|
|
||||||
bcc done_up_pressed
|
sec
|
||||||
dec MARS_Y
|
lda TILEMAP_Y
|
||||||
|
sbc MARS_TILEY
|
||||||
|
|
||||||
|
cmp #4
|
||||||
|
bcc scroll_keen_up
|
||||||
|
|
||||||
|
move_keen_up:
|
||||||
|
|
||||||
|
lda MARS_Y
|
||||||
|
beq keen_up_not2
|
||||||
|
move_keen_up2:
|
||||||
|
lda #0
|
||||||
|
sta MARS_Y
|
||||||
|
jmp done_check_up
|
||||||
|
|
||||||
|
keen_up_not2:
|
||||||
|
dec MARS_TILEY
|
||||||
|
lda #2
|
||||||
|
sta MARS_Y
|
||||||
|
jmp done_check_up
|
||||||
|
|
||||||
|
scroll_keen_up:
|
||||||
|
dec TILEMAP_Y
|
||||||
|
dec MARS_TILEY
|
||||||
|
jsr copy_tilemap_subset
|
||||||
|
|
||||||
|
|
||||||
|
; ldy MARS_X
|
||||||
|
; ldx MARS_Y
|
||||||
|
; dex
|
||||||
|
; jsr check_valid_feet
|
||||||
|
; bcc done_up_pressed
|
||||||
|
; dec MARS_Y
|
||||||
|
done_check_up:
|
||||||
done_up_pressed:
|
done_up_pressed:
|
||||||
jmp done_keypress
|
jmp done_keypress
|
||||||
|
|
||||||
|
@ -215,12 +250,41 @@ check_down:
|
||||||
cmp #$0A
|
cmp #$0A
|
||||||
bne check_space
|
bne check_space
|
||||||
down_pressed:
|
down_pressed:
|
||||||
ldy MARS_X
|
|
||||||
ldx MARS_Y
|
sec
|
||||||
inx
|
lda MARS_TILEY
|
||||||
jsr check_valid_feet
|
sbc TILEMAP_Y
|
||||||
bcc done_up_pressed
|
cmp #8
|
||||||
inc MARS_Y
|
bcc move_keen_down
|
||||||
|
|
||||||
|
lda TILEMAP_Y
|
||||||
|
cmp #MAX_TILE_Y
|
||||||
|
bcs move_keen_down
|
||||||
|
|
||||||
|
jmp scroll_keen_down
|
||||||
|
|
||||||
|
move_keen_down:
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta MARS_Y
|
||||||
|
inc MARS_TILEY
|
||||||
|
jmp done_check_down
|
||||||
|
|
||||||
|
scroll_keen_down:
|
||||||
|
lda #0
|
||||||
|
sta MARS_Y
|
||||||
|
inc TILEMAP_Y
|
||||||
|
inc MARS_TILEY
|
||||||
|
jsr copy_tilemap_subset
|
||||||
|
|
||||||
|
; ldy MARS_X
|
||||||
|
; ldx MARS_Y
|
||||||
|
; inx
|
||||||
|
; jsr check_valid_feet
|
||||||
|
; bcc done_up_pressed
|
||||||
|
; inc MARS_Y
|
||||||
|
done_check_down:
|
||||||
|
|
||||||
done_down_pressed:
|
done_down_pressed:
|
||||||
jmp done_keypress
|
jmp done_keypress
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user