From f5d126e14af57a837b00e0e0b91def3f86b610e8 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sat, 29 Aug 2020 22:00:06 +0200 Subject: [PATCH] INS key now works in MEGA65 native mode --- src/kernal/screen_m65/mega65_chrout_screen.s | 11 +++++++++++ src/kernal/screen_m65/mega65_screen_tables_misc.s | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/kernal/screen_m65/mega65_chrout_screen.s b/src/kernal/screen_m65/mega65_chrout_screen.s index 837ccf9c..89cbfb06 100644 --- a/src/kernal/screen_m65/mega65_chrout_screen.s +++ b/src/kernal/screen_m65/mega65_chrout_screen.s @@ -52,6 +52,17 @@ m65_chrout_screen_literal: // entry point for m65_chrout_screen_quote jsr m65_helper_scrlpnt_to_screen + // Decrement number of chars waiting to be inserted + + lda INSRT + beq !+ + dec INSRT +!: + // Toggle quote flag if required + + txa + jsr screen_check_toggle_quote + // Store the new character in screen memory, restore .Z txa diff --git a/src/kernal/screen_m65/mega65_screen_tables_misc.s b/src/kernal/screen_m65/mega65_screen_tables_misc.s index 579d8b64..10c14d36 100644 --- a/src/kernal/screen_m65/mega65_screen_tables_misc.s +++ b/src/kernal/screen_m65/mega65_screen_tables_misc.s @@ -59,7 +59,6 @@ m65_chrout_screen_jumptable_codes: .byte KEY_CRSR_LEFT .byte KEY_CRSR_DOWN .byte KEY_CRSR_UP - .byte KEY_INS .byte KEY_TAB .byte KEY_LINE_FEED .byte KEY_UNDERLINE_ON @@ -72,6 +71,7 @@ m65_chrout_screen_jumptable_codes: __m65_chrout_screen_jumptable_quote_guard: + .byte KEY_INS .byte KEY_STOP .byte KEY_DEL .byte KEY_RETURN @@ -93,7 +93,6 @@ __m65_chrout_screen_jumptable_codes_end: m65_chrout_screen_CRSR_LEFT, m65_chrout_screen_CRSR_DOWN, m65_chrout_screen_CRSR_UP, - m65_chrout_screen_INS, m65_chrout_screen_TAB, m65_chrout_screen_LINE_FEED, m65_chrout_screen_UNDERLINE_ON, @@ -103,6 +102,7 @@ __m65_chrout_screen_jumptable_codes_end: m65_chrout_screen_TAB_SET_CLR, m65_chrout_screen_ESC, m65_chrout_screen_BELL, + m65_chrout_screen_INS, m65_chrout_screen_STOP, m65_chrout_screen_DEL, m65_chrout_screen_RETURN