tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
229
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DavidB3 DavidB3 ist offline Mitglied Bronze
    Registriert seit
    May 2009
    Beiträge
    47
    Hallo,
    ich versuche meinem Betriebssystem eine ordentliche Auflösung zuverpassen. Doch dabei bin ich auf ein kleines Problem gestoßen. Am Anfang hat alles ohne Probleme funktioniert, doch auf einmal leif garnichts mehr.
    Ich hab die Pixel so in den Speicher geschrieben, wie es sonst auch bei VGA war, bloß mit einer anderen Adresse.
    Code :
    1
    2
    3
    4
    
    void SetPixel(unsigned int x, unsigned int y, UCHAR color)
    {    
        VesaAdress[(y*SCREEN_WIDTH)+x] = color;
    }
    Doch ich versteh das Problem nicht, warum das aufeinmal nicht mehr funktioniert.
     

  2. #2
    Anfänger92 Anfänger92 ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Ort
    Wesel (NRW)
    Beiträge
    217
    Hallo.

    Ich versetehe nicht so ganz wie du das meinst. Hat es mit VESA-Grafik schon funktioniert oder funktioniert es nicht mehr seit du sie aktiviert ?

    Im zweiten Fall würde ich nochmal Überprüfen ob du VESA auch richtig eingestellt hast.

    Außerdem muss bei VESA doch immer der Bildschirm Aktualisiert werden oder?
    Code :
    1
    
    inportb(0x3DA) & 0x08
    Quelle: http://osdever.net/tutorials/GUI_tut.php <-- Ist ziemlich mittig.

    Dein Code sieht erstmal richtig aus falls du im 8Bit Farbmodus bist.
    Darüber muss der Pixel ja größer sein als deiner UCHAR Wert was dann zu ziemlich schrägen Ergebnissen kommt.

    Gruß Anfänger.


    PS:
    Wenn du du Seiten nicht schon kennst, hier 2 Seiten zur OS programmierung. Beide haben auch ein Forum mit Spzeialisten zu diesem Gebiet.

    http://lowlevel.brainsware.org/wiki/...php/Hauptseite (Deutsch)

    http://www.osdev.org/ (Englisch)
    Geändert von Anfänger92 (22.05.09 um 06:53 Uhr)
     

  3. #3
    DavidB3 DavidB3 ist offline Mitglied Bronze
    Registriert seit
    May 2009
    Beiträge
    47
    Es hat schon einmal alles funktioniert. Und ich denke, Vesa ist auch richtig eingestellt, es funktioniert ja in Assembler, bloß in C hat es irgendwie seine Mängel
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  2. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  3. PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
    Von hennym im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 6
    Letzter Beitrag: 17.09.03, 22:09
  4. Vesa
    Von akosch im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 04.05.03, 03:58
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29