From 383fb380629e500b1182055cf759a91130498c40 Mon Sep 17 00:00:00 2001 From: sorgelig Date: Tue, 1 Aug 2017 05:45:42 +0800 Subject: [PATCH] ao486: temporary workaround for kbd, system clock is 90mhz. --- input.c | 2 +- main.c | 2 -- user_io.c | 2 +- x86.c | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/input.c b/input.c index c0aebb9..e1d7ad1 100644 --- a/input.c +++ b/input.c @@ -728,7 +728,7 @@ static void input_cb(struct input_event *ev, int dev) static char keys[6] = { 0,0,0,0,0,0 }; // repeat events won't be processed - if (ev->type == EV_KEY && ev->value > 1) return; + if (ev->type == EV_KEY && (ev->value > 1 && !is_x86_core())) return; int map_skip = (ev->type == EV_KEY && ev->code == 57 && mapping_dev >= 0 && mapping_type==1); int cancel = (ev->type == EV_KEY && ev->code == 1); diff --git a/main.c b/main.c index 756edfe..f63020c 100644 --- a/main.c +++ b/main.c @@ -86,8 +86,6 @@ void core_init() int main(int argc, char *argv[]) { - uint8_t mmc_ok = 0; - fpga_io_init(); fpga_gpo_write(0); diff --git a/user_io.c b/user_io.c index 5db3419..dbe7bf2 100644 --- a/user_io.c +++ b/user_io.c @@ -1672,7 +1672,7 @@ void user_io_kbd(uint16_t key, int press) } else { - send_keycode(code); + send_keycode((press == 2) ? code & ~EXT : code); } } } diff --git a/x86.c b/x86.c index 625b37a..3f60ec5 100644 --- a/x86.c +++ b/x86.c @@ -35,7 +35,7 @@ #include "user_io.h" #include "file_io.h" -#define ALT_CPU_CPU_FREQ 30000000u +#define ALT_CPU_CPU_FREQ 90000000u #define FLOPPY_BASE 0x8800 #define HDD_BASE 0x8840