mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-07 08:30:20 +00:00
tfv: get keyboard fully working
This commit is contained in:
parent
3a68c7d758
commit
43539e06ee
|
@ -64,6 +64,7 @@ draw_menu:
|
|||
cmp #'D'
|
||||
beq inc_menu
|
||||
cmp #' '
|
||||
beq menu_select
|
||||
cmp #13
|
||||
beq menu_select
|
||||
bne menu_nothing
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
||||
;============
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user