これは、小さなゲームをプレイするのに十分な非常にシンプルな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)drivers/monitor.hにあり、video_bufferサイズは320x200でなければなりません。詳細についてはそして、あなたはすべて設定して、あなたはそれからフラッピーバードのようなものを開発することができます。
このプロジェクトには、画面への書き込みの2つの方法が含まれています
「Custome Bootloader」は馬鹿げているので、カーネルをロードするために読み取るセクターの数を指定する必要があります。私のゲームでは問題ではありませんが、あなたのためには問題ではありません。したがって、カーネルの数を計算します(カーネルサイズ / 512バイト)、それに応じてboot/boot_sect.asmでライン32を変更します。
https://www.cs.bham.ac.uk/~exr/flectures/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
一般的に、Osdev.orgには、低レベルのトピックについて良い説明があります