A20-Gate — Änderungen 2886 → 3054

Zeile 118: Zeile 118:
  
 
[http://www.jay-code.de/files/a20gate.asm Download]
 
[http://www.jay-code.de/files/a20gate.asm Download]
 +
 +
==Einschalten mittel System Control Port A==
 +
 +
Es gibt noch eine zweite Möglichkeit das A20 Gate zu aktivieren. Sie wurde erst später eingeführt, ist dementsprechend nicht auf jedem System verfügbar. Man benutzt dafür Port 0x92.
 +
Der Code dafür lautet:
 +
<asm>in al, 0x92                   
 +
or al, 02
 +
out 0x92, al
 +
</asm>
 +
Bei dieser Variante sei allerdings gesagt, dass sie immer wieder zu Problemen führt. Oft treten Bildprobleme auf oder es kommt zu Systemabstürzen. Sie ist allerdings bei weitem schneller als die Variante mittels KBC.
 +
 +
==Einschalten über das BIOS==
 +
 +
Es gibt sogar noch eine dritte Möglichkeit das A20 Gate zu aktiveren. Vorallem neuere Bios besitzen diese Möglichkeit. Dafür benutzt man INT 15h und AX=2401. Hier eine Kleine Tabelle:
 +
 +
INT 15h AX=2400 --> A20 auschalten<br />
 +
INT 15h AX=2401 --> A20 einschalten<br />
 +
INT 15h AX=2402 --> Status abfragen (AL: 0 --> aus; AL: 1 --> an)<br />
 +
INT 15h AX=2403 --> Support abfragen (BX bit 0: kbc; bit 1: Port 0x92)<br />
 +
 +
Wenn Erfolgreich: CF nicht gesetzt, AH = 00h<br />
 +
Bei Fehler: CF gesetzt, AH=Status<br />
 +
 +
Status:
 +
01h Keyboard im Secure Mode<br />
 +
86h Funktion wird nicht unterstützt<br />
 +
  
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]
 
[[Category:Hardware]]
 
[[Category:Hardware]]