Sourcecode Fortschritt
-
version = "0.0.3.172 - Rev: 1373"
irc.c umgestellt auf DNS
-
Version 0.0.3.173:
- Führende 0 bei ftoa ergänzt (basiert nun auf itoa) <-- Das ist sogar standardisiert: http://de.wikipedia.org/wiki/ISO_31-0
- getc, fputs, putc, sinh, cosh, tanh implementiert (-> math.h vollständig)
- Calc überarbeitet (v0.4.0):
-- Unterstützt nun negative Zahlen, Potenzen und Klammern
-- Rechnung kann als Kommandozeilenargument übergeben werden
- IRC verbessert: Server kann beim Start ausgewählt werden
- Zeitmessung in psort verbessert: Zeit zur Ergebnisprüfung nicht mehr mitgemessen
- FloppyImage.img nicht mehr gelöscht vorm Build
- Bugfix: Größenangabe bei Floppysgefixt(1440 KB statt KiB als Ausgangsbasis)
- Bugfix: pow mit Workaround korrigiert für negative Exponenten
-
Disketten verfügen über 1440 KiB (2880*512 byte), wird aber immer als KB geschrieben.
-
Erhard Henkes schrieb:
Disketten verfügen über 1440 KiB (2880*512 byte), wird aber immer als KB geschrieben.
Bug beim Bugfix eingebaut. Wird behoben.
-
Version 0.0.3.174:
- Buildsystem verbessert:
-- Unbenutzte Symbole aus den Userbibliotheken werden nicht mehr gelinkt.
-- Strip bereits beim Linken angewandt
-- Userprogramme bei Änderungen an Userbibliotheken automatisch neu übersetzt
- pow, log und log10 gefixt (neu implementiert)
- Fix für Floppygröße aus r1374 reverted
-
@MrX: calc.elf liefert nun bei 0^5 die 0, das ist fein, bei 5^3 kommt brav die 125, aber ab 5^4 kommt 624 raus, auch bei 5^5 eins zu wenig. Bei 25^0.5 kommt erst 1.5 dann 1. Da sollte man nachschärfen.
-
Bei 25^0.5 kommt erst 1.5 dann 1
Der Taschenrechner kann keine Fließkommazahlen. Er rechnet:
25^0 => 1 -> 1.5 => 1,5 -> atoi("1.5") => 15^4 kommt 624 raus, auch bei 5^5 eins zu wenig
Rundungsfehler, da der Taschenrechner Integer nutzt, aber mit dem Fließkommafunktionen rechnet.
-
Vor der Benutzung der aktuellen Version von calc.elf wird gewarnt. Die Ergebnisse sind weitgehend falsch. Das PrettyOS Team übernimmt keinerlei Haftung für evtl. daraus entstehende Schäden!
-
Version 0.0.3.175:
- Unterstützung für Sysenter/Sysexit. Code aber deaktiviert (task.c, z. 146)
- Unterstützung für SSE: OSFXSR-Bit in CR4 gesetzt, FPU-Status bei Unterstützung entsprechend mit fxsave und fxrstor gesichert
- Global Pages aktiviert (in CR4)
- Bugfix: CPUID-Code früher initialisiert (vor erster Verwendung)
- Bugfix: Inkrementeller Build für initrd.dat gefixt
- Bugfix: "volatile foo*" durch "foo* volatile" ersetzt, wo sinnvoll.
-
Version 0.0.3.176:
- fsmanager-Schnittstelle geändert: fwrite und fread statt fputc und fgetc als Treiberschnittstelle
- Write-Caching im Devicemanager implementiert
- Caching-Mechanismus im FAT-Treiber ausgebaut; Weitere Optimierungen dort.
-
Version 0.0.3.177:
- FAT-Treiber weiter aufgeräumt
- System friert bei Fehlern wie "Division durch 0" nicht mehr ein
- bochs.bxrc auf Bochs 2.5 geupdated
-
Version 0.0.3.178:
- Stilistische Änderungen um ckernel.c (zusammen mit ehenkes ausgearbeitet)
- fpu.c in cpu.c integriert
- Kleiner Fix an der Compilererkennung in der userlib
- strg+s startet die Shell
- PrettyOS gibt nicht mehr stupide [OK] beim Start aus: Reihenfolge: Ausgabe "Was" - Ausführung - Ausgabe "Ergebnis"
-
Version 0.0.3.179:
- Speicherlayout überarbeitet: Löcher im Bereich ~ 10 MiB beseitigt. PrettyOS fordert nur noch 12 MiB RAM.
- paging.c überarbeitet bzgl. Kommentaren und Codelayout. Feste Adressen durch Makros ersetzt. (Zusammen mit ehenkes ausgearbeitet)
- Dokumentation in memory.txt verbessert
-
Version 0.0.3.180:
- Code der ELF- und PE-Treiber überarbeitet, Funktionsnamen der Schnittstelle geändert (gemeinsam mit ehenkes erarbeitet)
-
Version 0.0.3.181:
- Bugfix: todolist_create allokiert nun Speicher richtiger Größe (cppcheck-Fund)
- Diverse Verbesserungen an der C-Standardbibliothek:
-- string.c: strcspn, strerror, strspn und strtok implementiert, Prototyp von strchr korrigiert
-- signal.c: Implementiert
-- stdlib.c: abort() sendet nun SIGABRT; atexit implementiert
-- errno.h: Namen der Fehler korrigiert (Präfix "E" statt "ERR")
- Calc fängt Division durch 0 nun ab
- Kleinigkeiten
-
Nach zahlreichen Änderungen, Verbesserungen und neuen Funktionen und genau 200 Revisionen nach 0.0.3.0 erhöhen wir die Versionsnummer auf:
PrettyOS 0.0.4.0
Neue Features:
- Erweiterte USB-Unterstützung
-> UHCI-, OHCI-Treiber neu
-> EHCI-Treiber deutlich verbessert
-> USB-Code deutlich überarbeitet
- CDI-Unterstützung
-> e1000-Treiber eingebunden
- PrettyIPC-Baum
- Vollständige Clang-UnterstützungVerbesserungen:
- Bootloader optimiert
- "File not Found"-Fehler behoben
- Einige neue Userprogramme, alte verbessert. Lizenzen vereinheitlicht.
- Erweiterte Debug-Funktionalität: Broken-Free-Diagnose
- Ausgabecode von Kernel in Shell/Userspace verlagern
- fast vollständige C-Standardbibliothek (Userbereich)
- Zahlreiche kleine Bugfixes und VerbesserungenVersion 0.0.4.0 - Rev. 1383
- APIC-Rahmen eingefügt; noch deaktiviert.
-
Version 0.0.4.1:
- APIC-Registeradressen korrigiert
- APIC+PIC-Modus, bis unser APIC-Treiber fertig ist; APIC-Treiber aktiviert
-
Version 0.0.4.2 - Rev 1385
ac97.h/c für Multimedia Controller Audio als Frame hinzugefügt
Test mit qemu mittels -soundhw ac97
In pci.c findet man bisher:
if (PCIdev->classID == 0x04 && PCIdev->subclassID == 0x01) // Multimedia Controller Audio { if (PCIdev->vendorID == 0x8086) // Intel { install_AC97(PCIdev); } }
-
Version 0.0.4.3:
- Audiotreiberschnittstelle hinzugefügt
- VCcompatibility.h verbessert:
-- Compiler-Macros in Abhängigkeit der gewählten Konfiguration definiert
-- Schlüsselwort restrict (C99) durch Präprozessor versteckt.
-
Version 0.0.4.4 - Rev 1387
install_AC97(pciDev_t* device) weiter entwickelt.
reset / volume / sample rate