p
u
b
l
i
c
i
t
é
publicité
  1. #1

    Profil pro
    Inscrit en
    avril 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : avril 2009
    Messages : 2
    Points : -1
    Points
    -1

    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
    Responsable Modération
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 996
    Points : 16 852
    Points
    16 852

    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 chevronné
    Avatar de edfed
    être humain
    Inscrit en
    décembre 2007
    Messages
    476
    Détails du profil
    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : décembre 2007
    Messages : 476
    Points : 627
    Points
    627
    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