Sourcecode Fortschritt
- 
					
					
					
					
 0.0.5.108 - Rev: 1774 ac97.h/c und wav.c korrigiert 
 Audiosausgabe: "welcome" (eigene Soundwave 44,1 kHz, 16-bit stereo samples)
 
- 
					
					
					
					
 Version 0.0.5.109: - Audio-Chaos beseitigt: 
 -- Sound hinter Strg+w verborgen
 -- Diverse Bugs (Leaks, Nullpointerdereferenzierungen, etc.) beseitigt
 -- WAV-Datei verschoben
 - Projektmappe auf VS2015 aktualisiert
 - Unerklärbaren HACK in vm86.c entfernt
 
- 
					
					
					
					
 Version 0.0.5.110: - Fehlerbehebung: Register-Constraints für CLEAR_BIT und SET_BIT korrigiert 
 - Fehlerbehebung: Diverse Paging-Fehler behoben
 - Funktion gets durch gets_s ersetzt (Schutz gegen Pufferüberläufe)
 - Makefiles auf C11/C++11 umgestellt
 - Unbenutzte usb_video_t-Member entfernt
 
- 
					
					
					
					
 Respekt an euch, dass ihr so lange schon dran arbeitet!  
 
- 
					
					
					
					
 Wir könnten noch ein bis zwei Unterstützer/Developer gut brauchen. Der Chat ist regelmäßig aktiv. Seid willkommen! http://www.prettyos.de 
 
- 
					
					
					
					
 Werd mal vorbeischauen. 
 
- 
					
					
					
					
 Version 0.0.5.111: - Paging-Modul überarbeitet: 
 -- Threadsicherheit mit Mutex hergestellt
 -- Erste Page (0x00000000 - 0x00000FFF) gegen Schreibzugriffe geschützt
 -- paging_createUserPageDirectory und paging_destroyUserPageDirectory umbenannt, Kommentierung verbessert
 - VM86 repariert: Addressen korrigiert; mit eigener Page-Table ausgestattet
 - Videomanager: Abfangen von leerer Eingabe bei Modusauswahl
 
- 
					
					
					
					
 Version 0.0.5.112: - Bugfix: OHCI-Treiber initialisierte o->interrupt_baseEDs[i].tdQueueTail nicht 
 - Bugfix: dns_setServer() und dns_getServer() stürzen nicht mehr ab, wenn keine Netzwerkkarte vorhanden ist.
 - Makefile: -fno-delete-null-pointer-checks im Kernel aktiviert (nur GCC)
 - Userspace: C-Standardbibliothek um zahlreiche C99/C11-Funktionen erweitert
 - Shell: Befehl 'hi' entfernt
 - Codestil: -Wstrict-prototypes aktiviert, Warnungen behoben
 - Textausgaben, Kommentare und Dokumentation verbessert
 - VM86: Opcodes INSB/W/D, OUTSB/W/D, sowie Unterstützung von rep-Präfix und Segmentoverrides implementiertFrohe Weihnachten! 
 
- 
					
					
					
					
 Version 0.0.5.113: - Fehlerbehebung: ACPI-Modul löschte Allozierung der ersten physischen Speicherseiten, die dann von malloc wiedervergeben wurden. Dadurch wurde die IVT beschädigt. 
 - Fehlerbehebung: Nullpointerdereferenzierung im FAT-Treiber behoben
 - Fehlerbehebung: Register-Clobbering korrigiert
 - RTL8139: Rx-Buffer-Wrap-Around korrekt behandelt, bessere Fehlerbehandlung
 - RTL8168: Schutz vor Speicherüberlauf bei Paketen mit Länge < 4 Byte
 - Fehlende semaphore_t-Funktionen implementiert
 - OSXMMEXCPT in CR4 aktiviert (SSE-Unterstützung)
 
- 
					
					
					
					
 Version 0.0.5.114: - Fehlerbehebung: Stack-Layout bei VM86-Interrupts korrigiert. Es müssen 16-bit-Werte in der richtigen Reihenfolge gespeichert werden (vielen Dank an Paddy für die Entdeckung des Fehlers). 
 - RTL8168: Prüfsummenabladung aktiviert
 - VM86: Behandlung von Fehlern verbessert; keine Tastendruck-Abfrage vor Beenden des Tasks
 - APM: Aktiviert, da nun funktionsfähig.
 - cpu.h: Diverse CPUID-Featureflags hinzugefügt
 
- 
					
					
					
					
 BTW: Hier gibt es ein interessantes OS das in rust geschrieben ist. Es ist noch jung, sieht aber vielversprechend aus. Ein rudimentärer ZFS-Support ist schon implementiert und wird ausgebaut. 
 Kann sicherlich noch Man-Power gebrauchen.
 
- 
					
					
					
					
 Es ist schon bemerkenswert, mal ein recht fortgeschrittenes OS zu sehen, das nicht in C, C++ oder Assembler geschrieben ist. Klingt nach einem Fall für diese Liste: https://www.c-plusplus.net/forum/273023 Version 0.0.5.115: - TCP: Speicherlecks geschlossen und Code aufgeräumt 
 - RTL8168: Konfigurationsregister müssen nicht entsperrt werden, RTL8168_CPCMD gesetzt, weniger Interrupts aktiviert
 - APM: Textausgabe optimiert, Fehlerbehandlung verbessert
 - UDP: Prüfsummenabladung aktiviert
 - Fehlerkorrektur: ISRs 17 (#AC) und 30 (#SX - nur AMD-CPUs) liefern einen Fehlercode
 - Kleinere Korrekturen und Optimierungen
 
- 
					
					
					
					
 @ShadowClone: Danke für den Hinweis! Habe es bei R eingefügt. 
 
- 
					
					
					
					
 Version 0.0.5.116: - CDI: Header aktualisiert und Implementation erweitert 
 - Code aufgeräumt und optimiert, insbesondere:
 -- dns.c: Kopierschleife durch htons/htonl ersetzt
 -- usb_video.c, xhci.c, ohci.c: switch() durch String-Array ersetzt
 -- Inline-Assembler-Code optimiert
 
- 
					
					
					
					
 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