Sourcecode Fortschritt



  • 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ützung

    Verbesserungen:

    - 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 Verbesserungen

    Version 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


  • Mod

    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.


  • Mod

    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


  • Mod

    "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.


Anmelden zum Antworten