From 60259531d5ffc25d8e0d130b9d2227b02c37204d Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Sat, 29 Jan 2022 14:24:55 -0500 Subject: [PATCH] DECARM - auto repeat support. defaults to auto-repeat on. n.b. - mame does not currently set the repeat bit in the keymod reg so it's not well tested. --- vt100.key.S | 11 ++++++++++- vt100.main.S | 3 ++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/vt100.key.S b/vt100.key.S index 1f5ce51..955f14d 100644 --- a/vt100.key.S +++ b/vt100.key.S @@ -30,13 +30,22 @@ keypress ent debug keypress lda KBD bmi :key - rts +:rts rts :key and #$7f sta key lda KEYMOD sta mod sta KEYSTROBE + +* if DECARM is clear, skip repeat characters. + bit DECARM + bpl :arm + bit #kmRepeat + bne :rts +:arm + + bit #kmOption!kmCommand bne command diff --git a/vt100.main.S b/vt100.main.S index 3be2c85..ef514bd 100644 --- a/vt100.main.S +++ b/vt100.main.S @@ -106,7 +106,8 @@ init sta DECBM lda #$80 * sta LOCAL - sta DECANM + sta DECANM ; ANSI (vt100) on + sta DECARM ; key repeat on * lda #st_vt52 lda #st_vt100