هذا نظام تشغيل بسيط للغاية X86 يحتوي على ما يكفي فقط للعب ألعاب صغيرة ، يمكنك محاولة استخدامه في متصفحك
سيتعين عليك إنشاء برنامج برمجي متقاطع ، يمكنك قراءة المزيد عن المترجمين المتقاطعين هنا. الإعداد الدقيق الخاص بي. ستحتاج أيضًا إلى nasm لتجميع رمز التجميع. بمجرد حصولك على nasm & i386-elf-gcc و i386-elf-ld يمكنك استخدام الأمر make iso لإنشاء الصورة الأولية ، أو make FLOPPY=1 iso لقرص مرن قابل للتمهيد.
يجب أن يكون لديك qemu Emulator ، (هذا يعمل لكل من الإصدار FLOPPY والنسخة raw ).
qemu-system-i386 -drive format=raw,file=boot.iso
للنسخة المرنة
qemu-system-i386 -fda boot.iso
لإطلاق المحاكي. بدلاً من ذلك ، يمكنك ببساطة كتابة make run
للعبة البسيطة ، ستحتاج فقط إلى هذه الوظائف الأربعة
add_keyboard_handler(void (*function_ptr)(unsigned int scancode)get_timer(void)draw_screen(unsigned char *video_buffer)drivers/monitor.h ، كما يجب أن يكون حجم Video_Buffer 320x200 . لمزيد من المعلوماتوأنت جميعًا ، يمكنك تطوير شيء مثل Flappybird منه.
يتضمن هذا المشروع طريقتان للكتابة على الشاشة
"Custome Bootloader" غبي ، يجب عليك تحديد عدد القطاعات التي يجب قراءتها لتحميل kernel. بالنسبة إلى لعبتي ، فهي ليست مشكلة ، ولكن يمكن أن تكون كذلك. لذا ، احسب عدد القطاعات هي (حجم kernel / 512 بايت) وتغيير السطر 32 في boot/boot_sect.asm وفقًا لذلك.
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_TUTORILITY_BANKEN_BUGS#PROBLES:_NOT_USING_A_CROSS-COMPILER
بشكل عام ، لدى Osdev.org تفسيرات جيدة للمواضيع المنخفضة المستوى