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


Anmelden zum Antworten