IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

VESA qui rame


Sujet :

Assembleur

  1. #1
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut VESA qui rame
    Bonjour !

    J'ai développé une disquette de boot (Une de plus) qui passe en 1024x768 (En VESA) et qui affiche ce que l'utilisateur tape au clavier (Oui, je sais, je vais faire de la concurence à Windows).

    Le problème : lorsque j'arrive en bas de l'écran, le scroll de celui-ci rame énormément (1s sur un P4 à 1700 + GeForce 2 + 256 Mo RAM). J'ai l'impression que ca irait aussi vite sur un 486...

    Quel est la cause de ce rammage ? Est-il possible d'y remédier ?

    Merci à tous !

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Je vois pas très bien, tu utises les fonctions du bios pour ecrire le texte que tu affiches ou autre chose ? (parce qsue ca doit certainement venir de la fonction que tu utilises, même copier l'ecran en entier avec un 100 MHz prendrait 100 fois moins de temps

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 58
    Points : 40
    Points
    40
    Par défaut
    Quand on s'amuse a changer la resolution de DOS ca fais pareil

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    c'est pas le fait d'etre en mode graphique qui pose problème ?

  5. #5
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Citation Envoyé par Blustuff
    c'est pas le fait d'etre en mode graphique qui pose problème ?
    C'est ce que je pense, mais je cherche un moyen de passer outre.

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    T'es en mode graphique alors, ecrit tes fonctions pour l'affichage du texte :) (hou la bonne solution) Si j'ai bien compris (ce qui est loin d'etre sur) en mode texte, c'est en hardware que se fait le defilement. Alors qu'en graphique, il faut retracer. Comme pour l'autre sujet concernant le clavier, il faut pas te laisser faire par le BIOS. En gros tu devra te passer de la majorité des interruptions. Et si tu veux etendre ton OS de toute facon, la creation de fonctions graphiques deviendra inévitable.

    Sinon, désolé je vois pas comment passer outre.

  7. #7
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Donc pas de problème... Je passe en mode protégé et je gere tout !

    Reste a savoir comment changer la résolution d'écran en mode protégé...

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Euh.. tu peux changer la resolution avant de passer en mode protégé... En fait, je vais chercher dans mes docs, ca doit etre encore une question de ports, mais j'en ai pas entendu parler jusqu'a présent. Si je trouves je t'informe.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    euh helppc et thelp ne mentionne même pas le VESA, et toutes mes docs ne parlent que de l'int 10h. Je vais donc me tourner vers internet voir si je trrouves mieux. (En parlant de ca, c'est un mail automatique pour asmeditor ?)

    Blustuff.

  10. #10
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    339
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 339
    Points : 279
    Points
    279
    Par défaut
    Si c'est les INTs BIOS VESA qui vous intéressent, j'en ai quelques unes en réserve. Sinon j'en profite, si vous trouvez comment changer le mode vidéo sans passer par des INTs, ça m'intéresse.
    Ma boule de cristal s'était éclaircie et puis plus rien. Alors je me suis mis à internet et maintenant j'ai plus de renseignements qu'avec cette satané boule .....

  11. #11
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Citation Envoyé par Blustuff
    euh helppc et thelp ne mentionne même pas le VESA, et toutes mes docs ne parlent que de l'int 10h. Je vais donc me tourner vers internet voir si je trrouves mieux.
    Je cherche aussi sur cette piste, mais je n'y ai pas encore consacré beaucoup de temps !

    Citation Envoyé par Blustuff
    En parlant de ca, c'est un mail automatique pour asmeditor ?
    Nan, c'est moi !

    Merci

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Vous aurez des difficulté pour trouver des docs qui permettent de passez en VESA sans utiliser l'INT 10h parce qu'a l'intérieur de ces ints les registres des ports utilisés sont spécifiques à chaques cartes. Le VESA est un standard seulement pour ses ints

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Cependant il me semble avoir trouvé des sources spécifiques pour certaines cartes qui permettent de passer dans les hautes résolutions sans passer par les ints mais faut que je les retrouves

  14. #14
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 65
    Points : 105
    Points
    105
    Par défaut
    Bonsoir,

    Une carte VGA de base == 4 controleurs + 1 DAC (digital to analog converter)
    + le CRTC (cathode ray tube controller)
    + le controlleur d'attributs
    + le controleur graphique
    + séquenceur

    ces controlleurs se pilotent avec des out et des in sur des adresses de port:

    Registres généraux: misc (WR: 0x3CC), input status 0 (R: 0x3C2), input status 1 (0x3BA, 0x3DA).
    CRTC; registre d'index 0x3D4, de données 0x3D5 à programmer successivement.

    séquenceur: index 0x3C4, données 0x3C5

    attributs: écriture en 0x3C0, lecture en 0x3C1

    DAC: 0x3C8, 0x3C7 (R), 0x3C7 (W), 0x3C9, 0x3C6

    Tout ceci est très bien détaillé dans la bible du PC. (ces descriptions se trouvent aussi facilement sur le net).

    Mais gare aux essais au pif: c'est comme ça qu'on crame son beau moniteur tout neuf.

    golem
    +++

  15. #15
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Ok ! Merci !

    Bon, mais je n'ai pas envie de risquer de détruire mes écrans, aussi vais-je attendre quelques temps avant de me risquer à de tels expérimentations !!!

    Merci !

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  16. #16
    Membre régulier Avatar de elvivo
    Inscrit en
    Mai 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 105
    Points : 104
    Points
    104
    Par défaut
    Salut,

    J'aimerai juste savoir ou vous avec trouve toutes vos docs sur la prog systeme et graphique en asm et sous quel os vous le faites ?
    In code we trust !!

  17. #17
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Citation Envoyé par elvivo
    Salut,

    J'aimerai juste savoir ou vous avec trouve toutes vos docs sur la prog systeme et graphique en asm et sous quel os vous le faites ?
    Salut !

    Ben les docs, on les trouves surtout sur le Web, mais disons que c'est mal rangé, alors quand on tombe sur un super site complet, c'est cool !

    Concernant l'OS, je n'en utilise aucun (Sauf pour développer !!) : je fais justes des petits OS sympas...

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Bonsoir,

    Une carte VGA de base == 4 controleurs + 1 DAC (digital to analog converter)
    + le CRTC (cathode ray tube controller)
    + le controlleur d'attributs
    + le controleur graphique
    + séquenceur

    ces controlleurs se pilotent avec des out et des in sur des adresses de port:

    Registres généraux: misc (WR: 0x3CC), input status 0 (R: 0x3C2), input status 1 (0x3BA, 0x3DA).
    CRTC; registre d'index 0x3D4, de données 0x3D5 à programmer successivement.

    séquenceur: index 0x3C4, données 0x3C5

    attributs: écriture en 0x3C0, lecture en 0x3C1

    DAC: 0x3C8, 0x3C7 (R), 0x3C7 (W), 0x3C9, 0x3C6

    Tout ceci est très bien détaillé dans la bible du PC. (ces descriptions se trouvent aussi facilement sur le net).

    Mais gare aux essais au pif: c'est comme ça qu'on crame son beau moniteur tout neuf.

    golem
    +++
    Oui mais on peut pas accéder au hautes résolutions avec les registres connus du VGA J'ai fais plein de tentative la dessus et sans succès(mon écran à survécu!!!) y a des logiciels qui permettent de modifier ces registres je ne sais plus sur quel site

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Vi golem, ca c'est le VGA, nous on s'interesse au SVGA. J'ai pas trouvé grand chose pour le VESA, mais j'ai trouvé ca :

    http://www.monstersoft.com/tutorial1/VESA_info.html

    qui semble vouloir dire que l'on peut utiliser les ints du VESA en mode protégé pour peux qu'on convertisse les adresses PMode en adresse RMode (ce qui n'est pas difficile). Enfin cela sio mon anglmais est encore correct et que j'ai bien compris le truc. J'ai pas le temps de lire plus, donc j'ai pas plus de détails

  20. #20
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 65
    Points : 105
    Points
    105
    Par défaut
    oui effectivement c plus compliqué de prévu , autant pour moi. Je pensais qu'on pouvais faire du svga avec ça.

    Pour ton doc, j'ai ça, c'est normal ?

    Forbidden

    You don't have permission to access /tutorial1/VESA_info.html on this server.


    golem
    +++

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. mon unité qui rame
    Par starway dans le forum Composants
    Réponses: 5
    Dernier message: 12/02/2006, 22h30
  2. besoin d'un diagnostic ( ordi qui "rame" )
    Par kichemans dans le forum Autres Logiciels
    Réponses: 12
    Dernier message: 27/12/2005, 18h03
  3. Application qui rame
    Par nicographx dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/11/2005, 14h35
  4. Réponses: 17
    Dernier message: 24/10/2005, 20h05
  5. Adsl qui rame sous mdk 9.1
    Par Kehel dans le forum Réseau
    Réponses: 5
    Dernier message: 29/09/2003, 22h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo