+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  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 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    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 515
    Points : 14 176
    Points
    14 176

    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
    471
    Détails du profil
    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : décembre 2007
    Messages : 471
    Points : 628
    Points
    628

    Par défaut

    Le BIOS emule une souris PS/2 sur les PC recents (apres 1998), à partir d'une souris USB
    idem le clavier.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •