tfv: get keyboard fully working

This commit is contained in:
Vince Weaver 2020-12-30 18:47:00 -05:00
parent 3a68c7d758
commit 43539e06ee
4 changed files with 31 additions and 41 deletions

View File

@ -64,6 +64,7 @@ draw_menu:
cmp #'D'
beq inc_menu
cmp #' '
beq menu_select
cmp #13
beq menu_select
bne menu_nothing

View File

@ -107,9 +107,9 @@ actually_handle_keypress:
keypress:
and #$7f ; clear high bit
cmp #' '
beq check_sound ; make sure not to lose space
and #$df ; convert uppercase to lower case
cmp #'A'
bcc check_sound ; make sure not to lose space/ctrl
and #$df ; convert lowercase to uppercase
check_sound:
cmp #$14 ; control-T
@ -145,49 +145,34 @@ check_save:
; jmp done_keypress
check_left:
; cmp #'A'
; beq left_pressed
cmp #8 ; left key
bne check_right
left_pressed:
lda #'A'
jmp done_keypress
bne done_keypress
check_right:
; cmp #'D'
; beq right_pressed
cmp #$15 ; right key
bne check_up
right_pressed:
lda #'D'
jmp done_keypress
bne done_keypress
check_up:
; cmp #'W'
; beq up_pressed
cmp #$0B ; up key
bne check_down
up_pressed:
lda #'W'
jmp done_keypress
bne done_keypress
check_down:
; cmp #'S'
; beq down_pressed
cmp #$0A
cmp #$0A ; down key
bne check_return
down_pressed:
lda #'S'
jmp done_keypress
bne done_keypress
check_return:
; cmp #' '
; beq return_pressed
; cmp #13
; bne done_keypress
;return_pressed:
; lda #' '
jmp done_keypress
no_keypress:

View File

@ -78,6 +78,7 @@ flying_loop:
flying_keyboard:
jsr get_keypress ; get keypress ; 6
cmp #0
bne key_was_pressed
jmp check_done
@ -92,7 +93,7 @@ key_was_pressed:
;skipskip:
cmp #('W') ; 2
cmp #'W' ; 2
bne flying_check_down ; 3/2nt
;===========
@ -111,7 +112,7 @@ key_was_pressed:
jmp check_done
flying_check_down:
cmp #('S')
cmp #'S'
bne flying_check_left
;=============
@ -134,7 +135,7 @@ done_flying_down:
jmp check_done
flying_check_left:
cmp #('A')
cmp #'A'
bne flying_check_right
;=============
@ -157,7 +158,7 @@ turn_left:
jmp check_done
flying_check_right:
cmp #('D')
cmp #'D'
bne check_speedup
;==============
@ -178,7 +179,7 @@ turn_right:
jmp check_done
check_speedup:
cmp #('Z')
cmp #'Z'
bne check_speeddown
;=========
@ -192,7 +193,7 @@ skip_speedup:
jmp check_done
check_speeddown:
cmp #('X')
cmp #'X'
bne check_brake
;===========
@ -206,7 +207,7 @@ skip_speeddown:
jmp check_done
check_brake:
cmp #(' '+128)
cmp #' '
bne check_land
;============

View File

@ -3,15 +3,18 @@
;====================
print_help:
lda #$a0
jsr clear_top_a
bit SET_TEXT
lda #>(help_message)
sta OUTH
jsr normal_text
lda #<(help_message)
sta OUTL
lda #>(help_message)
sta OUTH
jsr move_and_print_list
@ -24,13 +27,13 @@ print_help:
rts
help_message:
.byte 1,18,"HELP"
.byte 3,4,"ARROWS - MOVE"
.byte 3,5,"W/A/S/D - MOVE"
.byte 3,6,"Z/X - SPEED UP / SLOW DOWN"
.byte 3,7,"SPACE - STOP"
.byte 3,8,"RETURN - LAND / ENTER / ACTION"
.byte 3,9,"I - INVENTORY"
.byte 3,10,"M - MAP"
.byte 3,11,"ESC - QUIT"
.byte 1,18,"HELP",0
.byte 3,4,"ARROWS - MOVE",0
.byte 3,5,"W/A/S/D - MOVE",0
.byte 3,6,"Z/X - SPEED UP / SLOW DOWN",0
.byte 3,7,"SPACE - STOP",0
.byte 3,8,"RETURN - LAND / ENTER / ACTION",0
.byte 3,9,"I - INVENTORY",0
.byte 3,10,"M - MAP",0
.byte 3,11,"ESC - QUIT",0
.byte $ff