alpha works, but esc crashes

This commit is contained in:
Joshua Bell 2017-12-12 05:00:29 -08:00
parent b199b21f77
commit 5e28639a4e

View File

@ -404,21 +404,6 @@ handy_rts:
;;; ------------------------------------------------------------ ;;; ------------------------------------------------------------
.proc down_common
lda current_entry
inc a
cmp num_entries ; past the limit?
bcs handy_rts ; yes, just redraw
sta current_entry ; go to next
lda CV
cmp #bottom_row ; at the bottom?
bne handy_rts
inc page_start ; yes, adjust page and
lda #ASCII_ETB ; scroll screen down
jmp COUT ; implicit rts
.endproc
.proc on_down .proc on_down
jsr down_common jsr down_common
bra draw_current_line_inv bra draw_current_line_inv
@ -443,14 +428,12 @@ handy_rts:
;;; ------------------------------------------------------------ ;;; ------------------------------------------------------------
.proc on_alpha .proc on_alpha
loop: lda KBD loop: jsr down_common
lda KBD
and #$5F ; make ASCII and uppercase and #$5F ; make ASCII and uppercase
dec a
ldy #1 ldy #1
cmp (curr_ptr),y ; key < first char ? cmp (curr_ptr),y ; key < first char ?
bcc draw_current_line_inv beq draw_current_line_inv
jsr down_common
jsr draw_current_line jsr draw_current_line
bra loop bra loop
.endproc .endproc
@ -493,6 +476,25 @@ draw_current_line_inv:
;; fall through ;; fall through
.endproc .endproc
.proc down_common
lda current_entry
inc a
cmp num_entries ; past the limit?
bcc :+
pla ; yes - abort subroutine
pla
bra draw_current_line_inv
: sta current_entry ; go to next
lda CV
cmp #bottom_row ; at the bottom?
bne handy_rts
inc page_start ; yes, adjust page and
lda #ASCII_ETB ; scroll screen down
jmp COUT ; implicit rts
.endproc
;;; ------------------------------------------------------------ ;;; ------------------------------------------------------------
.proc on_escape .proc on_escape