summaryrefslogtreecommitdiff
path: root/src/vga.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vga.c')
-rw-r--r--src/vga.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/vga.c b/src/vga.c
index f176d70..5bd2caf 100644
--- a/src/vga.c
+++ b/src/vga.c
@@ -1,12 +1,10 @@
-#include<stdbool.h>
-#include<stddef.h>
-#include<stdint.h>
+#include"types.h"
#include"string.h"
+#include"asm.h"
+
static const size_t VGA_WIDTH = 80;
static const size_t VGA_HEIGHT = 25;
-extern char ioport_in(uint8_t port);
-extern void ioport_out(uint8_t port, char data);
enum vga_color {
VGA_COLOR_BLACK = 0,
@@ -92,16 +90,26 @@ void terminal_putchar(char c)
if (terminal_row==VGA_HEIGHT) movescreen();
}
-void terminal_writestring(const char* data)
+void terminal_writestring(char* data)
{
for(int i=0;data[i]!='\0';i++) terminal_putchar(data[i]);
}
-void terminal_writeint(const uint32_t num)
+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);
+}
+
+void terminal_writefloat(double num)
{
char string[100];
+ for(int i=0;i<100;i++) string[i]='\0';
char *str=string;
- itos(str,num);
+ ftos(num,str);
terminal_writestring(str);
}