La porta parallela

Ricerca delle porte


Il sistema operativo che usiamo, sia DOS che Windows che Unix è sempre in grado di gestire le porte parallele ma può farlo solamente grazie al BIOS che preventivamente ha provveduto a verificarne l'esistenza sulla macchina.

All'avvio del PC, viene iniziata la procedura di POST (Power on Self Test) in cui il BIOS verifica lo stato dei componenti fondamentali del computer. Per verificare la presenza delle porte, il BIOS prova a scrivere nei loro registri che si trovano sempre ad indirizzi predefiniti:

03BCH - 03BFH - Porta parallela 1 (su scheda grafica)
0378H - 037FH - Porta parallela 2
0278H - 027FH - Porta parallela 3


Il BIOS prova a scrivere negli indirizzi in questione il byte 0AAH (10101010 in binario) e successivamente a rileggerlo. Se il valore letto è ancora 0AAH, la porta è presente nel sistema altrimenti no. Nel caso sia presente, il sistema gli assegna un numero partendo da 0 fino ad un massimo di 2 (infatti il massimo di porte possibili è 3). In seguito il DOS riconosce la porta 0 come LPT1, la 1 (se esiste) come LPT2 e la 2 (se esiste) come LPT3.

Nella maggior parte dei casi, la porta parallela su scheda grafica non esiste più visto che veniva utilizzata negli anni passata sulle vecchie schede MDA o Hercules. E' quindi molto probabile che il PC riconosca solamente le porte parallele agli indirizzi 0378H - 037FH o 0278H - 027FH.

Il BIOS, alla fine del POST, scrive nella variabile di sistema 0000:0410H 2 bytes (410H e 411H) in cui elenca informazioni sulle periferiche quali porte parallele, seriali, joystick, floppy ed altro. Negli ultimi 2 bits (il 15 ed il 16) della locazione 411H possiamo trovare le informazioni sulle porte parallele installate:

00 - Nessuna porta
01 - Una porta
10 - Due porte
11 - Tre porte