이것은 작은 게임을하기에 충분한 매우 간단한 x86 운영 체제입니다. 브라우저에서 사용할 수 있습니다.
크로스 컴파일러를 구축해야합니다. 크로스 컴파일러에 대한 자세한 내용은 여기를 참조하십시오. 내 정확한 설정. 어셈블리 코드를 컴파일하려면 nasm 이 필요합니다. nasm & i386-elf-gcc & i386-elf-ld 가 있으면 make iso 사용하여 원시 이미지를 생성하거나 부팅 가능한 플로피 디스크를 위해 make FLOPPY=1 iso .
qemu 에뮬레이터가 있어야합니다 (이것은 FLOPPY Edition과 The raw Edition 모두에서 작동합니다).
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)drivers/monitor.h 에 있습니다. hoide video_buffer 크기는 320x200 이어야합니다. 자세한 정보그리고 당신은 모두 Flappybird와 같은 것을 개발할 수 있습니다.
이 프로젝트에는 화면에 쓰는 두 가지 방법이 포함되어 있습니다.
"Custome Bootloader"는 멍청합니다. 커널을로드하기 위해 읽을 섹터 수를 지정해야합니다. 내 게임의 경우 문제는 아니지만 귀하의 경우에는 그럴 수 있습니다. 따라서 커널의 부문 수를 계산하고 (커널 크기 / 512 바이트) 및 그에 따라 boot/boot_sect.asm 에서 32 행을 변경하십시오.
https://www.cs.bham.ac.uk/~exr/lectures/10_11/lectures/os-dev.pdf
http://www.jamesmolloy.co.uk/tutorial_html/
https://wiki.osdev.org/james_molloy%27S_TUTORION_KNOWN_BUGS#PROBLEM:_NOT_USING_A_CROSS-COMPILER
일반적으로 osdev.org는 낮은 수준의 주제에 대한 좋은 설명을 가지고 있습니다