VBE 3

VBE 3 - ASM - Programmation

Marsh Posté le 15-01-2008 à 10:58:32    

Bonjour,
 
Quelqu'un s'est-il déjà battu avec VBE 3 ?
 
Mon problème est : je tente de passer en mode "LFB", VBE (fonction 0x4F01) m'indique que le mode que je veux obtenir (bx=0x4115) est supporté par la carte graphique, il accepte la fonction 0x4f02 mais en fait il ne commute pas en "LFB" et la fonction 0x4F03 me retourne bx=0x0115 !
 
Par ailleurs savez-vous quelles fonctions sont pointées dans la table en mode protégé, 5, 7 et 9 uniquement ?
 
Merci

Reply

Marsh Posté le 15-01-2008 à 10:58:32   

Reply

Marsh Posté le 15-01-2008 à 12:48:47    

La réponse se trouve probablement quelque part sur l'une des pages de description des interruptions de Ralf Brown.
Voir http://www.ctyme.com/rbrown.htm

Reply

Marsh Posté le 15-01-2008 à 14:32:37    

Merci, mais hélas j'ai cherché longuement avant de poster ma demande d'aide.

Reply

Marsh Posté le 15-01-2008 à 22:36:41    

haha, que de souvenirs :D
 
c'est quoi le contexte ? dos via un dos-extender (le plus probable) où accès via un os maison ?


Message édité par bjone le 15-01-2008 à 22:37:21
Reply

Marsh Posté le 15-01-2008 à 22:42:03    

avec un dos-extender (enfin via un serveur dpmi) normalement faut remapper derrière avec la fonction ax:800h/int 31h


Message édité par bjone le 15-01-2008 à 22:45:37
Reply

Marsh Posté le 16-01-2008 à 11:31:33    

Rien à voir avec la nostalgie (automate de test pour un labo de recherche assez pointu et ... )
  Rien à voir avec le DOS, je passe en mode protégé juste après cette 'foutue" commutation en 800*600*32.
  J'ai l'impression que l'implémentaiton du vesa-bios de la carte qui m'est imposée (ASRock  P4VM890) n'est pas standard (VIA/S3G)
 
fonction 0x4F01 (bx = 0x4115) OK et LFB disponible
fonction 0x4F02 (bx = 0x4115) OK
MAIS
fonction 0x4F03 OK et bx = 0x0115 ! pas de LFB !


Message édité par stabia le 16-01-2008 à 11:32:58
Reply

Marsh Posté le 16-01-2008 à 14:34:41    

je suis au taf, j'ai pas le code sous la main.
 
il est possible que le bios soit buggué, même à l'époque où l'utilisation du vbe en LFB était "la norme" il existait toujours des implémentations foireuses.
 
ce que je peux te conseiller, perso j'avais fait ma lib vbe a partir des docs de scitech qui avaient fait le résident univbe pour dos qui permettait d'exposer le vbe 2/3 en lfb pour les cartes vidéos sans ce support ou avec bios buggué.
 
dans le package du soft, il y a un outil "vbetest" qui permet de matraquer le bios.  
 
donc pour éviter de t'arracher les cheveux, je te conseille de tester la mobo sous dos avec cet outil, tu seras fixé sur la qualité du support vbe 2/3 par le bios vidéo.
 
tiens là: (tu peux essayer univbe67.exe ou plustôt sdd653-d.exe)
http://www.scitechsoft.com/ftp/sdd/


Message édité par bjone le 16-01-2008 à 15:02:15
Reply

Marsh Posté le 19-02-2008 à 03:31:52    

et bein stabia, tu t'en sors avec le vbe?
 
merci bjone pour le lien pourave, un logiciel avec installation redemarrante, registration code needed, et companie, on s'en passerai bien... surtout du bout qui plante totalement le pc apres avoir initialisé tout les modes graphiques, cool...

Reply

Marsh Posté le 19-02-2008 à 09:55:06    

Merci à tous.
 
Le résultat : l'adresse LFB donnée par mon BIOS n'est pas comme le prescrit la documentation sous la forme SEGMENT: DEPLACEMENT mais tout simplement sous la forme ADRESSE ! Piégeant puisque c'était 0xA000:0000 que j'interprétais comme l'adresse classique (0xA0000).
Le 'PMIB' (pour les connaisseurs) n'est pas standard, 0x4F0A non plus ! mais ce n'est pas tout, le bit 14 du mode est bien compris en mais il n'est pas restitué par la fonction 0x4F02.
A part ça tout va bien. J'ai quand même pu obtenir de VIA la documentation sur les fonctions propriétaires (hélas pas tous les registres !), si cela peut servir à quelqu'un qu'il me le dise.
Mais le temps perdu ne se rattrape pas, et comme je dois livrer avant le 25 Mars je suis parti pour faire une version sous XP, et lorsque le truc sera en production je basculerai sur mon système d'exploitation.

Reply

Marsh Posté le 19-02-2008 à 10:37:16    

edfed a écrit :

et bein stabia, tu t'en sors avec le vbe?
 
merci bjone pour le lien pourave, un logiciel avec installation redemarrante, registration code needed, et companie, on s'en passerai bien... surtout du bout qui plante totalement le pc apres avoir initialisé tout les modes graphiques, cool...


 
et bien à l'époque ça marchait très bien :/

Reply

Marsh Posté le 19-02-2008 à 10:37:16   

Reply

Marsh Posté le 19-02-2008 à 19:55:34    

l'epoque semble revolue
 
sinon, stabia, tu pourrais poster un exemple de ton machin sur un des inombrables forums où t'es allé crier à l'aide, pour l'executer et voire l'avancée que tu mous à procuré dan sle domaine de l'asm..
merci (petite preference pour le forum fasm si possible)

Reply

Marsh Posté le 19-02-2008 à 21:24:28    

en même je sais pas si tu as bien regardé sur le ftp, le code est donné.
maintenant pour l'install, et le reboot, initialement c'était pour installer un resident qui hookait le bios pour exposer les services vbe 2/3 sur les cartes vidéos n'ayant pas ces niveaux de fonctionnalitée.  
et l'installeur utilise une phase de détection du chipset (qui peut effectivement planter).


Message édité par bjone le 19-02-2008 à 21:25:01
Reply

Marsh Posté le 19-02-2008 à 21:33:02    

j'aime pas
 
moi, je vu du .com .exe
qui s'execute sans install
en plus pour reperer les capa de VESA, il n'y a pas besoin de postbooter ou installer en residant
 
juste lancer une console V86, ou un truc en direct DOS
et puis faire un INT 10h avec la commande vesa info
et là, on connait les capa de la carte
d'ailleur, je connais un programme 100% asm, 100% open source qui detecte les modes possibles et affiche les parametres de ces modes.
possible que le truc de stabia soit à implementer et à documenter quelque part pour faciliter la tache des jeunes recrues motivées et pleines de bonnes idées...

Reply

Marsh Posté le 19-02-2008 à 21:45:31    

le résident n'est pas là pour repérer les capacités, il est là pour apporter le support vbe 3 voir vbe/af (qui est tombé à l'eau depuis) a des chipsets n'ayant pas de bios vbe 2 ou 3. (et dans le bundle y'a des outils de diagnostics)
 
je faisais que proposer ce que je connaissais pour vérifier le support vbe :) (et vu que ma lib vbe je l'avais écrite y'a presque 10 ans, de l'eau a coulé sous ponts :) )

Reply

Marsh Posté le 19-02-2008 à 23:30:37    

J'ai un peu du mal à saisir le sens des échanges entre 'edfed' et 'bjone' !
 
Les forum sont justement là pour demander de l'aide, mais je ne les ai utilisés qu'après avoir lu les documentation et tenter de nombreuses choses. J'ai suffisamement d'expérience pour avoir compris qu'il s'agissait d'une implantation particulière et donc mes questions étaient adressées à ceux qui auraient eu la même mésaventure.
Je n'ai trouvé personne et beaucoup de réponses ne faisaient que proposer des étapes que j'avais déjà accomplies en cherchant.
Mon problème n'a rien à voir avec le rapport 2/3, et n'a rien de passéiste : j'ai besoin d'écrire sur un écran et de tracer des graphiques, je n'ai pas le recours aux pilotes Windows ou Linux, donc j'ai deux solutions : écrire un pilote pour le processeur VIA de la carte de mon client (avec tout ce que cela suppose de recherches) ou bien passer par le LFB.
Si vous connaissez une troisième voie je suis preneur !
 

Reply

Marsh Posté le 21-02-2008 à 10:56:55    

y'en pas vraiment :)
 
--
 
sinon pour l'histoire de l'adresse lfb, effectivement normalement le bios doit retourner plus au moins l'espace pci de la mémoire vidéo, et donc généralement ce sont des hautes adresses.
tu en est où ? je peux toujours te sortir mon vieux code, mais c'est pour de l'utilisation dos+dos-extender. (donc avec un appel dpmi pour mapper l'adresse physique)

Reply

Marsh Posté le 21-02-2008 à 14:11:08    

Comme je l'ai écrit dans mon message du 19/02, pour l'adresse et la commutation c'est bon, donc j'ai résolu mon soucis principal, sauf que par manque de temps je vais livrer une version sous XP pour changer avec mon système lorsque l'automate sera en production.

Reply

Marsh Posté le 21-02-2008 à 16:17:58    

et sous xp tu as prévu de faire ça en directdraw ? (enfin d3d avec lock de surface) ? (la sdl peut aider a faire une version cross-platform de ton soft)

Reply

Marsh Posté le 21-02-2008 à 16:40:40    

Non je n'ai pas choisi D.D. parce que la rapidité d'exécution n'est pas un soucis (on peut pas les avoir tous quand même !). Donc je fais mes dessins (2D.) directement dans la zone-mémoire d'un bitmap que je sélectionne dans contexte graphique (DC), ainsi mes routines assembleur sont les mêmes.

Reply

Marsh Posté le 22-02-2008 à 12:13:03    

ok :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed