Sourcecode Fortschritt



  • Version 0.0.5.117:

    - Audio: Treiber für Via-AC97 hinzugefügt
    - EHCI: Probleme mit cHC behoben; PSTS_COMPANION_HC_OWNED darf nicht genullt werden, sonst reißt der EHCI-Treiber ein zuvor an den cHC abgegebenes Gerät wieder an sich.
    - USB-HID: Falsche doppelte Tastendrücke behoben
    - Code vereinfacht: Funktion event_issueToDisplayedTasks() implementiert



  • Version 0.0.5.118:
    - e1000-CDI-Treiber aktualisiert
    - VM86: Maskiere Teile von eflags, die nicht verändert werden dürfen
    - Videomanager: Vermeide mehrfache Initialisierung
    - Fehlerbehebung: Maskierung beim Lesen der PCI-BAR-Adressen korrigiert
    - Fehlerbehebung: Powermanagement-Fallback muss immer verfügbar sein
    - Fehlerbehebung: Korrekte Erkennung fehlender oder leerer VBE-Modelisten
    - Fehlerbehebung: isxdigit() korrekt implementiert



  • Version 0.0.5.119:
    - Fehlerkorrektur: Compilerfehler in _NETWORK_DIAGNOSIS_ behoben
    - Fehlerkorrektur: Dateisystemtreiber müssen fflush nicht implementieren - Absturz behoben
    - Log: Bedienung und Implementation weitgehend fertiggestellt
    - Grafik-Font optimiert: Leere Zeichen an Beginn und Ende weggelassen
    - Kleine Optimierungen



  • Version 0.0.5.120:
    - Fehlerkorrktur: Erkenne BMP-Dateien mit übergroßem Header korrekt
    - Unterstützung von lauflängenkodierten BMP-Dateien, Bilder entsprechend komprimiert
    - Aufspreizung des Farbraums bei 8-Bit-Farben - behebt gelbstich



  • Version 0.0.5.121:

    - ACPI: Lese FADT aus
    - KBC: Setze Tastatur-LEDs für Num-Lock, Scroll-Lock und Caps-Lock
    - KBC: Initialisiere Maus vor Tastatur (nur ein Timeout statt 2, behebt Problem in VirtualBox in Kombination mit Tastatur-LEDs), prüfe Vorhandensein anhand der FADT vor Initialisierung
    - event_poll() optimiert: list_find()-Aufruf eingespart
    - Clang-Warnung über uint8_t vor ...-Argument behoben



  • Version 0.0.5.122:

    - IPv6-Implementation begonnen
    - Interne Signallisierung von FPU-Ausnahmen aktiviert
    - netbios.h/c entfernt (enthielten keine nennenswerte Funktionalität, und das Protokoll ist obsolet)
    - Funktion usb_setupTransfer() in usb_constructTransfer() umbenannt



  • Version 0.0.5.123:

    - Treiber für I/O-APIC und Local-APIC getrennt und verbessert. I/O-APIC wird nur genutzt, wenn _IOAPIC_ENABLE_ gesetzt ist
    - EOI-Verhalten verbessert: Kein EOI bei Exceptions, kein EOI an PIC, wenn Interruptnummer außerhalb von [32, 48]
    - Bugfix: ftoa vergisst nicht länger das Vorzeichen bei Zahlen zwischen 0 und -1
    - Bugfix: Initialisiere Konsolenstacks auch wenn displayConsole() nicht aufgerufen wird
    - Tippfehler: CF_MTRR statt CF_MTTR



  • Version 0.0.5.124:

    - Unterstützung für AGP: Wähle 1x-Modus bei AGP 2.0 und 4x-Modus bei AGP 3.0
    - Unterstützung für MTRRs um das Caching-Verhalten der CPU für bestimmte Speicherbereiche zu optimieren
    -> Speicherbereiche für VBE- und VGA/Textmodus-Framebuffer auf Write-Combining gestellt
    - Cache verbessert: Mehr Sektoren im Cache, intelligenterer Belegungsalgorithmus
    - Bugfix: Nutze alle Caches, nicht nur die ersten 256.
    - Kleinkram



  • Version 0.0.5.125:

    - Sende Events wenn Konsole den Fokus erhält oder verliert; behebt irrtümlich erkannte Strg+...-Befehle nach Benutzung von Strg+V.
    - Paging/Multiboot: Unterstütze MemoryMap mit variabler Eintragslänge
    - itoa auf Basis von utoa implementiert
    - Kleine Korrekturen: Potentielle Nullpointer-Dereferenzierungen, falsche Allokationsgröße, Register-Clobbering etc. behoben



  • Version 0.0.5.126:

    - Fehlerbehebung: Crash durch Race-Condition in event_poll behoben (konnte z.B. in Bochs durch sehr schnelles drücken auf der Tastatur ausgelöst werden)
    - USB-MSD: Fange Fehler aus usb_sendSCSICommand besser abgefangen
    - Nutzerprogramm-Dummies entfernt; es gibt echte Nutzerprogramme als Anschauungsbeispiele
    - Diverse Cppcheck- und Clang-Analyzer-Warnungen behoben
    - bochs.bxrc an Bochs 2.6.9 angepasst, VS-Projektmappe auf Visual Studio 2017 aktualisiert



  • Version 0.0.5.127:

    - Paging: Fehlende TLB-Invalidierungen ergänzt; erstes MiB nicht als MEM_NOTLBUPATE gekennzeichnet wegen VM86
    - VM86: VM86-Code vor Schreibzugriffen geschützt, Stack oberhalb des Codes angeordnet und pro Task allokiert
    - Video: Setze PCI-Busmaster für Grafikkarten



  • Version 0.0.5.128:
    - Problem mit der Shell behoben. Unverständlicher #PF beim Booten auf Testrechner mit eingestecktem Stick in xhci-Port ist weg.
    - Kommentar ergänzt bei disable PIC/enable IOAPIC



  • Version 0.0.5.129:

    - UHCI: Unterstützung für Interrupt-Transfers implementiert
    - USB-HID: Babble behoben; Maus kann mehr als drei Bytes senden
    - PCI: Geräte mit vendorID 0 sind valide, lese Interrupt-Pin aus