|
Nom
|
Adresse |
|---|---|
|
LPT1
|
&H3BC |
|
LPT2
|
&H378 |
|
LPT3
|
&H278 |
Le BIOS IBM définie une table de quatre emplacements mémoire à partir de l'adresse &H408. Pendant le démarage de la machine le BIOS vérifie successivement les adresse &H3BC, &H378 et &H278 et stocke ces adresses dans cette table. Les emplacements non trouvés sont mise à &H00 ou à l'adresse du premier port valide trouvé. Le BIOS détecte la présence d'un port parrallèle en y écrivant le mot &HAA et le relisant ensuite. Si le BIOS relis &HAA, il considère qu'un port parrallèle est installé.
Remarques :
- Il faut faire attention si le port parrallèle n'est pas utilisé avec une imprimante que ce test ne perturbe pas le montage qui y est connecté.
- En cas de défaut forçant l'une des ligne de données à un potentiel différent de celui imposé par le test, la relecture ne donnera pas le résultat prévu et le port sera ignoré
Connecteur DB25 :
| Connecteur : | Photo : |
|
|
![]() |
| Broche | Type | Nom | Bit
du registre |
Description | |
|---|---|---|---|---|---|
| DB25 | Centronics | ||||
| 1 | 1 | S | /STROBE | C0 | Impulsion à '0' pour émettre. |
| 2 | 2 | S/(E) | D0 | D0 | Bit de donnée de poid faible. |
| 3 | 3 | S/(E) | D1 | D1 | Bit de donnée. |
| 4 | 4 | S/(E) | D2 | D2 | Bit de donnée. |
| 5 | 5 | S/(E) | D3 | D3 | Bit de donnée. |
| 6 | 6 | S/(E) | D4 | D4 | Bit de donnée. |
| 7 | 7 | S/(E) | D5 | D5 | Bit de donnée. |
| 8 | 8 | S/(E) | D6 | D6 | Bit de donnée. |
| 9 | 9 | S/(E) | D7 | D7 | Bit de donnée de poid fort. |
| 10 | 10 | E | /ACKNLG | S6 | Impulsion à '0' (5µs) à la réception. |
| 11 | 11 | E | Busy | S7 | Occupé, Offline ou erreur. |
| 12 | 12 | E | PE | S5 | Plus de papier. |
| 13 | 13 | E | SLTC | S4 | Imprimante sélectionnée |
| 14 | 14 | S | /LF | C1 | Avance d'une ligne. |
| 15 | 32 | E | /ERR | S3 | Plus de papier,Offline ou erreur. |
| 16 | 31 | S | /INIT | C2 | Impulsion à '0' pour initialiser. |
| 17 | 36 | S | /SELECT | C3 | A '0' pour sélectionner l'imprimante. |
| 18-25 | 19-30 | ... | Gnd | ... | Masse. |
| 18-25 | 16,17,33 | ... | Gnd | ... | Masse. |
| ... | 35 | ... | ... | ... | +5V (via 4,7k). |
Adresses des registres :
| Répartition des adresses d'E/S | ||
|---|---|---|
| Adresse | Lecture | Ecriture |
| Base + 0 | Données lues | Données écrites |
| Base + 1 | Registre d'état (bits 3 à 7) | ... |
| Base + 2 | Registre de commande (bits 0 à 5) | Registre de commande (bits 0 à 5) |
Registre d'état :
| Registre d'état | |||
|---|---|---|---|
| Bit | Nom | Niveau logique en entrée- Signification | |
| bit à '0' | bit à '1' | ||
| 0 à 2 | ... | Inutilisé | Inutilisé |
| 3 | /ERR | Niveau '0' - Erreur Imprimante | Niveau '1' - Pas d'erreur |
| 4 | SLCT | Niveau '0' - Offline | Niveau '1' - Online |
| 5 | PE | Niveau '0' - Pas d'erreur | Niveau '1' - Plus de papier |
| 6 | -ACK | Niveau '0' - Octet suivant | Niveau '1' - ... |
| 7 | Busy | Niveau '0' - Imprimante prète | Niveau '1' - Imprimante occupée |
Registre de commande :
| Registre de commande | |||
|---|---|---|---|
| Bit | Nom | Niveau logique en sortie - Signification | |
| à '0' | à '1' | ||
| 0 | /STROBE | Niveau '1' - Actif | Niveau '0' - Inactif |
| 1 | /LF | Niveau '1' - Retour à la ligne | Niveau '0' - ... |
| 2 | /INIT | Niveau '1' - Initialisation | Niveau '0' - ... |
| 3 | Slct | Niveau '0' - ... | Niveau '1' - Sélection de l'imprimante |
| 4 | EnIRQ | Interruption inhibée | Interruption validée |
| 5 | E/S | Port en sortie | Port en entrée |
| 6 à 7 | ... | Inutilisé | Inutilisé |