keen: show parts

This commit is contained in:
Vince Weaver 2024-03-12 02:09:15 -04:00
parent 8f51042ed8
commit 29932afb40
5 changed files with 93 additions and 12 deletions

View File

@ -51,7 +51,7 @@ KEEN_MARS: keen_mars.o
ld65 -o KEEN_MARS keen_mars.o -C ../../linker_scripts/apple2_2000.inc
keen_mars.o: keen_mars.s zp.inc hardware.inc \
maps/mars_map.gr.zx02
maps/mars_map.gr.zx02 graphics/parts.gr.zx02
ca65 -o keen_mars.o keen_mars.s -l keen_mars.lst
####

View File

@ -10,7 +10,7 @@ PNG2GR = ../../../utils/gr-utils/png2gr
PNG2SPRITES = ../../../utils/gr-utils/png2sprites
HGR_SPRITE = ../../../utils/hgr-utils/hgr_make_sprite
all: keen1_title.hgr.zx02 level1_bg.gr.zx02
all: keen1_title.hgr.zx02 level1_bg.gr.zx02 parts.gr.zx02
####
@ -33,6 +33,14 @@ level1_bg.gr.zx02: level1_bg.gr
level1_bg.gr: level1_bg.png
$(PNG2GR) level1_bg.png level1_bg.gr
####
parts.gr.zx02: parts.gr
$(ZX02) parts.gr parts.gr.zx02
parts.gr: parts.png
$(PNG2GR) parts.png parts.gr
####

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -162,6 +162,8 @@ done_with_keen:
mars_zx02:
.incbin "maps/mars_map.gr.zx02"
parts_zx02:
.incbin "graphics/parts.gr.zx02"
.include "text_print.s"
.include "gr_offsets.s"
@ -448,11 +450,7 @@ check_space:
bne check_return
space_pressed:
; lda KEEN_JUMPING
; bne done_keypress ; don't jump if already jumping
inc LEVEL_OVER
jsr do_action
jmp done_keypress
@ -461,7 +459,9 @@ check_return:
bne check_escape
return_pressed:
inc LEVEL_OVER
;inc LEVEL_OVER
jsr do_action
done_return:
jmp no_keypress
@ -526,3 +526,76 @@ feet_invalid:
;====================================
; show parts screen
;====================================
do_parts:
lda #<parts_zx02
sta ZX0_src
lda #>parts_zx02
sta ZX0_src+1
lda #$c ; load to page $c00
jsr full_decomp
jsr gr_copy_to_current
jsr page_flip
bit TEXTGR
bit KEYRESET
parts_loop:
lda KEYPRESS
bpl parts_loop
done_parts:
bit KEYRESET
bit FULLGR
lda #<mars_zx02
sta ZX0_src
lda #>mars_zx02
sta ZX0_src+1
lda #$c ; load to page $c00
jsr full_decomp ; tail call
rts
do_action:
lda KEEN_X
cmp #15
bcc do_nothing ; blt
cmp #20
bcc maybe_ship
cmp #35
bcs maybe_exit
do_nothing:
; TODO: make sound?
rts
maybe_ship:
lda KEEN_Y
cmp #16
bcc do_nothing
cmp #24
bcs do_nothing
jmp do_parts ; tail call
maybe_exit:
inc LEVEL_OVER
rts

View File

@ -1,4 +1,4 @@
; For Help press ^H
; For Help press H
print_help:
bit KEYRESET ; clear keyboard
@ -31,9 +31,9 @@ help_text:
.byte 0, 5,"CONTROLS:",0
.byte 3, 6, "A OR <- : MOVE LEFT",0
.byte 3, 7, "D OR -> : MOVE RIGHT",0
.byte 3, 8, "W OR UP : ACTION, ENTER DOOR",0
.byte 3, 9, "SPACEBAR : JUMP",0
.byte 3,10, "RETURN : SHOOT LASER",0
.byte 3, 8, "P : POGO",0
.byte 3, 9, "SPACEBAR : ACTION/JUMP",0
.byte 3,10, "RETURN : LASER",0
.byte 3,12, "ESC : QUITS",0
.byte 3,13, "CONTROL-T : TOGGLE SOUND",0
.byte 3,14, "J : ENABLE JOYSTICK",0