boot: Set VGA text mode font to Deja Vu
This commit is contained in:
parent
778bfd6ed5
commit
4ab4c16813
|
@ -6600,7 +6600,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 177 9618 */
|
||||
{
|
||||
/* */
|
||||
/* ## # # */
|
||||
/* # # ## */
|
||||
/* ## # # */
|
||||
/* ## # # */
|
||||
|
@ -6617,7 +6617,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # ## */
|
||||
/* ## # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x69,
|
||||
0x96,
|
||||
0x69,
|
||||
0x69,
|
||||
|
@ -6637,7 +6637,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 178 9619 */
|
||||
{
|
||||
/* */
|
||||
/* ######## */
|
||||
/* ### ### */
|
||||
/* ######## */
|
||||
/* ## ### # */
|
||||
|
@ -6654,7 +6654,7 @@ uint8_t large_font[][17] = {
|
|||
/* ######## */
|
||||
/* ## ### # */
|
||||
/* */
|
||||
0x00,
|
||||
0xff,
|
||||
0x77,
|
||||
0xff,
|
||||
0xdd,
|
||||
|
@ -6674,7 +6674,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 179 9474 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -6691,7 +6691,7 @@ uint8_t large_font[][17] = {
|
|||
/* # */
|
||||
/* # */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -6711,7 +6711,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 180 9508 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -6728,7 +6728,7 @@ uint8_t large_font[][17] = {
|
|||
/* # */
|
||||
/* # */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -6748,7 +6748,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 181 9569 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -6765,7 +6765,7 @@ uint8_t large_font[][17] = {
|
|||
/* # */
|
||||
/* # */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -6785,7 +6785,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 182 9570 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -6802,7 +6802,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -6896,7 +6896,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 185 9571 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -6913,7 +6913,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -6933,7 +6933,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 186 9553 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -6950,7 +6950,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7007,7 +7007,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 188 9565 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7024,7 +7024,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7044,7 +7044,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 189 9564 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7061,7 +7061,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7081,7 +7081,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 190 9563 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7098,7 +7098,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -7155,7 +7155,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 192 9492 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7172,7 +7172,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -7192,7 +7192,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 193 9524 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7209,7 +7209,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -7266,7 +7266,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 195 9500 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7283,7 +7283,7 @@ uint8_t large_font[][17] = {
|
|||
/* # */
|
||||
/* # */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -7340,7 +7340,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 197 9532 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7357,7 +7357,7 @@ uint8_t large_font[][17] = {
|
|||
/* # */
|
||||
/* # */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -7377,7 +7377,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 198 9566 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7394,7 +7394,7 @@ uint8_t large_font[][17] = {
|
|||
/* # */
|
||||
/* # */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -7414,7 +7414,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 199 9567 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7431,7 +7431,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7451,7 +7451,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 200 9562 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7468,7 +7468,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7525,7 +7525,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 202 9577 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7542,7 +7542,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7599,7 +7599,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 204 9568 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7616,7 +7616,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7673,7 +7673,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 206 9580 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7690,7 +7690,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7710,7 +7710,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 207 9575 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7727,7 +7727,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -7747,7 +7747,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 208 9576 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7764,7 +7764,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7858,7 +7858,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 211 9561 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -7875,7 +7875,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -7895,7 +7895,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 212 9560 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -7912,7 +7912,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -8006,7 +8006,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 215 9579 */
|
||||
{
|
||||
/* */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
/* # # */
|
||||
|
@ -8023,7 +8023,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* # # */
|
||||
/* */
|
||||
0x00,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
0x28,
|
||||
|
@ -8043,7 +8043,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 216 9578 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -8060,7 +8060,7 @@ uint8_t large_font[][17] = {
|
|||
/* # */
|
||||
/* # */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -8080,7 +8080,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 217 9496 */
|
||||
{
|
||||
/* */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
/* # */
|
||||
|
@ -8097,7 +8097,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
0x10,
|
||||
|
@ -8154,7 +8154,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 219 9608 */
|
||||
{
|
||||
/* */
|
||||
/* ######## */
|
||||
/* ######## */
|
||||
/* ######## */
|
||||
/* ######## */
|
||||
|
@ -8171,7 +8171,7 @@ uint8_t large_font[][17] = {
|
|||
/* ######## */
|
||||
/* ######## */
|
||||
/* */
|
||||
0x00,
|
||||
0xff,
|
||||
0xff,
|
||||
0xff,
|
||||
0xff,
|
||||
|
@ -8228,7 +8228,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 221 9612 */
|
||||
{
|
||||
/* */
|
||||
/* #### */
|
||||
/* #### */
|
||||
/* #### */
|
||||
/* #### */
|
||||
|
@ -8245,7 +8245,7 @@ uint8_t large_font[][17] = {
|
|||
/* #### */
|
||||
/* #### */
|
||||
/* */
|
||||
0x00,
|
||||
0xf0,
|
||||
0xf0,
|
||||
0xf0,
|
||||
0xf0,
|
||||
|
@ -8265,7 +8265,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 222 9616 */
|
||||
{
|
||||
/* */
|
||||
/* #### */
|
||||
/* #### */
|
||||
/* #### */
|
||||
/* #### */
|
||||
|
@ -8282,7 +8282,7 @@ uint8_t large_font[][17] = {
|
|||
/* #### */
|
||||
/* #### */
|
||||
/* */
|
||||
0x00,
|
||||
0x0f,
|
||||
0x0f,
|
||||
0x0f,
|
||||
0x0f,
|
||||
|
@ -8302,7 +8302,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 223 9600 */
|
||||
{
|
||||
/* */
|
||||
/* ######## */
|
||||
/* ######## */
|
||||
/* ######## */
|
||||
/* ######## */
|
||||
|
@ -8319,7 +8319,7 @@ uint8_t large_font[][17] = {
|
|||
/* */
|
||||
/* */
|
||||
/* */
|
||||
0x00,
|
||||
0xff,
|
||||
0xff,
|
||||
0xff,
|
||||
0xff,
|
||||
|
@ -9116,7 +9116,7 @@ uint8_t large_font[][17] = {
|
|||
},
|
||||
/* 245 8993 */
|
||||
{
|
||||
/* */
|
||||
/* ## */
|
||||
/* ## */
|
||||
/* ## */
|
||||
/* ## */
|
||||
|
@ -9133,7 +9133,7 @@ uint8_t large_font[][17] = {
|
|||
/* # # */
|
||||
/* ## */
|
||||
/* */
|
||||
0x00,
|
||||
0x18,
|
||||
0x18,
|
||||
0x18,
|
||||
0x18,
|
||||
|
|
14
boot/boot.S
14
boot/boot.S
|
@ -256,6 +256,10 @@ do_bios_call.1:
|
|||
cmp %bx, %ax
|
||||
je do_bios_call.test_key
|
||||
|
||||
mov $0x05, %ax
|
||||
cmp %bx, %ax
|
||||
je do_bios_call.set_font
|
||||
|
||||
/* Else: Bad call, jump to loop. */
|
||||
jmp do_bios_call.done
|
||||
|
||||
|
@ -289,6 +293,16 @@ do_bios_call.test_key:
|
|||
movl %eax, 20(%esp)
|
||||
jmp do_bios_call.done
|
||||
|
||||
do_bios_call.set_font:
|
||||
movl 36(%esp), %ebp /* address of font data into ebp */
|
||||
mov $0x1100, %ax /* mode = load user-defined font */
|
||||
mov $17, %bh /* 17 bytes (rows) per character */
|
||||
mov $0, %bl /* font block 0 */
|
||||
mov $0, %dx /* starting from char 0 */
|
||||
mov $0x100, %cx /* write 256 glyphs */
|
||||
int $0x10
|
||||
jmp do_bios_call.done
|
||||
|
||||
do_bios_call.done:
|
||||
/* Disable interrupts again */
|
||||
cli
|
||||
|
|
|
@ -84,6 +84,10 @@ void text_reset(void) {
|
|||
extern int in_graphics_mode;
|
||||
int bios_text_mode(void) {
|
||||
do_bios_call(3, 3);
|
||||
|
||||
extern char large_font[];
|
||||
do_bios_call(5, (uintptr_t)large_font);
|
||||
|
||||
vbe_info_width = 0;
|
||||
in_graphics_mode = 0;
|
||||
text_reset();
|
||||
|
|
Loading…
Reference in New Issue