aboutsummaryrefslogtreecommitdiff
path: root/src/utils/print.c
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2021-04-09 10:29:23 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2021-04-09 10:29:23 +0200
commitf6323421e22c3585c58b54658a11e1e4706cc8fa (patch)
treef317b7129dc4350fd088b59a43c1b6e80cd5c39b /src/utils/print.c
parent8fee35522dee033863f68c1d2b45f5fe988de9eb (diff)
Cleaning code and provide minimal libc
Diffstat (limited to 'src/utils/print.c')
-rw-r--r--src/utils/print.c81
1 files changed, 0 insertions, 81 deletions
diff --git a/src/utils/print.c b/src/utils/print.c
deleted file mode 100644
index c2cdaf1..0000000
--- a/src/utils/print.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include "print.h"
-
-#define MAX_COL 80
-#define MAX_LINE 25
-
-struct VIDEO_STATE {
- u8 *mem;
- u8 col;
- u8 line;
- u8 bg;
- u8 fg;
-};
-
-VIDEO_STATE VS={
- (u8 *)0xB8000,
- 0,
- 0,
- BLACK,
- GRAY,
-};
-
-void putchar(char c){
- // Handle newline here
- if(c=='\n'){
- VS.col=0;
- VS.line+=1;
- if(VS.line>=MAX_LINE){
- VS.line=MAX_LINE-1;
- scrollup();
- }
- return;
- }
-
- // Print char
- VS.mem[VS.col*2+MAX_COL*VS.line*2]=c;
- VS.mem[VS.col*2+MAX_COL*VS.line*2+1]=VS.fg|VS.bg<<4;
-
- // Refresh location
- VS.col+=1;
- if(VS.col>= MAX_COL){
- VS.col=0;
- VS.line+=1;
- if(VS.line>=MAX_LINE){
- VS.line=MAX_LINE-1;
- scrollup();
- }
- }
-}
-
-void print(char *str){
- int i=0;
- while(str[i]!='\0'){
- putchar(str[i]);
- i++;
- }
-}
-
-void printc(char* str,VIDEO_COLORS c){
- VIDEO_COLORS backup=VS.fg;
- VS.fg=c;
- print(str);
- VS.fg=backup;
-}
-
-void clear(){
- for(char i=0;i<MAX_LINE;i++){
- scrollup();
- }
-}
-
-void scrollup(){
- // Move VS.line up
- for(char i=1;i<=MAX_LINE;i++){
- for(char j=0;j<=MAX_COL;j++)
- VS.mem[j*2+MAX_COL*(i-1)*2]=VS.mem[j*2+MAX_COL*i*2];
- }
- // Clear last VS.line
- for(char i=0;i<=MAX_COL;i++){
- VS.mem[i*2+MAX_COL*(MAX_LINE-1)*2]='\0';
- }
-}