Sourcecode Fortschritt
- 
					
					
					
					
 0.0.5.81 - Rev: 1747 webcam: ehci periodic list working with n chains with m iTD (später als fehlerhaft erkannt) TODO: Optimize periodic list transfer setup for VBox and Hardware 
 
- 
					
					
					
					
 0.0.5.82 - Rev: 1748 webcam: Fehler bei der Bestimmung von last_iTD und current_iTD in den Modulen ehci.c und ehciQhqTD.c beseitigt. 
 
- 
					
					
					
					
 0.0.5.83 - Rev: 1749 webcam: weitere Korrekturen Der test-PC leidet bei ehci ab und zu noch an "master abort" (Capabilities list und Fast Back-to-Back Transaction capable) 
 
- 
					
					
					
					
 0.0.5.84 - Rev: 1750 webcam: iTD für ehci bei hardware um die 64-bit extended buffer pointer erweitert und padding von 92 auf 96 byte durchgeführt, damit das 32 byte alignment erfüllt bleibt. Nun spielt der ehci "auf blech" (test-PC) auch ohne "master abort" mit uns. Nun kann die Optimierung des periodic schedulers und die Adaption an die Fähigkeiten verschiedener webcams starten.  
 
- 
					
					
					
					
 0.0.5.85 - Rev: 1751 webcam an periodic scheduler ehci: stop/go entfernt, code weiter optimiert. test-PC: erfolgreiche Tests bez. ehci/periodic scheduler Allerdings entlocken wir den webcams noch keine brauchbaren Ergebnisse. 
 
- 
					
					
					
					
 0.0.5.86 - Rev: 1752 usb_video.h/c: Weiterentwicklung des Codes (z.B. probe/commit für StillImage) Der periodic scheduler von ehci läuft auf Hardware nun zuverlässig. 
 
- 
					
					
					
					
 0.0.5.87 - Rev: 1753 Darstellung von Videodaten in VBox gelingt bereits zuverlässiger, allerdings noch mit vereinzelten user mode #PF, die die Darstellung jedoch nicht vereiteln. vidswtch.asm: GetVgaInfoBlock: mov ds, ax ergänzt 
 vm86.c: vm86_executeSync: Zeitverzögerungen eingefügt zur Vermeidung von #PF bei eip: 152h (user mode)
 usb_video.c: usb_setupVideo: Darstellung von webcam-Daten direkt in PrettyOS (mittels vm86 und vbe)Problem bei test-PC: vbe-modes werden noch nicht erfasst (mode-Auflistung ist leer) 
 
- 
					
					
					
					
 Version 0.0.5.88: - Scheduler: Endlosschleife in scheduler_unblockEvent() behoben 
 - mutex_lock/unlock() mit task_switching = true/false abgesichert
 - Optimierung: list_alloc_elem() und list_append_elem() implementiert, um Allokationen bei Verwendung von list_t zu reduzieren
 - VBE: Nutze Standardmodi als Fallback, wenn ModeList-Pointer unbrauchbar
 - fsmanager: Crash beim Entfernen unbekannter Partitionen behoben, Speicherleck behoben
 - Installiere ATA nur, wenn HDDs aktiviert sind
 
- 
					
					
					
					
 Version 0.0.5.89: - Heap: Caching der ersten freien Region war fehlerhaft implementiert, sodass es unwirksam war 
 - Heap: Verbesserter Log, freie Regionen angezeigt, Regionsnummern und firstFreeRegion (s.o.) angezeigt
 - Heap: Grenzprüfung bei placementMalloc() mit Alignment korrigiert
 - Speicherverbrauch von usb_setupVideo() durch frühzeitige Freigabe der Buffer deutlich reduziert
 
- 
					
					
					
					
 0.0.5.90 - Rev: 1756 task.h/c: Tasks erhalten einen Kommentar (analog heap region via malloc), damit man diese in der Task-Übersicht (strg+t) leichter zuordnen kann (unterstützt die didaktische Komponente von PrettyOS). Falls gegeben, wird der Konsolenname verwendet. Beispiel: current task: 0 -------------------------------------------------------------------------------- pid esp pd k_stack access comment thread -------------------------------------------------------------------------------- running: 0 005FFE50 00639000 -------- kernel main child-threads: 2 5 48 4 E003DE6C E0039000 E003E000 user 0:0:|PrettyOS|Shell. blocked: 2 E002978C 00639000 E0029860 kernel OHCI 1 parent task: 0 48 E0052C10 00639000 E0052DB0 kernel VBE parent task: 0 5 E002C9C0 00639000 E002CA94 kernel EHCI Ports parent task: 0 freetime: 1 E001E5B8 00639000 E001E600 kernel freetimeusb_setupVideo() funktioniert noch bestens. 
 
- 
					
					
					
					
 0.0.5.91 - Rev: 1757 usb_video.c: Korrekturen durchgeführt, z.B. Power- und Error-Request 
 Nun klappt die Errorcode-Abfrage.
 
- 
					
					
					
					
 Versino 0.0.5.92: - paging_freeVirtMem() und paging_allocVirtAddr() implementiert 
 - Diagnose-Verbesserungen:
 -- Formattierung der Ausgabe bei Strg+t verbessert
 -- Compilerfehler bei aktivierten _DIAGNOSIS_-Flags behoben
 -- kdebug() entfernt (nutzlos)
 
- 
					
					
					
					
 0.0.5.93 - Rev: 1759 usb_video.c: webcam-code weiter optimiert. VBox: Serieller Log: http://pastebin.com/KNSnvXcL 
 
- 
					
					
					
					
 0.0.5.94 - Rev: 1760 usb_video.c: Fehler behoben, Übertragung optimiert. 
 
- 
					
					
					
					
 0.0.5.95 - Rev: 1761 usb_video.c u. videoutils.c: weitere Fehler behoben 
 
- 
					
					
					
					
 0.0.5.96 - Rev: 1762 usb_video.c: VideostreamError-Abfrage eingebaut Still Image mit 160 pixel Breite: http://www.henkessoft.de/Sonstiges/webcam_schwarz_160pixel.png 
 
- 
					
					
					
					
 0.0.5.97 - Rev: 1763 usb_video.c: Parameterfehler in requests korrigiert http://henkessoft.de/Sonstiges/PrettyOS.png (Screenshotausschnitt aus VBox) und http://henkessoft.de/Sonstiges/webcam_logitech_160pixel.png (frames hintereinander, Jidders Programm) 
 
- 
					
					
					
					
 Version 0.0.5.98: - OHCI: Frequenzsteuerung bei Interrupt-Transfers implementiert 
 - Multiboot: Einige Fehlerkorrekturen, u.a. Wechsel in 80x50-Modus, wenn nicht von PrettyBL gebootet
 - Dokumentationen: Kleinere Korrekturen
 
- 
					
					
					
					
 0.0.5.99 - Rev: 1765 usb_video.h/c: webcam-code weiter angepasst (u.a. payload-header Erkennung/Auswertung) Beispiel: Mit der webcam Logitech C270 erhält man mit 160 Pixel Breite mittels Vbox sauber angeordntete frame-Abfolgen: http://henkessoft.de/Sonstiges/webcam_logitech_160pixel_2.png 
 serial log: http://pastebin.com/UwTjHZcw
 
- 
					
					
					
					
 Version 0.0.5.100: - OHCI: Initialisierung von USB-Geräten in separatem Thread, Fehlerkorrekturen (Anzeige der Anzahl der Root-Ports, Entfernen von interrupt-EDs) 
 - Ausgabe beim Boot etwas verbessert
 - Bootloader: Code etwas vereinfacht
 - Einige Funktionen umbenannt oder als static deklariert