|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Vesa en mode Protégé [ Divers / Général ] (epineurien)
Informations & options pour cette discussion
|
lundi 17 septembre 2007 à 14:04:31 |
Vesa en mode Protégé

epineurien
|
Voila , ca fait un moment que je souhaite quitter le mode réel , pour passer en mode protégé (faire tenir mon environnement 3d RayTracing dans moins d'1Mo de mémoire vive ça m'a donner des crises de nerf) . Jusque là pas de probleme mais ma librairie de fonction ne fonctionne plus en mode protégé puisque elles utilisent des interruption VESA! Donc je voudrait savoir comment utiliser vesa en mode protégé , ou encore mieux , n'importe quelle interruption en mode protégé . Petites précisions : -je ne veux pas d'opengl/directx/... , je veux le vesa pour accéder directement à la mémoire video ce qui est le plus rapide . -je ne veux pas passer en mode real-flat (sauf si vous pouvez me fournir un code source qui marche , parceque j'ai jamais réussi avec ce que je trouve sur le net) . Merci d'avance ...
|
|
|
|
mardi 18 septembre 2007 à 12:44:49 |
Re : Vesa en mode Protégé

patatalo
|
salut, c'est possible avec le VESA, tu auras toutes tes informations ici: [ Lien ]@++
|
|
|
|
mardi 18 septembre 2007 à 13:29:55 |
Re : Vesa en mode Protégé

epineurien
|
Merci de la réponse , j'avais déjà trouvé ce document , mais j'arrive toujours à rien : Même si ils mettent que le code VESA est du 16bit pouvant etre appelé en mode32bit , quand j'appelle les fonction VBE via int10h , window m'envoie : le programme test.exe a rencontré un probleme et doit fermer , blablabla ... Dans le .pdf il parlent de "protected mode entry point" , ce que je n'arrive pas à traduire : ca veut dire qu'il y a qqc de particulier à faire par rapport au mode réel ? ou que les fonction VBE sont sensée marcher normalement (auquel cas ca serait ma carte/les drivers qui ne respecterai la norme vesa ?) .
|
|
|
|
mardi 18 septembre 2007 à 14:14:22 |
Re : Vesa en mode Protégé

epineurien
|
Mea Culpa , je viens de relire une enième fois le document et j'ai trouvé pourquoi ca ne marchait pas (il faut utiliser une image du bios vesa ou qqc du même genre apparement) . Désolé , je suis vraiment pas bon en anglais et j'avais zappé le chapitre d'explication sur le protected mode entry point . Je reposterai ici , si ca ne marche toujours pas :-) .
|
|
|
|
mercredi 19 septembre 2007 à 13:35:29 |
Re : Vesa en mode Protégé

epineurien
|
Suite ; aprés avoir passé toute la soiré sur le code , ca bloque toujours , je suis victime de ma double ignorance en anglais et en mode protégé : page 23 "2)Copy the bios from the c0000h physical memory :" ca veut dire que je doit le récupérer à partir de l'offset c0000h ou bien que ce c0000h c'est ce que je doit mettre dans le registre de segment (donc un pointeur valant 0c0000h:[0] )? de plus je croyais qu'on avait plus accés au segments et à leur registre en mode protégé ? "5)Create selector that point..." je doit mettre un pointeur vers l'offset a0000h ou quand il parle de selecteur , c'est le même genre que ce que l'on bidouille lors du passage en mode real-flat ? , si oui , ca veut dire qu'il faut créer le descripteur dns la GDT et mettre le selecteur dans la table DPMI ? auquel cas , quelqu'un peut m'expliquer comment on fait (j'ai essayer le mode real-flat mais j'ai jamais réussi à faire quoi ce soit avec la GDT) ?
|
|
|
|
mercredi 19 septembre 2007 à 15:37:44 |
Re : Vesa en mode Protégé
|
|
mercredi 19 septembre 2007 à 21:28:52 |
Re : Vesa en mode Protégé
|
|
mercredi 19 septembre 2007 à 22:56:12 |
Re : Vesa en mode Protégé

patatalo
|
rere, ça aussi ça pourra t'aider; c'est un manager dpmi gratuit et avec les sources pour les appels int86 et callRealMode [ Lien ]@++
|
|
|
|
jeudi 20 septembre 2007 à 16:35:30 |
Re : Vesa en mode Protégé

epineurien
|
Salut , Merci pour les deux lien mais je tien à rester dans le VESA classique , ca m'embetterai de devoir mettre à la poubelle toute la librairie que j'avait en mode réel , je vais quand même regarder au cas où .
Pour ce qui est du block PMI c'est le 1er probleme : "0c0000h physical memory" ca veut dire que je doit copier le 32kB du bios à partir d'un pointeur type es:[di] , avec 0c000h dans es ? ou bien quelquechose du style [edi] , avec edi = 0c0000h ? J'ai testé ni l'une ni l'autre pour l'instant car j'arrive pas à faire des pointeurs vers le Buffer qui doit recevoir le bios sans que ca plante . Je vais faire des tests pour comprendre ce qui marche pas (argh , c'était vraiment plus facile le réel !)
|
|
|
|
jeudi 20 septembre 2007 à 16:57:34 |
Re : Vesa en mode Protégé

patatalo
|
salut,
dans tous les cas si ta librairie est en mode réel, elle est obsolete mais tu peux peut etre simplement la modifier pour la convertir en mode protégé. si elle est en mode réel, pourquoi vouloir la faire fonctionner en mode protégé ?
sinon, pour rechercher le PMInfoBlock, cela dépends si tu est en mode protégé ou en mode réel lors de la recherche. si tu est en mode réel alors push word 0xC000 xor di,di mov cx,32K pop es .1 mov al,'P' repne scasb jecxz .notfound dec di inc cx cmp word [di],'DI' cmp word [di+2],'MP' jne .1 ; verifier checksum jne .1 ; ici la structure est trouvée a es:di
si tu est en mode protégé. ;------------------------------------------------------------------- GDT: ;------------------------------------------------------------------- dd 0,0 FLAT_DATA0 EQU $-GDT ;+3 pour FLAT_DATA3 .01: dw 0xFFFF ;limit -1 dw 0 ;base 0 db 0 db DESC_D32 ;present, ring 0, data, expand-up, writable db 0xCF ;page-granular, 32-bit db 0 .02: dd 0,0 dd 0,0
mov ax,FLAT_DATA0 mov edi,0xC0000 mov ecx,32K mov es,ax .1 mov eax,'DIMP' repne scasb jecxz .notfound dec edi inc ecx cmp dword [edi],eax jne .1 ; verifier checksum jne .1 ...
@++
|
|
|
Cette discussion est classé dans : passer, mémoire, mode, protégé, vesa
Répondre à ce message
Sujets en rapport avec ce message
NASM en mode protégé [ par webfish ]
Salut, Jusqu'à maintenant, j'ai fais de l'assembleur en mode réél avec NASM, et j'aimerais essayer le mode protégé. Comment commencer, Existe-t-il d
prob mode protégé pour graphisme [ par prunkdump ]
Bonjours afin de testé un de mes programmes qui passe en mode protégé j'ai éssayé de renplir en 32bits le buffer d'écran en mode graphique 13h. Au déb
Passer en RING0 sous Windows XP ! [ par toto8966 ]
Hello, Pour pouvoir placer du code en mode Ring0 jutilise jusqu'a présent le Driver TVicHW32. ( http://www.entechtaiwan.com/tvichw32.htm ) Ca fonction
Interruptions en mode protégé [ par djqb ]
Bonjour tout le monde 8D, je programme depuis pas longtemps en assembleur. J'ai réussi à faire une routine d'effacement d'écran en mode protégé mais m
mode protégé + nasm [ par dodo76 ]
Bonjour,je suis en train de développer un programme pour le mettre dans une eprom. Pour l'instant je programmais en mode réel mais là j'ai besoin d'ut
Mode 13h en 32 bits protege [ par frostie ]
Bonjour, je suis en train de travailler sur un micro-kernel en 32 bits mode protege C/ASM et je voudrais passer en mode VGA 13h (mode graphique). Le h
mode protégé [ par TRAX44 ]
Bonjour,je voudrai savoir cmt pa c en mode protégé sans aucun drivers ou autre! J'ai surtout des pb avec la gdt je compren pas vraiment cmt sa marche
A20 or not A20? [ par SystemOfAXav ]
Salut, Pourquoi certains tutoriels sur le mode protégé parlent de la nécessité de "débloquer l'A20" et d'autres pas, est-ce une survivance des temps
debug et le mode texte par 0B800h [ par ShareVB ]
bonjour à tous,j'ai vu qu'il fallait lancer l'utilitaire debug dans la fenêtre console avant de lancer l'exe (16bits mode réel) pour pouvoir voir les
programmation graphique en mode 12h [ par masta_jigga ]
J'aimerai poser surement une bete question. Comment puis-je faire pour travailler dans le mode 12h (640x480 en 16 couleurs)en accedant directement à l
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|