Autor Thema: Nach neuinstallation, fehler  (Gelesen 7596 mal)

475

  • Beiträge: 17
    • Profil anzeigen
Gespeichert
« am: 17. July 2005, 20:39 »
Hi,

ich musste mein windoof neu installieren, was eigendlich kein problem ist. allerdings wollte ich danach mein os neu kompillieren (auch wider mit djgpp, allerdings wusste ich nicht mehr welche version ich davor hatte).
also probierte ich es mit gcc 4.0, was nicht ging.
also 3.6 versucht, da startet er nach einer weile neu und bei 3.4 auch.

Das prob kommt an folgender stelle:

Bootloader lädt Kernel soweit so gut
Vesa wird geladen, auch das geht noch.
Bildschirm mit der farbe füllen, geht nicht und wenn er dann einen pixel zeichnen will neustart.

allerdings verwende ich den gleichen code wie davor und da hat alles funktioniert!?!

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 18. July 2005, 18:46 »
Aus deiner Problembeschreibung ist keine klare Diagnose möglich.

Versuche, die alte Umgebung möglichst echt wiederherzustellen, d.h. gleiche Versionen bei Compiler, Debugger, Emulator etc. zu verwenden. Es sollte eigentlich nicht von geänderten Systemdateien abhängen. Hast du alle benötigten Tools von DJGPP heruntergeladen? Ausserdem, woher hast du gcc 4.0 für Windows?

475

  • Beiträge: 17
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 18. July 2005, 21:35 »
leider weiß ich nicht mehr, welche versionen ich hatte...

gcc habe ich von http://www.delorie.com/djgpp/


Komisch ist nur, warum startet der pc nach einer weile neu?
ich hab zwar vehlerhafte addressierung im hinterkopf, aber dann würde es nicht so lange dauern (so 10-20 sec)

-> acho so... ja ich habe alles runtergeladen

Legend

  • Beiträge: 635
    • Profil anzeigen
    • http://os.joachimnock.de
Gespeichert
« Antwort #3 am: 19. July 2005, 11:33 »
Versuch mal saemtliche Optimierungen abzuschalten. Seit 4.0 ist ja ein Grossteil davon beim GCC neu gemacht worden.
*post*

475

  • Beiträge: 17
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 19. July 2005, 15:08 »
es geht ja auch mit den 3.x nicht...

beim 4 hängt sich der pc auf und bei 3 startet er neu

475

  • Beiträge: 17
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 24. July 2005, 17:27 »
ok... war ein komischer fehler (wenn es einer war).

hab im kernel16 times weggelassen und schon ging es ???


aber jetzt kommt ein zweites prob.

Vesa initialisiert (mode 0x118) und die überprüfung ergiebt auch, dass ich 24Bit Farbtiefe habe. Jedoch zeichnet er immer nur in graustufen.
woran kann das liegen?

Zeichnen tu ich mit folgenden befehlen:

pos = ((y*swidth)+x)*(bpp/8);
VideoMem[pos] = B;
VideoMem[pos] = G;
VideoMem[pos] = R;


VideoMem zeigt auf VbeModePhysBasePtr.
Hab auch schon versucht nicht jede farbe einzeln reinzuladen sondern alle zusammen aber auch ohne erfolg...

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 25. July 2005, 15:11 »
du schreibst da 3x an dieselbe stelle (VideoMem[pos]). ist das so richtig?
Dieser Text wird unter jedem Beitrag angezeigt.

475

  • Beiträge: 17
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 26. July 2005, 01:58 »
hab das ++ jeweils vergessen (außer an der 1. stelle)

<-- Hab den Fehler mehr oder weniger gefunden... gcc 4.0 und es geht...

naja. ich hoffe mal mein windoof bleibt diesmal erhalten, dass ich nicht nochmal so was erlebe  :roll:

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 26. July 2005, 11:05 »
Du musst das '++' vor 'pos' schreiben, wenn dus erst in den Zeilen 3 und 4 schreibst.

 

Einloggen