Uopšteno - kada se pozove funkcija za ispis teksta, BIOS piše u određenu oblast memorije (pretežno 0xB8000 na x86 sistemima, ako se dobro sećam) i to u odgovarajućem formatu (8bita za ASCII kod karaktera + 8bita za boje i ostale parametre), a prisutna grafička kartica grabi ono što tamo piše i izbljune sve na ekran po potrebi sa svojim ugrađenim "fontovima". Dakle, ako baš želiš da radiš na najnižem mogućem nivou (a u protected/long mode-u je to imperativ), jednostavno crtkaš ono što ti treba u memorijski bafer na 0xB8000 (pod uslovom da radiš u tekstualnom režimu).
Primer jedan:
Code:
char *video = (char *) 0xb8000;
unsigned int i,n,off=0;
off = 80;
for (i=0;i<80;i++)
{
video[n] = ' ';
n++;
video[n] = 0x10;
n++;
}
video[68+off] = 'H';
video[69+off] = 0x10;
video[70+off] = 'e';
video[71+off] = 0x10;
video[72+off] = 'l';
video[73+off] = 0x10;
video[74+off] = 'l';
video[75+off] = 0x10;
video[76+off] = o';
video[77+off] = 0x10;
video[78+off] = '!';
video[79+off] = 0x10;
A man is smart. People are stupid.