Sourcecode Fortschritt
-
Revision 297:
- C++-Userprogramm kompiliert wieder, c++-Sourcefile für Userlib beigelegt (für C++-spezifische Features)
- Kleinere Umbauten und FormatierungskorrekturenPS: Ich bin dann bis Sonntag im Urlaub und von der Außenwelt abgeschnitten...
-
Revision 298:
* Bootscreen
-
Revision 299:
* Bootscreen: W spitzer
* ckernel.c: auskommentieren des Screenshot-Codes
-
Revision 300:
- BS wird nun vor der restlichen Ausgabe angezeigt, damit man diese vollständig sieht.
- BS in Funktion ausgelagert
-
Rev. 301:
paging.c: 0x400000 bis 0x600000 wird nicht mehr für User frei gegeben
ehci.c: beschleunigte Ausgabe
os.h/start.asm: USER-Stack 0x1420000
-
Revision 302:
* Leichte optische Anpassungen bei einem Systemfehler, dient der besseren Übersicht
Leider verweigert mein SVN-Client grundsätzlich das Hochladen des Diskettenimages. Ich bitte diesbezüglich um Verständnis.
-
Version 0.0.0.302 läuft auf VMWare, VBox, VPC, Qemu, Bochs
Bitte beachten, dass alte elf-Dateien, die mit esp 0x500000 oder 0x600000 in start.asm compiliert wurden, jetzt nicht mehr laufen.
-
Rev. 303:
task.c: nun den user-esp richtig übergeben in create_task
if (privilege == 3) { // general information: Intel 3A Chapter 5.12 *(--kernel_stack) = new_task->ss = 0x23; // ss *(--kernel_stack) = USER_STACK; // esp code_segment = 0x1B; // 0x18|0x3=0x1B }
start.asm: kein setzen des esp mehr notwendig, damit mehr Freiheit im OS
_start: ; mov esp, 0x1420000 ; stackpointer <--- nicht mehr notwendig call _main call _exit
-
Revision 304:
* Neue Startmelodie
// Melody // C Es F G F Es // C E F G F E C // http://www.flutepage.de/deutsch/goodies/frequenz.shtml (German) // http://www.flutepage.de/englisch/goodies/frequenz.shtml (English) beep(523,200); // C beep(622,200); // Es beep(689,200); // F beep(784,200); // G beep(689,200); // F beep(622,200); // Es beep(523,200); // C beep(659,200); // E beep(689,200); // F beep(784,200); // G beep(689,200); // F beep(659,200); // E beep(523,1000); // C
* Makefile verändert: Es werden jetzt FloppyImage.bin und FloppyImage.img erstellt => Kompatibilität verbessert und KERNEL.BIN wird beim clean gelöscht, weil der ab und zu noch das alte verwendet hat^^
* const char* version = "0.0.0.303"; wurde zu const char* version = "0.0.0.304";Leider läuft diese Version (bzw. die vorherigen) auf keinem meiner PCs.. einmal PF nach starten der Shell, einman GPF nach laden des Kernels (direkt GPF als erste Ausgabe)...
-
Rev. 305:
- Korrekturen in console.c (Hinweis +gjm+) integriert
- flush.asm (Kommentar verbessert)Ein PC stürzt noch bei der Eingabe einer gültigen Zahl in TTT ab. Das könnte aber auch am User-Programm liegen.
-
Rev. 306:
initEHCIflag auf false initialisiert (Dank an Cuervo für den Hinweis!)
-
Rev. 307:
TTT: atoi aus userlib verwendet, geringe Veränderungen bei Eingabe (auf einem PC stürzt das Programm allerdings immer noch nach Eingabe einer gültigen Ziffer ab, auf einem anderen läuft es).
-
Rev. 308:
TTT 0.54 (hello.c): Globale Variablen beseitigt --> Kein Absturz mehr bei Eingabe valider Daten!
Wieso können auf manchen PCs keine globalen Variablen verwendet werden im User-Programm? Wo liegt das genaue Problem?
-
Erhard Henkes schrieb:
Wieso können auf manchen PCs keine globalen Variablen verwendet werden im User-Programm? Wo liegt das genaue Problem?
Die Funktionen sind nicht mehr reentrant
-
Probleme mit globalen Variablen haben manchmal mit einem kaputten ELF-Loader zu tun.
-
Probleme mit globalen Variablen haben manchmal mit einem kaputten ELF-Loader zu tun.
Code und Stack arbeitet gut, nun müssen wir uns im User-Bereich noch um die saubere Verarbeitung des Data-Bereiches kümmern.
Bei Interesse: elf-Loader
https://prettyos.svn.sourceforge.net/svnroot/prettyos/trunk/Source/kernel/elf.c
-
Rev. 309:
elf.c: set bss to zero http://en.wikipedia.org/wiki/.bss
TTT (hello.c): memset((void*)tictactoe, 0, 18); // tictactoe has two bytes!Dank an XanClic, der beide Probleme auf Anhieb gefunden hat!
-
Erhard Henkes schrieb:
elf.c: set bss to zero http://en.wikipedia.org/wiki/.bss
Jepp, das war mein Verdacht.
-
Revision 310:
* Bootscreen verbessert und verschoben nach util.c
-
Jepp, das war mein Verdacht.
Wir hatten das sogar schon mal irgendwo drinnen, ist aber wieder verschwunden.
@Cuervo: Großes Lob!