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/02.vga/deo1 | 4 ++ include/02.vga/deo10 | 10 +++++ include/02.vga/deo11 | 4 ++ include/02.vga/deo12 | 8 ++++ include/02.vga/deo13 | 8 ++++ include/02.vga/deo14 | 6 +++ include/02.vga/deo2 | 4 ++ include/02.vga/deo3 | 4 ++ include/02.vga/deo4 | 4 ++ include/02.vga/deo5 | 15 ++++++++ include/02.vga/deo6 | 5 +++ include/02.vga/deo7 | 6 +++ include/02.vga/deo8 | 4 ++ include/02.vga/deo9 | 5 +++ include/02.vga/vga.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++++ include/02.vga/vga00.c | 4 -- include/02.vga/vga01.c | 4 -- include/02.vga/vga02.c | 4 -- include/02.vga/vga03.c | 4 -- include/02.vga/vga04.c | 15 -------- include/02.vga/vga05.c | 5 --- include/02.vga/vga06.c | 5 --- include/02.vga/vga07.c | 4 -- include/02.vga/vga08.c | 5 --- include/02.vga/vga09.c | 10 ----- include/02.vga/vga10.c | 4 -- include/02.vga/vga11.c | 6 --- 27 files changed, 187 insertions(+), 70 deletions(-) create mode 100644 include/02.vga/deo1 create mode 100644 include/02.vga/deo10 create mode 100644 include/02.vga/deo11 create mode 100644 include/02.vga/deo12 create mode 100644 include/02.vga/deo13 create mode 100644 include/02.vga/deo14 create mode 100644 include/02.vga/deo2 create mode 100644 include/02.vga/deo3 create mode 100644 include/02.vga/deo4 create mode 100644 include/02.vga/deo5 create mode 100644 include/02.vga/deo6 create mode 100644 include/02.vga/deo7 create mode 100644 include/02.vga/deo8 create mode 100644 include/02.vga/deo9 create mode 100644 include/02.vga/vga.c delete mode 100644 include/02.vga/vga00.c delete mode 100644 include/02.vga/vga01.c delete mode 100644 include/02.vga/vga02.c delete mode 100644 include/02.vga/vga03.c delete mode 100644 include/02.vga/vga04.c delete mode 100644 include/02.vga/vga05.c delete mode 100644 include/02.vga/vga06.c delete mode 100644 include/02.vga/vga07.c delete mode 100644 include/02.vga/vga08.c delete mode 100644 include/02.vga/vga09.c delete mode 100644 include/02.vga/vga10.c delete mode 100644 include/02.vga/vga11.c (limited to 'include/02.vga') diff --git a/include/02.vga/deo1 b/include/02.vga/deo1 new file mode 100644 index 0000000..dfee578 --- /dev/null +++ b/include/02.vga/deo1 @@ -0,0 +1,4 @@ +#include +#include +#include +#include diff --git a/include/02.vga/deo10 b/include/02.vga/deo10 new file mode 100644 index 0000000..9511b21 --- /dev/null +++ b/include/02.vga/deo10 @@ -0,0 +1,10 @@ +void terminal_putchar(char c) +{ + if(c=='\n') terminal_column=0,terminal_row++; + else + { + terminal_putentryat(c, terminal_color, terminal_column, terminal_row); + next_field(); + } + if (terminal_row==VGA_HEIGHT) movescreen(); +} diff --git a/include/02.vga/deo11 b/include/02.vga/deo11 new file mode 100644 index 0000000..8a757f4 --- /dev/null +++ b/include/02.vga/deo11 @@ -0,0 +1,4 @@ +void terminal_writestring(char* data) +{ + for(int i=0;data[i]!='\0';i++) terminal_putchar(data[i]); +} diff --git a/include/02.vga/deo12 b/include/02.vga/deo12 new file mode 100644 index 0000000..be40f5a --- /dev/null +++ b/include/02.vga/deo12 @@ -0,0 +1,8 @@ +void terminal_writeint(uint32_t num) +{ + char string[100]; + for(int i=0;i<100;i++) string[i]='\0'; + char *str=string; + itos(num,str); + terminal_writestring(str); +} diff --git a/include/02.vga/deo13 b/include/02.vga/deo13 new file mode 100644 index 0000000..dfa3994 --- /dev/null +++ b/include/02.vga/deo13 @@ -0,0 +1,8 @@ +void terminal_writefloat(double num) +{ + char string[100]; + for(int i=0;i<100;i++) string[i]='\0'; + char *str=string; + ftos(num,str); + terminal_writestring(str); +} diff --git a/include/02.vga/deo14 b/include/02.vga/deo14 new file mode 100644 index 0000000..efe6d3a --- /dev/null +++ b/include/02.vga/deo14 @@ -0,0 +1,6 @@ +void clear() +{ + for(size_t i=0;i +#include +#include +#include + +size_t terminal_row; +size_t terminal_column; +uint8_t terminal_color; +uint16_t* terminal_buffer; + +void set_color(enum vga_color fg, enum vga_color bg) +{ + terminal_color = fg | bg << 4; +} + +static inline uint16_t vga_entry(unsigned char uc, uint8_t color) +{ + return (uint16_t) uc | (uint16_t) color << 8; +} + +void terminal_initialize() +{ + terminal_row=0; + terminal_column=0; + set_color(VGA_COLOR_LIGHT_GREY, VGA_COLOR_BLACK); + terminal_buffer=(uint16_t*) 0xB8000; + for(size_t y=0;y -#include -#include -#include diff --git a/include/02.vga/vga01.c b/include/02.vga/vga01.c deleted file mode 100644 index be0ba00..0000000 --- a/include/02.vga/vga01.c +++ /dev/null @@ -1,4 +0,0 @@ -size_t terminal_row; -size_t terminal_column; -uint8_t terminal_color; -uint16_t* terminal_buffer; diff --git a/include/02.vga/vga02.c b/include/02.vga/vga02.c deleted file mode 100644 index 5a12424..0000000 --- a/include/02.vga/vga02.c +++ /dev/null @@ -1,4 +0,0 @@ -void set_color(enum vga_color fg, enum vga_color bg) -{ - terminal_color = fg | bg << 4; -} diff --git a/include/02.vga/vga03.c b/include/02.vga/vga03.c deleted file mode 100644 index 173e598..0000000 --- a/include/02.vga/vga03.c +++ /dev/null @@ -1,4 +0,0 @@ -static inline uint16_t vga_entry(unsigned char uc, uint8_t color) -{ - return (uint16_t) uc | (uint16_t) color << 8; -} diff --git a/include/02.vga/vga04.c b/include/02.vga/vga04.c deleted file mode 100644 index 50a7d65..0000000 --- a/include/02.vga/vga04.c +++ /dev/null @@ -1,15 +0,0 @@ -void terminal_initialize() -{ - terminal_row=0; - terminal_column=0; - set_color(VGA_COLOR_LIGHT_GREY, VGA_COLOR_BLACK); - terminal_buffer=(uint16_t*) 0xB8000; - for(size_t y=0;y