floppy os
1.0.0
这是一个非常简单的X86操作系统,只有足够的玩小游戏,您可以尝试在浏览器上使用它
您将必须构建一个交叉编译器,您可以在此处阅读有关交叉编译器的更多信息。我的确切设置。您还需要nasm来编译装配代码。拥有nasm和i386-elf-gcc和i386-elf-ld后,您可以使用命令make iso生成原始映像,或者make FLOPPY=1 iso用于可引导的软盘。
您将必须拥有qemu仿真器(这适用于FLOPPY版和raw版)。
qemu-system-i386 -drive format=raw,file=boot.iso
对于软盘
qemu-system-i386 -fda boot.iso
启动模拟器。另外,您可以简单地键入make run
对于一个简单的游戏,您只需要这4个功能
add_keyboard_handler(void (*function_ptr)(unsigned int scancode)get_timer(void)draw_screen(unsigned char *video_buffer)320x200位于drivers/monitor.h中。有关更多信息大家都可以从中开发出类似Flappybird的东西。
该项目包括2种写作方式到屏幕
“ Custome Bootloader”很愚蠢,您必须指定要读取的扇区的数量以加载内核。对于我的游戏而言,这不是问题,但对您来说可能是。因此,计算内核的扇区数量(内核大小 / 512个字节),然后在boot/boot_sect.asm中更改32行。
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_knownor_bugs#problem:_not_usis_a_a_cross-compiler
通常,Osdev.org对低级主题有很好的解释