grafikausgabe ohne betriebssystem?



  • geht sowas?



  • Aber klaro, was meinst du denn wiie das Betriebssystem selber das hinbekommt 😉

    Ganz trivial ist die Sache aber nicht, je nach Grafikmodus.
    Am simpelsten sind die Textmodi, da schreibt man einfach ab Adresse 0xA0000 jeweils ein byte fürs Zeichen und eins Für die Farbe, z.B.
    mov [A0002], 'A'
    mov [A0003], 0x12

    Schreibt in Spalte 2, Zeile 1 ein grünes A auf blauem Hintergrund (1 ist die Farbe blau, 2 grün afair).

    Auch der VGA-Modus ist ansich noch recht einfach,m dort lagern die Pixel halt alle ab 0xA0000, ich weiß aber nicht mehr ganz genau, ob in einem Byte 2 Pixel drinstecken, das hängt auch voim Grafikmodus ab.

    Schwierig wirds, wenn man SVGA-Modi haben möchte, spätestens da muss man sich nämlich einen Grafikkartentreiber schreiben, der direkt mit der Graka interagiert.



  • da is wohl ein bisschen was falsch. der text-mode-speicher befindet sich an der adrese 0xB800 und in dem grafikmodus 0x13 (320*200*256) ist jedes byte 1 pixel. bei den svga-modi muss man net unbed. extra treiber schreiben, geht auch übers bios (man braucht ja nur bank-switching)

    cu todo



  • Original erstellt von todo:
    da is wohl ein bisschen was falsch. der text-mode-speicher befindet sich an der adrese 0xB800

    Ok, den hatte ich verwechselt mitm Grafikspeicher.

    **
    und in dem grafikmodus 0x13 (320*200*256) ist jedes byte 1 pixel.
    **

    Ja, in dem einen Grafikmodus, und was ist mit den 18 anderen? 🙂

    **
    bei den svga-modi muss man net unbed. extra treiber schreiben, geht auch übers bios (man braucht ja nur bank-switching)
    **

    Ja, solange du im Realmode bleibst, mag das klappen, das macht aber kaum noch wer, der soweit ist, in einem eigenen OS SVGA zu benutzen.



  • Da verweise ich doch mal wieder auf die FAQ. Stichwort VBE 3.0. Diese VESA-Version funktioniert auch im Protected Mode (Direkter Speicherzugriff => kein Bankswitching mehr noetig) und ist AFAIK in allen neueren Grakas implementiert.



  • Geht eben nicht unbedingt!
    Nur im RMode, im PMode kannst du die Ausgabe ohne OS vergessen (Aber da geht eh kaum was ohne OS)!



  • Original erstellt von -bg-:
    Geht eben nicht unbedingt!
    Nur im RMode, im PMode kannst du die Ausgabe ohne OS vergessen (Aber da geht eh kaum was ohne OS)!

    Es sei denn du bist das OS 🙂 Und wenn kein OS vorhanden ist, ist das was läuft zu einem OS äquivalent zu sehen...



  • Jetzt währe ne exakte def. von OS interessant.
    Ein OS managed die Res. für einen oder mehrere Tasks.
    Ein Task jedoch kann sich die ihm zur Verfügung gestellten Res. jedoch selbst "einteilen".
    Das ist aber rein theorethischer Natur und mir eigentlich auch egal, da sich damit hier kein praktisches Problem lösen lässt.

    Aber ich hoffe die Frage die ich oben stellen wollte ist klar,
    läuf dein Prog OHNE anderes OS (insbesonder PMode OS)?


Anmelden zum Antworten