begin process at 2012 05 25 01:44:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Système d'exploitation

 > 

Autre

 > 

Accès à la souris en mode réel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Accès à la souris en mode réel

vendredi 18 février 2011 à 10:50:14 | Accès à la souris en mode réel

jud83




Jud83
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.
vendredi 18 février 2011 à 11:02:28 | Re : Accès à la souris en mode réel

ToutEnMasm

Réponse acceptée !
Il faut écrire une procédure de dialogue avec le port usb ou se trouve la souris.
google 'usb souris asm' et on trouve un paquet de sujets et d'exemples.
samedi 19 février 2011 à 16:48:50 | Re : Accès à la souris en mode réel

patatalo

Membre Club Administrateur CodeS-SourceS
salut,


Il n'y a rien au niveau du bios pour acceder à la souris, au mieux, elle sera émulée en PS/2 et si le matos est vraiment vieux, elle sera en interface serie (COM) .

L'interruption 33h est une interruption du DOS. Le dos charge un driver pour activer cette interruption.

Si tu veux parler d'O.S., il faudra que tu fasses tes propres pilotes pour les différents materiels existants. Inutile de te dire que plus le temps avance, plus le nombre devient important et donc l'O.S. a plus de travail pour determiner le materiel présent.

Creer un pilote USB serait ce qui me paraîtrait le plus d'actualité. Pour ce faire, il faut de la doc sur le materiel et sa manière de s'interfacer (zones memoires, acces E/S, ...), ses spécifications d'une manière générale.

Les pilotes sont la partie changeante de l'O.S. mais son vrai travail sera de partager les ressources entre les différents élements (memoire, temps processeur, ...)

Je ne te conseille pas de continuer sur le mode réel. Trop limité et beaucoup moins fun. Ne serait-ce que les instructions d'acces à la mémoire, le mode protégé permet que tous les registres généraux puissent servir de base ou de déplacement, le mode réel est limité aux registres bx, si et di. Dans tous les cas, ton O.S. sera obligé de passer en mode protégé à certains moments. Le bios dispose d'une interruption pour cela mais c'est ton O.S. ou c'est le bios qui est l'O.S. ?

Sur le net, tu trouveras un document PDF qui a été écrit par le prof de Linus Torvalds si mes souvenirs sont bons. Il indique les spécifications d'un O.S., il est excellent et téléchargeable gratuitement mais je ne me rappelles plus ni où ni son nom et je ne l'ai pas sous les yeux. Tu ne trouveras que des docs en anglais donc, tu peux t'y coller dès maintenant.

Pour finir, l'assembleur n'est pas un language portable. Si tu veux que ton O.S. puisse s'executer sur différentes machines sans devoir tout reprogrammer, tu devras programmer en C ou C++. Cela te permettra de compiler pour des machines différentes

@++
samedi 19 février 2011 à 18:51:06 | Re : Accès à la souris en mode réel

jud83




Jud83
Bonjour,
et tout d'abord merci pour vos conseils.
Je précise l'objet de ma demande : Je ne cherche pas à faire un OS qui rivalise avec Win 7 ou Linux. Je cherche juste à comprendre comment ça marche. Le mode protégé je le ferai aussi (plus tard). Pour l'instant j'en suis au mode réel.
Avant de faire un mini noyau en C, je fais un boot loader en ASM. Dans ce boot loader j'en profite pour faire des tests pour savoir comment accéder uniquement aux matériels suivants : écran, clavier,dd et souris. Et donc je n'arrive pas à savoir comment accéder à la souris (USB ou PS/2). Dois utiliser les int (lesquelles ?), ou par les ports (lesquels et quelles adresses ?) par un autre moyen que j'ignore ?
Je ne cherche pas à écrire des drivers et surtout pas pour des matériels autres que ceux que j'ai cités.
Mais forcément et même sans OS chargé, il se passe quelque chose quand une souris est connectée au PC. Quoi ? Où ? et comment accéder à ce quelque chose est mon problème.


Cette discussion est classée dans : os, accès, réel, souris, mode


Répondre à ce message

Sujets en rapport avec ce message

NASM en mode protégé [ par webfish ] Salut, Jusqu'à maintenant, j'ai fais de l'assembleur en mode réél avec NASM, et j'aimerais essayer le mode protégé. Comment commencer, Existe-t-il d Cherche développeurs asm pour OS [ par Shinji ] Salut, je cherche des gens intéressés par le développement d'un système d'exploitation sur x86 en asm (pour commencer).J'essaie seul pour le moment et Programmation d'un os [ par aladdin ] je suis developpeur d'un mini OS 16bits pr l'instant, et jaimerais bien savoir si qqn connet comment on peut obtenir des information systeme en mode r faire du C en mode reel avec gcc [ par ninis ] Je n'arrive pas a generer du code en mode protege sur une archi i386 avec gcc ... kelk1 saurait comment generer des fichiers .o dans ce mode ?? Modes video [ par comax ] Voilà, je voulais savoir comment on faisait pour changez de mode video. Mais pas les mode video du style VGA 320*200 et 256 couleur ! Moi je veux des Programmation assembleur d'un pilote de souris serie [ par Scaq ] COUCOU, C SCAQ...J'ai du mal à recevoir les données de ma souris serie Hide Window sous Masm [ par Stormy ] StormyJ'ai une application parfaitement fonctionnelle sous masm32. Je souhaite la rendre "cachée" soit en mode Hide. Celle-ci comporte plusieurs zones mode 13h de la video [ par poissonpane ] please help , j'en peux plus.........bon. j'me lance dans l'asm et je suis en train de m'essayer à la prog graphique.je me suis naturellement tourné v mode protégé [ par TRAX44 ] Bonjour,je voudrai savoir cmt pa c en mode protégé sans aucun drivers ou autre! J'ai surtout des pb avec la gdt je compren pas vraiment cmt sa marche prob mode protégé pour graphisme [ par prunkdump ] Bonjours afin de testé un de mes programmes qui passe en mode protégé j'ai éssayé de renplir en 32bits le buffer d'écran en mode graphique 13h. Au déb


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales