From 96583536b2c76b34132dcd6d8175c77164922606 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sun, 6 Mar 2016 20:10:26 +0000 Subject: [PATCH] dragon: add devtty, bring in line with current link set --- Kernel/platform-dragon/Makefile | 4 ++-- Kernel/platform-dragon/devtty.c | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Kernel/platform-dragon/Makefile b/Kernel/platform-dragon/Makefile index bc85be11..f97dd765 100644 --- a/Kernel/platform-dragon/Makefile +++ b/Kernel/platform-dragon/Makefile @@ -41,7 +41,7 @@ image: d64_1.rom drivewire.o devdw.o \ ../devio.o ../filesys.o ../process.o ../inode.o ../syscall_fs.o \ ../syscall_proc.o ../syscall_other.o ../mm.o ../swap.o ../simple.o \ - ../tty.o ../devsys.o ../usermem.o ../syscall_fs2.o ../syscall_exec16.o \ - devlpr.o devtty.o libc.o ../vt.o + ../tty.o ../devsys.o ../usermem.o ../syscall_fs2.o ../syscall_fs3.o \ + ../syscall_exec16.o devlpr.o devtty.o libc.o ../vt.o ../tools/decbdragon < ../fuzix.bin d64_1.decb d64_2.rom cart1.rom cart2.rom dd if=d64_1.decb of=d64_1.rom bs=1024 seek=1 conv=notrunc diff --git a/Kernel/platform-dragon/devtty.c b/Kernel/platform-dragon/devtty.c index 675ae195..95da5d42 100644 --- a/Kernel/platform-dragon/devtty.c +++ b/Kernel/platform-dragon/devtty.c @@ -103,6 +103,9 @@ static uint8_t rbit[8] = { 0x7F, }; +struct vt_repeat keyrepeat; +static uint8_t kbd_timer; + /* Row inputs: multiplexed with the joystick */ static volatile uint8_t *pia_row = (uint8_t *)0xFF00; /* Columns for scanning: multiplexed with the printer port */ @@ -211,8 +214,15 @@ void platform_interrupt(void) *pia_col; newkey = 0; keyproc(); - if (keysdown < 3 && newkey) - keydecode(); + if (keysdown && keysdown < 3) { + if (newkey) { + keydecode(); + kbd_timer = keyrepeat.first; + } else if (! --kbd_timer) { + keydecode(); + kbd_timer = keyrepeat.continual; + } + } timer_interrupt(); } } -- 2.34.1