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

Programmation d'OS Assembleur Discussion :

Accès à la souris en mode réel


Sujet :

Programmation d'OS Assembleur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Accès à la souris en mode réel
    Bonjour,

    Je souhaite (pour culture générale) développer un OS. Dans un premier temps, en mode réel. Je réalise donc un boot loader en ASM (NASM).
    Je fais différents essais dans ce boot loader pour m'assurer que je peux interagir avec les matériels suivants :
    Ecran : Réalisé. Pas de pb pour écrire des caractères ou des pixels => OK
    Disque : Non réalisé, mais je pense pouvoir le faire sans trop de pb
    Clavier : Idem Disque
    Souris : Là, je bloque complètement.

    D'où ma question : Comment peut-on accéder et programmer la souris ? L'interruption 33h n'est pas disponible pour le faire (car aucun OS n'est chargé).
    Mon but est de détecter la présence de la souris, les clicks sur les boutons et la position de la souris. Pour l'affichage du curseur, à la limite, je pourrai créer une routine qui affiche un curseur, mais comment accéder aux informations de click et de position ? Via un accès à une zone mémoire ? laquelle ? par un autre moyen ? lequel ?

    Pour info, j'utilise NASM sur Windows 7, et je crée ma disquette de boot via Linux (émulé dans VirtualBox sous Windows 7) et je lance mon OS via Bochs.

    Merci de vos réponses, surtout si elles s'adressent à la compréhension d'un "débutant" dans le domaine.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Bonjour,

    Ça dépend de ce sur quoi est branchée ta souris.

    Si c'est sur l'USB, soit il y a des extensions BIOS dédiées (que je ne connais pas), soit il faut réécrire la gestion du bus en entier avant d'arriver spécifiquement au périphérique concerné (prévois quelques années de travail) ;

    Si c'est sur le port PS/2 par contre, tu peux aller le lire directement (attention, le clavier y sera multiplexé avec). La technologie clavier-souris PS/2 est merdique depuis la connectique jusqu'à son protocole, mais celui-ci présente au moins l'avantage d'être relativement simple, et donc d'être abordable quand on programme en assembleur.

    Vois, donc, du côté du port 64h, ici : ici et ici.

  3. #3
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    Le BIOS emule une souris PS/2 sur les PC recents (apres 1998), à partir d'une souris USB
    idem le clavier.

Discussions similaires

  1. Mode Réel et accès mémoire FLAT
    Par Forthman dans le forum Contribuez
    Réponses: 1
    Dernier message: 03/01/2014, 11h59
  2. VESA - Mode réel / protégé / EMS-XMS
    Par zdra dans le forum x86 16-bits
    Réponses: 35
    Dernier message: 21/08/2010, 10h39
  3. [Débutant] Segmentation mode réel / mode protégé
    Par vivid dans le forum Assembleur
    Réponses: 14
    Dernier message: 21/02/2006, 19h31
  4. [GNU Pascal] Utiliser la souris en mode texte
    Par jack412f dans le forum Autres IDE
    Réponses: 6
    Dernier message: 21/05/2004, 01h09
  5. [EPROM] Adressage en mode réel
    Par ruda.tom dans le forum Assembleur
    Réponses: 16
    Dernier message: 05/11/2003, 23h56

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