Grafikausgabe "im Bios"



  • Hallo Zusammen,

    ich hab mir in letzter Zeit einige Tutorials zu Sachen Bootloader, Dateisysteme, etc. durchgelesen ->da ihr mir ja letztes Mal so tolle Links zu guten Tutorial-Pages zu dem Thema (Betriebssysteme) gegeben habt ­čÖé DANKE NOCHMALS!

    Hab auch schon paar Beispiel-Programmlies gefunden - nur wie machen die ganzen Betriebssysteme die Grafikausgabe ? Muss ich dazu selbst einen Grafikkartentreiber schreiben oder ... geht das auch ├╝ber die Bios-Interrupts ?.. Ich finde Tonnen an Einf├╝hrungen zu Bootloadern, die Strings auf dem Bildschirm ausgeben, weiterhin viele Tutorials die Dateisysteme, Protected-Mode usw. erkl├Ąren aber ich hab bis jetzt keins gefunden in dem man lesen kann wie man etwas auf den Bildschirm zeichnet...;(

    W├╝rde mich freuen wenn mir da jemand helfen k├Ânnte

    Sch├Ânen Gru├č
    Xzibit



  • so schwer ist das gar nicht, erstmal muss man in den Grafikmodus schalten (es gibt mehrere) und dann an eine bestimmte Adresse die Farben von den einzelnen Pixel schreiben

    am einfachsten geht das mit VGA, such einfach mal danach, da gibt es ziemlich viele Tutorials dr├╝ber



  • Xzibit schrieb:

    Hallo Zusammen,

    ich hab mir in letzter Zeit einige Tutorials zu Sachen Bootloader, Dateisysteme, etc. durchgelesen ->da ihr mir ja letztes Mal so tolle Links zu guten Tutorial-Pages zu dem Thema (Betriebssysteme) gegeben habt ­čÖé DANKE NOCHMALS!

    Hab auch schon paar Beispiel-Programmlies gefunden - nur wie machen die ganzen Betriebssysteme die Grafikausgabe ? Muss ich dazu selbst einen Grafikkartentreiber schreiben oder ... geht das auch ├╝ber die Bios-Interrupts ?.. Ich finde Tonnen an Einf├╝hrungen zu Bootloadern, die Strings auf dem Bildschirm ausgeben, weiterhin viele Tutorials die Dateisysteme, Protected-Mode usw. erkl├Ąren aber ich hab bis jetzt keins gefunden in dem man lesen kann wie man etwas auf den Bildschirm zeichnet...;(

    W├╝rde mich freuen wenn mir da jemand helfen k├Ânnte

    Sch├Ânen Gru├č
    Xzibit

    ;ah = funktionsnummer == 0 (0 == set video mode)
    ;al = modenummer == 13 (13 == 320x200x8)
    mov ax , 0x0013
    int 0x10 ; der entsprechende Interrupt
    

    Danach musst du nur an die adresse 0xa000:0x0000 schreiben. (also es f├Ąngt bei 0xa000:0x0000 an. Dieser SPeicherberecih geht bin 0xa000:0x0000+320*200)



  • Leider kannst du mit VGA keine gr├Â├čeren Aufl├Âsungen benutzen,
    da musst du dann auf VESA umsteigen und das ist weitaus komplizierter

    soweit ich weis ist VESA auch mit den unterschiedlichen Grafikkarten unterschiedlich
    und sowas wie ne NE2000 gibts da glaub ich auch nicht



  • Uff:
    1. FAQ
    2. VGA kann AFAIK maximal 640x480-"Normal"-Grafik - mit haesslichem Gebastel geht sicher noch mehr...
    3. So unmoeglich kompliziert ist VESA nun auch wieder nicht... Nicht mal im Protected Mode.



  • wenn ich mich recht erinnere gibt es schon Modi die 640x480 unterst├╝tzen, diese werden aber nicht von allen Grafikkarten unterst├╝zt,
    oder das waren die Modi mit den wenigen Farben

    ich weis nicht mehr, aufjedenfall hab ich irgendeinen 320x200 Modus benutzt, weil der eigentlich der optimalste war (mit weniger als 256 kann man nicht so gut rechnen)

    ob VESA schwer ist kann ja jeder sehen wie er will, aber im Gegensatz zu VGA ist es aufjedenfall mal ein ganzes St├╝ck schwerer



  • Yeah goil !! Vielen vielen Dank an ALLE
    Ihr habt mir da schon sehr viel weitergeholfen. ­čÖé

    Sch├Ânen Gru├č noch
    Xzibit


Log in to reply