Autor Thema: Kernel (Grub) Bildschrimschreiben...  (Gelesen 4863 mal)

B.G.

  • Beiträge: 27
    • Profil anzeigen
Gespeichert
« am: 03. July 2005, 17:13 »
Ich habe ein Problem. Wenn ich mit meinem Kernel den ich von Grub laden lasse versuche auf den Bildschirm zu schreiben kommen nur seltsamme Zeichen dabei raus.

Hier der Code zum Schreiben:


void puts(char *_msg)
{
  int i;
  int pos = 0;
  for (i=0; _msg[i] != '\0'; i++)
  {
    if (_msg[i] == '\n')
    {
       cury++;
       curx=0;  
    }
    else if (_msg[i] == '\r')
    {
      curx=0;
    }
    else
    {
      pos = (cury*80 + curx)*2;    
      videomem[pos] = _msg[i];
      videomem[pos+1] = color;
      curx++;
      if (curx >= 80)
      {
        cury++;
        curx=0;
      }
      if (cury >=25)
      {
        clear_screen();
      }
    }
  }
  move_csr();
}


Ich versteh echt nicht wo da der fehler liegt. Testen tu ichs auf nem i686er im PM (kalr, ist ja von Grub geladen...)

Edit: Schon gut, diese Teile hab ich aus dem alten Kernel von mir übernommen. Bei dem Blick ich nur dummerweise nicht mehr durch da ich alles in nur 3 Dateien gestopf habe (Main: nur Main Funktion, Konsole: Ne Console, System: ALLES andere...). Damals hatte ich seltsamme angewohnheiten... (u.A, Windows zu verwenden und Includes mit "#include "Include\xx.h"" einzubinden anstatt -i beim gcc zu nutzen...

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #1 am: 03. July 2005, 18:31 »
Da kriegt man ja Brechreiz *g*
Wie kommt man auf die Idee nach einem If-Block ein Semikolon zu setzen?
Und nach dem for? Die müssen da alle weg^^
Semikoli kommen nur beim Ende von Anweisungen (if block ist keine anweisung sondern ein konstrukt) oder nach klassen,struct usw.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

 

Einloggen