commit
d21e8c6707
@ -0,0 +1,34 @@
|
|||||||
|
unsigned char* buffer = (unsigned char*) 0xb8000;
|
||||||
|
|
||||||
|
|
||||||
|
char make_attribute ( char foreground ,
|
||||||
|
char background , char blink ) {
|
||||||
|
foreground &= 0 xf ; // ffff ffff -> 0000 ffff
|
||||||
|
background &= 0 x7 ; // bbbb bbbb -> 0000 0 bbb
|
||||||
|
blink &= 1; // BBBB BBBB -> 0000 000 B
|
||||||
|
background <<= 4; // 0000 0 bbb -> 0 bbb 0000
|
||||||
|
blink <<= 7; // 0000 000 B -> B000 0000
|
||||||
|
return foreground | background | blink ; // Bbbb ffff
|
||||||
|
}
|
||||||
|
|
||||||
|
int puts(const char *s){
|
||||||
|
for(int i=0; *(s+i) != 0; i++){
|
||||||
|
buffer[2*i] = *(s+i);
|
||||||
|
buffer[(2*i)+1] = 0x14;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void clear_display(void){
|
||||||
|
for(int i=0; i<(80*25); i++){
|
||||||
|
buffer[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void iterate(void){
|
||||||
|
for(int i=0; i<(80*25); i++){
|
||||||
|
buffer[2*i] = i%256;
|
||||||
|
buffer[1+(2*i)] = i%256;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
extern unsigned char* buffer;
|
||||||
|
int puts(const char *s);
|
||||||
|
void clear_display(void);
|
||||||
|
void iterate(void);
|
||||||
Loading…
Reference in New Issue