Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: hannibal am 27. April 2005, 14:55
-
..tut irgendwie nicht das, was er tun soll!
ich bekomms nicht auf die reihe eine einfache echo-funktion zu schreiben..jedesmal, wenn ichs nach dem schema des ckernel-tut-codes mache scheint bochs in einer tour zu rebooten o___O!
hat jemand eine idee wieso das so ist?
char *vm = (char *)0xb8000;
void printc(char c)
{
*vm++;
*vm = c;
*vm++;
*vm = 7;
}
lg, hannibal
-
..tut irgendwie nicht das, was er tun soll!
char *vm = (char *)0xb8000;
void printc(char c)
{
*vm++;
*vm = c;
...
mit dem code wird doch das zeichen, das du schreiben willst als farbe und die farbe 0x07 als zweites zeichen auf dem bildschirm interpretiert! (, oder nicht?)
-
So sollte es stimmen:
char *vm = (char *)0xb8000;
void printc(char c)
{
*vm++ = c;
*vm++ = 7;
}
-
Ich denke der eigentliche Fehler liegt vorher^^
-
Ich denke der eigentliche Fehler liegt vorher^^
dann passt aber was an den tuts nicht, hab die 1:1 kopiert um in C weiter zu machen, da mit asm etwas zu viel aufwand ist.
lg, hannibal
-
Keine Ahnung ob dort einer ist. Hab nie danach gebastelt.
-
Schau mal, ob du den Kernel an die richtige Stelle lädst :)
-
Und ob im linkerfile alles richtig ist, dort passieren auch oft Fehler, 0 vergessen und sowas.
-
Das meinte ich damit auch, also die Adresse im Linkerfile :)