Dies ist ein sehr einfaches X86 -Betriebssystem, das nur genug ist, um kleine Spiele zu spielen. Sie können es in Ihrem Browser verwenden
Sie müssen einen Cross -Compiler bauen, Sie können hier mehr über Cross -Compiler lesen. Mein genaues Setup. Sie benötigen auch nasm , um den Montagecode zu kompilieren. Sobald Sie nasm & i386-elf-gcc & i386-elf-ld haben, können Sie den Befehl make iso , um das Rohbild zu generieren oder make FLOPPY=1 iso .
Sie müssen qemu -Emulator haben (dies funktioniert sowohl für die FLOPPY Edition als auch für die raw Edition).
qemu-system-i386 -drive format=raw,file=boot.iso
Für die Floppy Edition
qemu-system-i386 -fda boot.iso
Um den Emulator zu starten. Alternativ können Sie einfach make run
Für ein einfaches Spiel benötigen Sie nur diese 4 Funktionen
add_keyboard_handler(void (*function_ptr)(unsigned int scancode)get_timer(void)draw_screen(unsigned char *video_buffer)drivers/monitor.h , auch die Größe von Video_Buffer sollte 320x200 betragen. Für weitere InformationenUnd Sie alle setzen, Sie können so etwas wie Flappybird heraus entwickeln.
Dieses Projekt enthält zwei Schreibweisen auf den Bildschirm
Der "Custome Bootloader" ist dumm, Sie müssen die Anzahl der Sektoren angeben, um den Kernel zu laden. Für mein Spiel ist es kein Problem, aber für dein könnte es sein. Berechnen Sie also die Anzahl der Sektoren Ihres Kernels (Kernelgröße / 512 Bytes) und ändern Sie die Zeile 32 in boot/boot_sect.asm entsprechend.
https://www.cs.bham.ac.uk/~exr/lectures/opys/10_11/lectures/os-dev.pdf
http://www.jamesmolloy.co.uk/tutorial_html/
https://wiki.osdev.org/james_molloy%27s_tutorial_know_bugs#problem:_not_using_a_cross-compiler
Im Allgemeinen hat Osdev.org gute Erklärungen zu Themen mit niedrigem Niveau