From 0bff8199e4a800d5ea1bd422dcf06643d6daf008 Mon Sep 17 00:00:00 2001 From: Aleksa Vučković Date: Mon, 10 Jan 2022 22:15:15 +0100 Subject: include/setup.sh --- include/06.keyboard/deo1 | 3 + include/06.keyboard/deo10 | 18 ++++ include/06.keyboard/deo11 | 5 ++ include/06.keyboard/deo12 | 11 +++ include/06.keyboard/deo13 | 11 +++ include/06.keyboard/deo14 | 3 + include/06.keyboard/deo15 | 3 + include/06.keyboard/deo16 | 4 + include/06.keyboard/deo17 | 8 ++ include/06.keyboard/deo18 | 23 +++++ include/06.keyboard/deo19 | 22 +++++ include/06.keyboard/deo2 | 7 ++ include/06.keyboard/deo20 | 7 ++ include/06.keyboard/deo3 | 7 ++ include/06.keyboard/deo4 | 6 ++ include/06.keyboard/deo5 | 7 ++ include/06.keyboard/deo6 | 5 ++ include/06.keyboard/deo7 | 6 ++ include/06.keyboard/deo8 | 3 + include/06.keyboard/deo9 | 4 + include/06.keyboard/keyboard.c | 182 +++++++++++++++++++++++++++++++++++++++ include/06.keyboard/keyboard00.c | 3 - include/06.keyboard/keyboard01.c | 7 -- include/06.keyboard/keyboard02.c | 7 -- include/06.keyboard/keyboard03.c | 6 -- include/06.keyboard/keyboard04.c | 6 -- include/06.keyboard/keyboard05.c | 5 -- include/06.keyboard/keyboard06.c | 6 -- include/06.keyboard/keyboard07.c | 8 -- include/06.keyboard/keyboard08.c | 18 ---- include/06.keyboard/keyboard09.c | 5 -- include/06.keyboard/keyboard10.c | 11 --- include/06.keyboard/keyboard11.c | 11 --- include/06.keyboard/keyboard12.c | 48 ----------- 34 files changed, 345 insertions(+), 141 deletions(-) create mode 100644 include/06.keyboard/deo1 create mode 100644 include/06.keyboard/deo10 create mode 100644 include/06.keyboard/deo11 create mode 100644 include/06.keyboard/deo12 create mode 100644 include/06.keyboard/deo13 create mode 100644 include/06.keyboard/deo14 create mode 100644 include/06.keyboard/deo15 create mode 100644 include/06.keyboard/deo16 create mode 100644 include/06.keyboard/deo17 create mode 100644 include/06.keyboard/deo18 create mode 100644 include/06.keyboard/deo19 create mode 100644 include/06.keyboard/deo2 create mode 100644 include/06.keyboard/deo20 create mode 100644 include/06.keyboard/deo3 create mode 100644 include/06.keyboard/deo4 create mode 100644 include/06.keyboard/deo5 create mode 100644 include/06.keyboard/deo6 create mode 100644 include/06.keyboard/deo7 create mode 100644 include/06.keyboard/deo8 create mode 100644 include/06.keyboard/deo9 create mode 100644 include/06.keyboard/keyboard.c delete mode 100644 include/06.keyboard/keyboard00.c delete mode 100644 include/06.keyboard/keyboard01.c delete mode 100644 include/06.keyboard/keyboard02.c delete mode 100644 include/06.keyboard/keyboard03.c delete mode 100644 include/06.keyboard/keyboard04.c delete mode 100644 include/06.keyboard/keyboard05.c delete mode 100644 include/06.keyboard/keyboard06.c delete mode 100644 include/06.keyboard/keyboard07.c delete mode 100644 include/06.keyboard/keyboard08.c delete mode 100644 include/06.keyboard/keyboard09.c delete mode 100644 include/06.keyboard/keyboard10.c delete mode 100644 include/06.keyboard/keyboard11.c delete mode 100644 include/06.keyboard/keyboard12.c (limited to 'include/06.keyboard') diff --git a/include/06.keyboard/deo1 b/include/06.keyboard/deo1 new file mode 100644 index 0000000..13fd550 --- /dev/null +++ b/include/06.keyboard/deo1 @@ -0,0 +1,3 @@ +#include +#include +#include diff --git a/include/06.keyboard/deo10 b/include/06.keyboard/deo10 new file mode 100644 index 0000000..e5d558c --- /dev/null +++ b/include/06.keyboard/deo10 @@ -0,0 +1,18 @@ +void enter() +{ + printf("\n"); + if(buffer_index>0) + { + tty(buffer[buffer_current]); + buffer_size[buffer_current]=buffer_index; + if(buffer_current==buffer_all) buffer_current=(++buffer_all); + else + { + for(size_t i=0;i0) + { + buffer_size[buffer_current]=buffer_index; + for(size_t i=0;i +#include +#include + +#define BUFFER_SIZE 200 +#define BUFFER_LOG 200 +char buffer[BUFFER_LOG][BUFFER_SIZE]; +size_t buffer_size[BUFFER_LOG]; +size_t buffer_current=0; +size_t buffer_all=0; +size_t buffer_index=0; + +#define PIC1_COMMAND_PORT 0x20 +#define PIC1_DATA_PORT 0x21 +#define PIC2_COMMAND_PORT 0xA0 +#define PIC2_DATA_PORT 0xA1 +// IO Ports for Keyboard +#define KEYBOARD_DATA_PORT 0x60 +#define KEYBOARD_STATUS_PORT 0x64 + +void previous_field(void); +void tty(char *buffer); +void prompt(void); +void clear(); +void us_en(char keymap[]); +void us_en_shift(char keymap[]); + +char charcode[256]; +char shift_charcode[256]; +bool ispressed[128]; +#define lshift 0x2A +#define rshift 0x36 +#define lctrl 0x1D +#define rctrl 0x1D + +void init_keyboard() +{ + us_en(charcode); + us_en_shift(shift_charcode); +} + +void deletelast() +{ + previous_field(); + printf(" "); + previous_field(); +} + +void backspace() +{ + if(buffer_index<=0) return; + + deletelast(); + buffer[buffer_current][--buffer_index]='\0'; + return; +} + +void enter() +{ + printf("\n"); + if(buffer_index>0) + { + tty(buffer[buffer_current]); + buffer_size[buffer_current]=buffer_index; + if(buffer_current==buffer_all) buffer_current=(++buffer_all); + else + { + for(size_t i=0;i0) + { + buffer_size[buffer_current]=buffer_index; + for(size_t i=0;i -#include -#include diff --git a/include/06.keyboard/keyboard01.c b/include/06.keyboard/keyboard01.c deleted file mode 100644 index 50d7c07..0000000 --- a/include/06.keyboard/keyboard01.c +++ /dev/null @@ -1,7 +0,0 @@ -#define BUFFER_SIZE 200 -#define BUFFER_LOG 200 -char buffer[BUFFER_LOG][BUFFER_SIZE]; -size_t buffer_size[BUFFER_LOG]; -size_t buffer_current=0; -size_t buffer_all=0; -size_t buffer_index=0; diff --git a/include/06.keyboard/keyboard02.c b/include/06.keyboard/keyboard02.c deleted file mode 100644 index 239c874..0000000 --- a/include/06.keyboard/keyboard02.c +++ /dev/null @@ -1,7 +0,0 @@ -#define PIC1_COMMAND_PORT 0x20 -#define PIC1_DATA_PORT 0x21 -#define PIC2_COMMAND_PORT 0xA0 -#define PIC2_DATA_PORT 0xA1 -// IO Ports for Keyboard -#define KEYBOARD_DATA_PORT 0x60 -#define KEYBOARD_STATUS_PORT 0x64 diff --git a/include/06.keyboard/keyboard03.c b/include/06.keyboard/keyboard03.c deleted file mode 100644 index 3322fd7..0000000 --- a/include/06.keyboard/keyboard03.c +++ /dev/null @@ -1,6 +0,0 @@ -void previous_field(void); -void tty(char *buffer); -void prompt(void); -void clear(); -void us_en(char keymap[]); -void us_en_shift(char keymap[]); diff --git a/include/06.keyboard/keyboard04.c b/include/06.keyboard/keyboard04.c deleted file mode 100644 index cc6e7d5..0000000 --- a/include/06.keyboard/keyboard04.c +++ /dev/null @@ -1,6 +0,0 @@ -char charcode[256]; -char shift_charcode[256]; -bool ispressed[128]; -#define lshift ispressed[0x2A] -#define rshift ispressed[0x36] -#define lctrl ispressed[0x1D] diff --git a/include/06.keyboard/keyboard05.c b/include/06.keyboard/keyboard05.c deleted file mode 100644 index 5c089ce..0000000 --- a/include/06.keyboard/keyboard05.c +++ /dev/null @@ -1,5 +0,0 @@ -void init_keyboard() -{ - us_en(charcode); - us_en_shift(shift_charcode); -} diff --git a/include/06.keyboard/keyboard06.c b/include/06.keyboard/keyboard06.c deleted file mode 100644 index 55e04b8..0000000 --- a/include/06.keyboard/keyboard06.c +++ /dev/null @@ -1,6 +0,0 @@ -void deletelast() -{ - previous_field(); - printf(" "); - previous_field(); -} diff --git a/include/06.keyboard/keyboard07.c b/include/06.keyboard/keyboard07.c deleted file mode 100644 index 480abb1..0000000 --- a/include/06.keyboard/keyboard07.c +++ /dev/null @@ -1,8 +0,0 @@ -void backspace() -{ - if(buffer_index<=0) return; - - deletelast(); - buffer[buffer_current][--buffer_index]='\0'; - return; -} diff --git a/include/06.keyboard/keyboard08.c b/include/06.keyboard/keyboard08.c deleted file mode 100644 index 822e038..0000000 --- a/include/06.keyboard/keyboard08.c +++ /dev/null @@ -1,18 +0,0 @@ -void enter() -{ - printf("\n"); - if(buffer_index>0) - { - tty(buffer[buffer_current]); - buffer_size[buffer_current]=buffer_index; - if(buffer_current==buffer_all) buffer_current=(++buffer_all); - else - { - for(size_t i=0;i0) - { - buffer_size[buffer_current]=buffer_index; - for(size_t i=0;i