Este é um sistema operacional x86 muito simples que tem apenas o suficiente para jogar pequenos jogos, você pode tentar usá -lo no seu navegador
Você terá que construir um compilador cruzado, você pode ler mais sobre compiladores cruzados aqui. minha configuração exata. Você também precisará nasm para compilar o código de montagem. Depois de possuir nasm & i386-elf-gcc & i386-elf-ld você pode usar o comando make iso para gerar a imagem bruta ou make FLOPPY=1 iso para um disquete de inicialização.
Você terá que ter o emulador qemu (isso funciona tanto para a edição FLOPPY quanto para a edição raw ).
qemu-system-i386 -drive format=raw,file=boot.iso
Para a edição de disquete
qemu-system-i386 -fda boot.iso
Para iniciar o emulador. Como alternativa, você pode simplesmente digitar make run
Para um jogo simples, você precisará apenas dessas 4 funções
add_keyboard_handler(void (*function_ptr)(unsigned int scancode)get_timer(void)draw_screen(unsigned char *video_buffer)drivers/monitor.h , também o tamanho do vídeo_buffer deve ser 320x200 . Para mais informaçõesE todos vocês estão definidos, você pode desenvolver algo como Flappybird.
Este projeto inclui 2 maneiras de escrever na tela
O "Custome Bootloader" é burro, você deve especificar o número de setores para ler para carregar o kernel. Para o meu jogo, não é um problema, mas para o seu poderia ser. Portanto, calcule o número de setores que seu kernel é (tamanho do kernel / 512 bytes) e altere a linha 32 em boot/boot_sect.asm de acordo.
https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
http://www.jamesmolloy.co.uk/tutorial_html/
https://wiki.osdev.org/james_molloy%27s_tutorial_known_bugs#problem:_not_using_a_cross-compiler
Geralmente osdev.org tem boas explicações de tópicos de baixo nível