Sourcecode Fortschritt
-
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
-
Version 0.0.4.5:
- Beepton mit AC97 erzeugt
-
"0.0.4.6 - Rev: 1390" (in Datei versehentlich 0.0.4.5)
ac97.h angepasst und erweitert entsprechend AC97 spec.
Bezüglich NAM-bar und NABM-bar Diskussion siehe: http://www.koders.com/c/fidCF4F2F224B1F26DCA9CACD6398B49BBC3C8920F0.aspx?s=cdefs.h
-
Version 0.0.4.7:
- AC97-Interrupts behandelt -> System friert nicht mehr ein
- Konfiguration gemäß Spezifikation (soweit vorhanden) angepasst
- Deskriptoren und Buffer dynamisch allokiert und aligned
-
Version 0.0.4.8:
- Diverse kleinere Codekorrekturen basierend auf cppcheck-Ergebnissen:
-- Debug-Code in dhcp.c hinter Präprozessordirektiven versteckt
-- Vorzeichen von Variablen und in printf-Formatstrings korrigiert
-
Version 0.0.4.9:
- Neues Userprogramm "Device Manager" (devmgr.elf): Zeigt PCI-Geräte mit Namen und Details an.
- PCI-Vendorliste aus dem Kernel entfernt (Kernel erheblich schlanker (50% kleiner), Funktionalität nun in devmgr.elf)
- Bugfix: ipc_getFolder() gibt keinen Datenmüll mehr zurück
-
Version 0.0.4.10:
- folderAccess für Wurzelverzeichnis implementiert (Ergebnis kann bis auf weiteres mit strg+f aufgerufen werden)
- HACK im devicemanager entfernt (obsolet, führte zu Schreibzugriffen auf nicht allokierten Speicher. Danke Jonas_OSDever für die Hilfe beim Debuggen.)
- Bugfix: disk_t::name kann 0 sein (bei Disketten)
- Ausgabe "Unknown" für unbekannte Disk-/Port-Typen
-
Version 0.0.4.11:
- ATA/HDD-Treiber (Patch von JonasOSDever. Siehe auch: http://www.c-plusplus.net/forum/311318)
- Absturz wg. uninitialisierter Variable behoben
-
Version 0.0.4.11 - Revision 1396:
- svn::mime-type und svn::executable für diverse Dateien gesetzt
- PrettyOS.odt und Syscalls.odt aktualisiert. Erstere neu formatiert.
-
Version 0.0.4.12:
- GCC-4.7.2-Kompatible Userlib
- Fehler durch ungenaue Fließkommarechnungen bei clang behoben
- Compilerfehler mit _FAT_DIAGNOSIS_ behoben
- disk_t::size als 64-bit Integer - Festplatten können größer als 4 GiB sein. %Sa, %Sg, %Sm und %Sk erfordern 64-bit int.
- Verschiebung der PCI-Vendorliste in VS10-Projektmappe nachgetragen
- VCcompatibility.h ergänzt und aktualisiert (GCC 4.7.2 als Standard)
-
Version 0.0.4.13:
- bochs.bxrc korrigiert: Aktualisiert für Bochs 2.6, relativer Pfad zum Floppyimage
- Optimierung: memset durch statische Array-Initialisierung ersetzt, wo möglich
- Scope einiger Variablen im FAT-Treiber reduziert
- Typkorrekturen: uint8_t vs. int8_t/char
- Fehlerbehebung in C++-Userlib: clang verhält sich wie 4.5/4.6
-
Version 0.0.4.14:
- HDD-Treiber auf Interrupts umgebaut (JonasOSDever)
- Compilerfehler in paging.c behoben, wenn _DIAGNOSIS_ aktiviert ist (JonasOSDever)
- Datum im Bootscreen auf 2013 gesetzt