Sourcecode Fortschritt
-
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