Tout sans int

Signaler
Messages postés
93
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
20 juillet 2006
-
Messages postés
1
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
1 février 2005
-
salut,
je chercherai les adresse de ports de différente périphérique et autre tel que le clavier, la souris, l'écran et tout sa (dans le but de faire un OS en pmode)!!!!

13 réponses

Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Pour le clavier c'est 60h
Pour l'ecran c'est très variable il faut utiliser les structures Plug an Play crées par le BIOS mais pour le standard VGA il y a des ports standards qui vont de 380h à 3BBh et de 3C0h à 3DFh.

Sous windows tu peux voir ces infos en voyant les propiétes système par le paneau de contrôle dans l'onglet resources de chaque périphérique.

Sinon regade le lien suivant attention c'est en anglais mais tu auras toutes infos
http://www.nondot.org/sabre/os/articles

Core Breaker :)
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Moi aussi j'essaie et cela depuis 5 ans. Ce qui me ralentit c'est le même problème que toi à savoir les drivers il faut donc que ailles à la pêche aux infos sur le WEB ! A mon avis tu n'auras pas tout ici car c'est beaucoup trop technique. En 5 ans de recherche il me reste encore des périphériques recalcitrants: le bus AGP, l'accélération 2D/3D, les périphériques videos comme la web cam ou les cartes TV, la partie graveur (et pas lecture d'un graveur), l'impression graphique (l'impression texte est simple), la partie MIDI des cartes sons, le bus USB, les cartes réseau, et quelques autres encore.

Je n'ai pu avoir de manière complète que les disques durs, le lecteur de disquette, le clavier, la souris, la gestion de l'ATX.

C'est un travail assez laborieux !

Core Breaker :)
Messages postés
20
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
12 octobre 2006

Yop,

Il existe aussi la liste des interruptions et ports de Ralph Brown si je ne me trompe.
CZest aussi une mine dZinformations.

Sen3 [CodingSkillaz http://codingskillz.free.fr]
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
La référence en la matière reste tout de même l'interrupt list !

Core Breaker :)
Messages postés
93
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
20 juillet 2006

salut,
tu avais dit que tu avait d'autre ports pourrait tu me les donnés stp (disque dur et autres...)
merci
Messages postés
93
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
20 juillet 2006

SALut, pour le clavier g essayer ; mais le problème quand je tape la 16° touche, mon PC se met à bipper et ralentir (C1 très vieu PC). Es qu'il faudrait vider un buffer ou autre??
TRAX
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Pour le disque dur c'est 1F0h à 1F7 pour IDE0 et 170 à 177 pour IDE1. Tu peux touver toutes les plages de port dans le propriétés système des périphériques sous windows (icone système du paneau de config et onglet ressouce pour chaque périphériques)

La plupart de mes infos viennent du site http://www.nondot.org/sabre/os/articles

Core Breaker :)
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Non il suffit de rediriger l'interruption 08h et ne pas oublier de signaler au contrôleur d'interruption ainsi:
mov al, 0x20
out 0x20, al


Core Breaker :)
Messages postés
93
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
20 juillet 2006

salut,
si je veu utiliser le port 60 c pour eviter les int cmt faire
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Ca dépend ce que tu veux faire du clavier.

L'int 09h est l'interruption matérielle liée à l'IRQ 1 gérer l'int 9 permet de prendre un scan code du clavier lorque une touche est pressée ou relâchée. Il n'est pas habituel de lire le port 60h sans s'assurer qu'il y a des données dans le buffer interne du contrôleur de clavier.

Cela se fait ainsi:
cli
xor cx, cx
testloop:
in al, 64h
test al, 1
loopz testloop
jz pascar
mov ah, 1
in al, 60h
jmp fin
pascar:
xor ax, ax
fin:
sti


ah= 0 s'il n'y a pas de touche sinon al contient le scan code.
C'est pas garanti mais ça devrait marcher

Core Breaker :)
Messages postés
4
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
29 novembre 2003

Comment peut on faire pour savoir si plusieurs touches ont été pressées (sans interruption si possible)?
people=shit
Messages postés
11
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
21 mars 2011

x86/MS-DOS Interrupt List, Release 61. A comprehensive listing of interrupt calls, both documented and undocumented, plus ports/memory/CMOS/etc. Over 9600 entries (plus 5400 tables), along with utility programs and viewers, hypertext conversion programs and WinHelp utilities. Freeware by Ralf Brown.
http://www.powerbasic.com/files/pub/asm/INTER61.ZIP
Messages postés
1
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
1 février 2005

Salut,



ancien du Z80 et de l'amiga ( 68000), j'ai lâché l'assembleur un peu après le 386 quand je suis passé au PC..



Il me semble que tu t'y entends bien en x86



J'aimerais en savoir plus sur le "mode kernel", je suis en grand débat
sur un autre forum avec quelqu'un qui me maintient que tu peux pas
attaquer le hardaware ( avec des IN et OUT, bref à l'ancienne quoi..
;-) ) come par exemple un controleur de HD, et remplir un disque dur
avec des "zéros" tout en étant "simple user" sous Linux... Perso, j'y
crois pas, mais j'ai pas toutes les infos alors je cherche un peu
d'aide.



Cordialement.



Jo.