Spécification | Description |
---|---|
Fabricant | Novell |
Date de conception | 1987 |
Bus de données | ISA (Industry Standard Architecture) 8 bits ou 16 bits. |
Vitesse de transmission | 10 Mbps (Ethernet 10BASE-T). |
Protocole réseau | Compatible avec le protocole Ethernet II (DIX) et IEEE 802.3. |
Support matériel | Full-duplex non supporté (seulement half-duplex) |
Introduction
La Novell NE2000 est une carte réseau Ethernet largement utilisée dans les années 1980 et 1990. Elle est basée sur la puce National Semiconductor 8390 et a été conçue pour fonctionner dans des environnements réseau Novell NetWare.
La carte réseau Novell NE2000 est compatible avec un large éventail de pilotes réseau pour des systèmes d'exploitation tels que Novell NetWare, DOS, Windows 3.x, Windows 95, Windows 98, Linux, et d'autres systèmes d'exploitation prenant en charge les cartes Ethernet ISA.
La NE2000 a été largement clonée par d'autres fabricants (DE-220 et DE-250 de D-Link, RTL8019 et RTL8029 de Realtek, TP-LINK TF-3200 de TP-Link,...), et les cartes "compatibles NE2000" sont devenues extrêmement populaires en raison de leur prix bas et de leur support étendu.
Programmation
Pour détecter une carte réseau Novell NE2000 en Turbo Pascal, vous devrez interagir avec les ports d'entrée/sortie et les registres spécifiques de la carte pour vérifier si elle est présente sur le système. La carte NE2000 utilise le contrôleur DP8390 de National Semiconductor, et sa détection implique généralement la vérification de certains registres pour lire des signatures spécifiques et déterminer la présence de la carte.
Les cartes NE2000 sont configurées pour fonctionner à une adresse d'entrée/sortie typique de 300h. Cette adresse peut être configurée manuellement sur certaines cartes, mais elle reste généralement dans l'intervalle des ports d'entrée/sortie de 300h à 3FFh. La détection d'une NE2000 consiste à lire et écrire dans certains registres pour vérifier si la carte répond correctement. Un registre clef pour la détection est le registre de données du contrôleur DP8390. Si la carte est présente, elle doit répondre à des opérations de lecture/écriture spécifiques sur les registres de configuration.
- Program NE2KCHK;
-
- Uses
- Crt;
-
- Const
- NE2000_Base_IO = $300; { Adresse de base d'entrée/sortie pour la carte NE2000 }
- NE2000_Command_Register = NE2000_Base_IO + $00; { Registre de commande }
- NE2000_PageStart = NE2000_Base_IO + $01; { Page de début }
- NE2000_PageStop = NE2000_Base_IO + $02; { Page de fin }
- NE2000_BNRY = NE2000_Base_IO + $03; { Registre BNRY }
- NE2000_TSR = NE2000_Base_IO + $04; { Registre d'état de transmission }
- NE2000_ISR = NE2000_Base_IO + $07; { Registre d'état d'interruption }
-
- { Fonction pour détecter la carte NE2000 }
- Function DetectNE2000:Boolean;
- Var
- Id:Byte;
- Begin
- Port[NE2000_Command_Register]:=$21; { Passe la carte en mode d'arrêt et sélectionne la page 0 }
- { Lire le registre ISR pour vérifier si la carte répond }
- Id:=Port[NE2000_ISR];
- { Si le registre ISR contient une valeur non nulle, la carte est probablement présente }
- If Id<>$FF Then DetectNE2000:=True
- Else DetectNE2000:=False;
- End;
-
- BEGIN
- If(DetectNE2000)Then WriteLn('Carte Novell NE2000 détectée.')
- Else Writeln('Carte Novell NE2000 non détectée.');
- END.