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

Autres éditeurs Discussion :

[mode svga][Voir asm et devc++]


Sujet :

Autres éditeurs

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut [mode svga][Voir asm et devc++]
    Voilà j'essaie de passer en mode 640*480 256c mais je n'y arrive pas avec devc++4.0. J'essaie des codes venant des tutoriaux de ce site.

    Pour cela j'ai compris qu'il fallait passer par de l'assembleur. Le seul hic, c'est que le code que j'emploie ne marche pas.

    Si je fais par exemple ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    _AX = 0x4f00;
    _ES = Fp_SEG(carte);
    etc...

    ben il reconnait pas les _AX et _ES... c'est pourtant ce qui est mis dans le tuto. J'ai pourtant bien importer la lib dos.h ( je crois que c'est celle là qu'il faut )

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    En fait l'assembleur de gcc ne marche pas comme ça. Il est trop chiant. En plus pour le svga c'est plus compliqué que vga car il faut vérrifier pleins trucs et c'est reloo à la fin.

    Il utilise la syntaxe de l'assembleur AT&T, renseigne toi dessus.

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Il y a ce qu'il te faut là:
    http://www.cs.princeton.edu/courses/archive/fall99/cs318/Files/djgpp.html

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    Euh disons que j'arrive à compiler mon code asm sous builderc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
       asm
          {
          mov ax, 0x0e07
          xor bx, bx
          int 0x10
          }

    ca doit faire un beep. Mais ca fait rien... j'ai fait aussi un code pour changer de mode graphique, et ca fait rien non plus... faut activer qqchose ou pas ?

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Pour faire du SVGA je te conseillerai plutot d'utiliser le compilateur turbo compiler de borland. C'est du 16 bits mais c'est parfait pour les vieux modes graphiques et notament le fameux 13h

  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
    Borland Builder est un compilateur Win32. Ce qui veut dire que ton programme s'execute dans l'environement windows en mode protégé etc. et que l'int que tu appelle a une autre signification. Il me semble que si tu appelle l'int 10h par exemple tu aura une erreur d'exeption. (cec qui ne se produit pas sous dos etant donné que la plupart du temps il fonctionne en mode réel)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    En gros oui c ca l'erreur qu'il me donne. Bon ici je me lance dans le Turbo c pour voir un peu. J'ai vu qu'il y a un index avec bcp de fonction ( ca me rappelle le quickbasic) mais lorsque j'execute de l'asm, il plante. Je lui fournit un Tasm pourtant. Il me met un message : transfer vers tasm etc... puis plus rien de bon. Pourtant je fait qu'un bete


  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    Non j'aime vraiment pas le turbo c. Je préfère devc++... Ou pourrais trouver de la bonne documentation sur la programmation assembleur pour devc++... je connais l'assembleur mais j'aimerai savoir comment on l'introduit. Et comme à chaque fois on a des cas différents pour chaque compilateur, j'aimerai avoir des infos pour le devc++. Bon je sais, j'en demande des choses, mais j'aimerai vraiment savoir faire ca.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    je commence à comprendre comment ca marche sous dev. Mais j'essaie ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    asm("mov $0x13,%al\n 
           mov $0x00,%ah\n 
           int $0x10");
    et il m'indique qu'il ne peut pas accéder à la mémoir 0xfff.... etc... Or je ne lui demande pas d'aller dans la RAM pour lire des trucs, je veux juste lui donner des valeurs pour mettre dans les registres... si qqn si connait un peu pour la version asm-dev...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    L'erreur viendrait de l'appel de l'interruption, je vais voir pourquoi..

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Utilises le mode réel pour que ça marche. Donc compile avec Turbo C++. Pour son époque c'était un très bon compilateur. Sinon tu n'es pas obligé de te prendre la tête avec le SVGA car c'est trop lent et trop chiant.

    Je crois que tu fais une erreur dans ta syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    asm(
    "mov $0x13, %ax\n"
    "int $0x10\n" );
    Il faut utiliser des "" pour chaque instructions je crois.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    Zuuuuut, ca marche pas !! il dit que la mémoire à 0x0fffffff... ne peut pas etre lu... et ca c'est seulement pour le int... or ce code asm fonctionne. (j'ai essayé le tien)


    Je n'utilise pas Turbo c car il est instable chez moi... Et puis ce n'est pas une question de graphisme, j'aimerai pouvori de l'asm avec dev c tout.

  13. #13
    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
    Le fait dee ne pas mettre des guillemets a chaque ligne alonge juste la chaine, mais la syntaxe reste correcte.

    Tu as un message d'erreur de quel type ?? (ca ressemble a une exeption, ce qui voudrait dire que tu ne compile pas un programme DOS mais Win32)

    Le svga c'est pas lent, il faut juste recoder les fonctions qui ne sont pas adaptées pour ce mode. Le svga permet d'acceder a eds reolution plus élevée encore que 1600 * 1200.

    Cela dit tu peux tojours te mettre a l'asm Win32, seulement, il va falloir plutot penser a DirectDraw

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Points : 69
    Points
    69
    Par défaut
    Mon message d'erreur provient de l'int. On me dit que l'instruction à l'adresse xxxx veut accéder l'adresse xxxx en lecture et qu'il ne peut pas le faire. J'ai regardé le code asm généré par le compilo et j'ai vu deux version différente du int...

    et

    alors je me pose la question, dois je mettre en décimal ou en hexa ? et puis quand j'ai essayé de mettre int 3 ben il me le traduit par int 0x03...

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Le svga c'est pas lent
    Si, c'est le système de tableau de pointeurs qui ralenti énormément.

  16. #16
    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
    bien sur mais c'est comme tout ca s'optimise...

    il faut mettre int 0x10 en héxa. Si tu as une erreur, de ce type, (une exeption) c'est que tu es en mode protégé donc tu n'as pas le droit aux ints du BIOS. Pour y avoir le droit il faut compiler un porgramme 16 bits et non pas 32. Regarde aux niveaux des executables si il y en a pas un qui a son nom qui finit par 32 et un autre ui a le même nom exepté qu'il n'y a pas de 32. Regarde aussi la ligne de commande de ton compilateur.

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    bien sur mais c'est comme tout ca s'optimise...
    Si tu fais un code SVGA ultra rapide je suis preneur alors
    Non sérieusment SVGA c'est lent:
    - Ca n'utilise pas l'accélaration des carte graphique. Pour preuve désinstalle tes drivers et amuse toi à faire bouger une fenêtre.
    - Le système des tableaux de pointeurs ça ralentit énormément comme je l'ai déjà dis et même ave un code optimisé.
    - C'est un peu dépassé de s'attaquer sur la mémoire pour dessiner sur l'écran. Par contre c'est un bon apprentissage pour comprendre le fonctionnent.

    blustuff >> Tu penses qu'un jour on sera d'accord sur qqch?

Discussions similaires

  1. voir les modifs en mode multi utilisateur
    Par Zzapi dans le forum Bases de données
    Réponses: 19
    Dernier message: 20/08/2007, 10h28
  2. [Visual Web] impossible de voir le mode design
    Par diamonds dans le forum NetBeans
    Réponses: 3
    Dernier message: 22/02/2007, 07h12
  3. Capture video en mode texte avec DevC++
    Par Mercenary Developer dans le forum Dev-C++
    Réponses: 3
    Dernier message: 03/10/2006, 14h05
  4. Accès permanents, voir son propre profil en mode View
    Par TicTacToe dans le forum Evolutions du club
    Réponses: 3
    Dernier message: 30/03/2006, 13h57
  5. Logiciel pour voir ses image en mode console
    Par Senaku-seishin dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 28/11/2004, 22h11

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