Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: OsDevNewbie am 27. January 2015, 13:13

Titel: CGA ändern der Adresse
Beitrag von: OsDevNewbie am 27. January 2015, 13:13
Hallo,
um eine Konsole zu implementieren, welche 8 Terminals enthält habe ich mir gedacht ich nutze das Feature der Grafikkarte die Adresse zu ändern. Sobald ich aber die Adresse auf die Adresse 0xB9000 ändere steht nichts am Bildschirm, obwohl dort etwas stehen sollte.
Ich weiss nicht woran es liegt.
Ich hoffe ihr könnt mir helfen.
Titel: Re: CGA ändern der Adresse
Beitrag von: kevin am 27. January 2015, 14:14
Im Wiki gibt es doch sogar Beispielcode: http://www.lowlevel.eu/wiki/CGA#Start_Address
Titel: Re: CGA ändern der Adresse
Beitrag von: OsDevNewbie am 27. January 2015, 15:30
Ja aber warum wird denn dort page * 2048 gerechnet? Müsste man nicht page * 4096 rechnen, da jedes Zeichen 2 Bytes benötigt?
Titel: Re: CGA ändern der Adresse
Beitrag von: kevin am 27. January 2015, 16:43
Zitat
Die Register 12 und 13 geben das Offset an, an dem das erste darzustellende Zeichen auf dem Bildschirm, also das Zeichen oben links, steht. Dabei ist zu beachten, dass die Berechnung des Offsets wie die Berechnung der Cursorposition (siehe unten) verläuft. Das heißt das Offset darf nicht mit 2 multipliziert werden, um die Attribute einzubeziehen.
Wer lesen kann, ist klar im Vorteil.
Titel: Re: CGA ändern der Adresse
Beitrag von: OsDevNewbie am 27. January 2015, 17:05
Oh ups da hab ich wohl nicht richtig gelesen xD