Bom, eu sempre me interessei pelo desenvolvimento de drivers, mas nunca havia feito nada antes, e agora com o sombra que é bem simples da pra fazer algumas brincadeiras

Esses dias comecei a tentar escrever um de video para a cirrus, consegui fazer um mode-setting de várias resoluções mas estranhamente o sistema parava de responder e muitos outros problemas com o PCI... e no mais é mazoquismo escrever drivers para VGA's

então desisti e fui tentar algo mais simples.
Comecei a escrever um do VESA, mas não queria ter que mudar pro modo real e depois voltar pro PM,
tentei usar a vm86, tive muitos problemas para usar a combinação nos registradores ES:DI que as funções da INT 10 necessitam pra escrever os dados, só depois fui pensar em escrever estes dados no endereço baixo de 0x8000 onde o grub instala o stage2, bem poderia ser até outro mais baixo, mas este está bom, até porque posso copiar o dados de lá e escrever novamente depois que pegar os dados que me interessam, e o melhor é que não precisa ir até o modo real (quer dizer em partes xD vm86)...
Aqui estão os primeiros resultados, consigo mostrar os modos, as informações, e fazer o mode-setting. Mas agora estou tendo problemas em escrever no Framebuffer (estou usando o modo linear), o framebuffer fica em 0xC0000000, mas mesmo que eu escreva lá não aparece nada na tela...
Mostrando as informações:

Mostrando os modos:

Nem adianta mostrar com o modo ligado pois só aparece coisa preta xD
Sobre o Framebuffer em 0xC0000000, tentei usar o page_map com um ponteiro mas ele não consegue alocar as páginas, se alguem tiver alguma idéia de como dá pra resolver isto...
Me desculpem por ressucitar o tópico, encontrei o sombra a alguns dias. Estou trabalhando no driver VESA.
Já tenho ele funcionando(apenas modo 0x103 800*600*256cores). é possivel fazer os outros modos funcionarem, só não fiz ainda por falta de tempo.
O driver já tem o mode_set e o putPixel funcionando.

plotando uma linha azul:
