[font] VGA font updates
This commit is contained in:
parent
7cf04ad13e
commit
d9a6c37e17
@ -2,7 +2,7 @@
|
||||
|
||||
void kernel_halt() {
|
||||
settextcolor(4,15);
|
||||
kprintf("\n \203 System Halted!\n\n");
|
||||
kprintf("\n \x13 System Halted!\n\n");
|
||||
|
||||
while (1) {
|
||||
__asm__ __volatile__ ("cli");
|
||||
|
@ -6,6 +6,422 @@
|
||||
#include <system.h>
|
||||
|
||||
uint8_t number_font[][12] = {
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000), /* 4 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000), /* 8 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(01111110),
|
||||
b(11000011),
|
||||
b(10000001), /* 4 */
|
||||
b(10100101),
|
||||
b(10000001),
|
||||
b(10111101),
|
||||
b(10011001), /* 8 */
|
||||
b(11000011),
|
||||
b(01111110),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(01111110),
|
||||
b(11111111),
|
||||
b(11111111), /* 4 */
|
||||
b(11011011),
|
||||
b(11111111),
|
||||
b(11000011),
|
||||
b(11100111), /* 8 */
|
||||
b(11111111),
|
||||
b(01111110),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(01000100),
|
||||
b(11101110), /* 4 */
|
||||
b(11111110),
|
||||
b(11111110),
|
||||
b(11111110),
|
||||
b(01111100), /* 8 */
|
||||
b(00111000),
|
||||
b(00010000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00010000),
|
||||
b(00111000),
|
||||
b(01111100), /* 4 */
|
||||
b(11111110),
|
||||
b(11111110),
|
||||
b(01111100),
|
||||
b(00111000), /* 8 */
|
||||
b(00010000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00011000),
|
||||
b(00111100),
|
||||
b(00111100), /* 4 */
|
||||
b(11111111),
|
||||
b(11100111),
|
||||
b(11100111),
|
||||
b(00011000), /* 8 */
|
||||
b(00011000),
|
||||
b(01111110),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00011000),
|
||||
b(00111100),
|
||||
b(01111110), /* 4 */
|
||||
b(11111111),
|
||||
b(11111111),
|
||||
b(01111110),
|
||||
b(00011000), /* 8 */
|
||||
b(00011000),
|
||||
b(01111110),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000), /* 4 */
|
||||
b(00111100),
|
||||
b(01111110),
|
||||
b(01111110),
|
||||
b(00111100), /* 8 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(11111111),
|
||||
b(11111111),
|
||||
b(11111111),
|
||||
b(11111111), /* 4 */
|
||||
b(11000011),
|
||||
b(10000001),
|
||||
b(10000001),
|
||||
b(11000011), /* 8 */
|
||||
b(11111111),
|
||||
b(11111111),
|
||||
b(11111111),
|
||||
b(11111111) /* 01 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00111100),
|
||||
b(01111110), /* 4 */
|
||||
b(01100110),
|
||||
b(01000010),
|
||||
b(01000010),
|
||||
b(01100110), /* 8 */
|
||||
b(01111110),
|
||||
b(00111100),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(11111111),
|
||||
b(11111111),
|
||||
b(11000011),
|
||||
b(10000001), /* 4 */
|
||||
b(10011001),
|
||||
b(10111101),
|
||||
b(10111101),
|
||||
b(10011001), /* 8 */
|
||||
b(10000001),
|
||||
b(11000011),
|
||||
b(11111111),
|
||||
b(11111111) /* 01 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00111110),
|
||||
b(00001110),
|
||||
b(00111010), /* 4 */
|
||||
b(01110010),
|
||||
b(11111000),
|
||||
b(11001100),
|
||||
b(11001100), /* 8 */
|
||||
b(11001100),
|
||||
b(01111000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00111100),
|
||||
b(01100110),
|
||||
b(01100110), /* 4 */
|
||||
b(01100110),
|
||||
b(00111100),
|
||||
b(00011000),
|
||||
b(01111110), /* 8 */
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00011111),
|
||||
b(00011001),
|
||||
b(00011001), /* 4 */
|
||||
b(00011111),
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(01111000), /* 8 */
|
||||
b(11111000),
|
||||
b(01110000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(01111111),
|
||||
b(01100011),
|
||||
b(01111111), /* 4 */
|
||||
b(01100011),
|
||||
b(01100011),
|
||||
b(01100011),
|
||||
b(01100111), /* 8 */
|
||||
b(11100111),
|
||||
b(11100110),
|
||||
b(11000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00011000),
|
||||
b(11011011), /* 4 */
|
||||
b(01111110),
|
||||
b(11100111),
|
||||
b(11100111),
|
||||
b(01111110), /* 8 */
|
||||
b(11011011),
|
||||
b(00011000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(10000000),
|
||||
b(11000000),
|
||||
b(11100000), /* 4 */
|
||||
b(11111000),
|
||||
b(11111110),
|
||||
b(11111000),
|
||||
b(11100000), /* 8 */
|
||||
b(11000000),
|
||||
b(10000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000010),
|
||||
b(00000110),
|
||||
b(00001110), /* 4 */
|
||||
b(00111110),
|
||||
b(11111110),
|
||||
b(00111110),
|
||||
b(00001110), /* 8 */
|
||||
b(00000110),
|
||||
b(00000010),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00011000),
|
||||
b(00111100),
|
||||
b(01111110), /* 4 */
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(01111110), /* 8 */
|
||||
b(00111100),
|
||||
b(00011000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(01100110),
|
||||
b(01100110),
|
||||
b(01100110), /* 4 */
|
||||
b(01100110),
|
||||
b(01100110),
|
||||
b(00000000),
|
||||
b(00000000), /* 8 */
|
||||
b(01100110),
|
||||
b(01100110),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(01111111),
|
||||
b(11011011),
|
||||
b(11011011), /* 4 */
|
||||
b(11011011),
|
||||
b(01111011),
|
||||
b(00011011),
|
||||
b(00011011), /* 8 */
|
||||
b(00011011),
|
||||
b(00011011),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(01111110),
|
||||
b(01100011),
|
||||
b(00110000), /* 4 */
|
||||
b(00111100),
|
||||
b(01100110),
|
||||
b(01100110),
|
||||
b(00111100), /* 8 */
|
||||
b(00001100),
|
||||
b(11000110),
|
||||
b(01111110),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000), /* 4 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(11111110), /* 8 */
|
||||
b(11111110),
|
||||
b(11111110),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00011000),
|
||||
b(00111100),
|
||||
b(01111110), /* 4 */
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(01111110), /* 8 */
|
||||
b(00111100),
|
||||
b(00011000),
|
||||
b(01111110),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00011000),
|
||||
b(00111100),
|
||||
b(01111110), /* 4 */
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00011000), /* 8 */
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00011000), /* 4 */
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(00011000),
|
||||
b(01111110), /* 8 */
|
||||
b(00111100),
|
||||
b(00011000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00011000), /* 4 */
|
||||
b(00001100),
|
||||
b(11111110),
|
||||
b(00001100),
|
||||
b(00011000), /* 8 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00110000), /* 4 */
|
||||
b(01100000),
|
||||
b(11111110),
|
||||
b(01100000),
|
||||
b(00110000), /* 8 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000), /* 4 */
|
||||
b(11000000),
|
||||
b(11000000),
|
||||
b(11111110),
|
||||
b(00000000), /* 8 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00100100), /* 4 */
|
||||
b(01100110),
|
||||
b(11111111),
|
||||
b(01100110),
|
||||
b(00100100), /* 8 */
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00010000),
|
||||
b(00010000), /* 4 */
|
||||
b(00111000),
|
||||
b(00111000),
|
||||
b(01111100),
|
||||
b(01111100), /* 8 */
|
||||
b(11111110),
|
||||
b(11111110),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(11111110),
|
||||
b(11111110), /* 4 */
|
||||
b(01111100),
|
||||
b(01111100),
|
||||
b(00111000),
|
||||
b(00111000), /* 8 */
|
||||
b(00010000),
|
||||
b(00010000),
|
||||
b(00000000),
|
||||
b(00000000) /* 12 */
|
||||
},
|
||||
{ b(00000000),
|
||||
b(00000000),
|
||||
b(00000000),
|
||||
|
@ -192,10 +192,10 @@ bochs_write_char(
|
||||
uint32_t fg,
|
||||
uint32_t bg
|
||||
) {
|
||||
if (val < 0x20 || val > 131) {
|
||||
if (val > 131) {
|
||||
val = ' ';
|
||||
}
|
||||
uint8_t * c = number_font[val - 0x20];
|
||||
uint8_t * c = number_font[val];
|
||||
for (uint8_t i = 0; i < 12; ++i) {
|
||||
if (c[i] & 0x80) { bochs_set_point(x,y+i,fg); } else { bochs_set_point(x,y+i,bg); }
|
||||
if (c[i] & 0x40) { bochs_set_point(x+1,y+i,fg); } else { bochs_set_point(x+1,y+i,bg); }
|
||||
|
Loading…
Reference in New Issue
Block a user