Este es un sistema operativo X86 muy simple que solo tiene suficiente para jugar juegos pequeños, puede intentar usarlo en su navegador
Tendrá que construir un compilador cruzado, podría leer más sobre compiladores cruzados aquí. mi configuración exacta. También necesitará nasm para compilar el código de ensamblaje. Una vez que tenga nasm e i386-elf-gcc e i386-elf-ld puede usar el comando make iso para generar la imagen sin procesar, o make FLOPPY=1 iso para un disco floppy de arranque.
Tendrá que tener un emulador qemu (esto funciona tanto para la edición FLOPPY como para la edición raw ).
qemu-system-i386 -drive format=raw,file=boot.iso
para la edición floppy
qemu-system-i386 -fda boot.iso
Para iniciar el emulador. Alternativamente, simplemente puede escribir make run
Para un juego simple necesitarás solo estas 4 funciones
add_keyboard_handler(void (*function_ptr)(unsigned int scancode)get_timer(void)draw_screen(unsigned char *video_buffer)drivers/monitor.h , también el tamaño de video_buffer debe ser 320x200 . Para más informaciónY todos ustedes se establecen, pueden desarrollar algo como Flappybird.
Este proyecto incluye 2 formas de escribir en la pantalla.
El "cargador de arranque del custome" es tonto, debe especificar el número de sectores para leer para cargar el núcleo. Para mi juego no es un problema, pero para el tuyo podría ser. Por lo tanto, calcule el número de sectores que su núcleo es (tamaño del núcleo / 512 bytes) y cambie la línea 32 en boot/boot_sect.asm en consecuencia.
https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/osdev.pdf
http://www.jamesmolloy.co.uk/tutorial_html/
https://wiki.osdev.org/james_molloy%27S_Tutorial_ Knowling_Bugs#problem:_NOT_USING_A_CROSS-COMPILER
En general, OSDEV.org tiene buenas explicaciones de temas de bajo nivel