summaryrefslogtreecommitdiff
path: root/src/c/vga.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/vga.c')
-rw-r--r--src/c/vga.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/c/vga.c b/src/c/vga.c
index e61cd7f..67c8b02 100644
--- a/src/c/vga.c
+++ b/src/c/vga.c
@@ -12,12 +12,12 @@ 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;
@@ -26,11 +26,11 @@ void terminal_initialize()
terminal_buffer=(uint16_t*) 0xB8000;
for(size_t y=0;y<VGA_HEIGHT;y++)
{
- for(size_t x=0;x<VGA_WIDTH;x++)
- {
- const size_t index=y*VGA_WIDTH+x;
- terminal_buffer[index]=vga_entry(' ', terminal_color);
- }
+ for(size_t x=0;x<VGA_WIDTH;x++)
+ {
+ const size_t index=y*VGA_WIDTH+x;
+ terminal_buffer[index]=vga_entry(' ', terminal_color);
+ }
}
}
@@ -43,7 +43,8 @@ void terminal_putentryat(char c, uint8_t color, size_t x, size_t y)
void movescreen()
{
terminal_row--;
- for(size_t i=0;i<VGA_HEIGHT;i++) for(size_t j=0;j<VGA_WIDTH;j++) terminal_buffer[i*VGA_WIDTH+j]=terminal_buffer[(i+1)*VGA_WIDTH+j];
+ for(size_t i=0;i<VGA_HEIGHT;i++) for(size_t j=0;j<VGA_WIDTH;j++)
+ terminal_buffer[i*VGA_WIDTH+j]=terminal_buffer[(i+1)*VGA_WIDTH+j];
}
void next_field()
@@ -56,18 +57,18 @@ void previous_field()
if(terminal_column) terminal_column--;
else terminal_row--,terminal_column=VGA_WIDTH-1;
}
-
+
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();
+ terminal_putentryat(c, terminal_color, terminal_column, terminal_row);
+ next_field();
}
if (terminal_row==VGA_HEIGHT) movescreen();
}
-
+
void terminal_writestring(char* data)
{
for(int i=0;data[i]!='\0';i++) terminal_putchar(data[i]);