2008-09-18 6 views
7

J'ai travaillé sur un OS de jeu et j'ai utilisé grub comme chargeur de démarrage. Récemment, en essayant d'utiliser VGA, j'ai découvert que je ne pouvais pas utiliser les interruptions matérielles. Ce que j'ai trouvé était parce que j'avais été mis en mode protégé par Grub.Grub et passer en mode réel (programmation en langage assembleur de bas niveau)

Est-ce que quelqu'un sait comment retourner en mode réel sans avoir à se débarrasser de grub?

+0

duplication possible de [Comment utiliser les appels BIOS/VESA en mode réel de GRUB?] (Http://stackoverflow.com/questions/30747574/how-to-use-real-mode-bios-vesa-calls-from -ver) – peterh

Répondre

1

Si vous utilisez GRUB comme chargeur de démarrage, vous pouvez utiliser le intcall (comme indiqué dans le COMBOOT API) pour appeler la fonction BIOS int 0x10 dans votre cas pour accéder au VESA VBE.

Mais cela n'aidera pas si vous avez besoin d'accéder aux registres matériels VGA.

1

vous voulez dire writeport (value, $ 3c9)?

>mov 03c9,AH 
>out value,AL 

ou similaire dans INTEL asm (NASM)

3C9 3C8 IIRC sont des registres VGA.

Questions connexes