Sourcecode Fortschritt
-
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 freetime
usb_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
-
0.0.5.101 - Rev: 1767
usb_video.c: Analyse des config descriptors wurde aus der Setup-Funktion zur verbesserten Übersicht in eine eigene Funktion ausgelagert. MJPEG Format und MJPEG Frame Descriptoren im config descriptor detektiert.
-
0.0.5.102 - Rev: 1768
ckernel.c: ESC+F1 bis ESC+F11 eingebaut für die detaillierte Steuerung des geplanten neuen Log-Systems.
Anmerkung: ESC+F12 führt noch zum Speichern des Bildschirms. Will man diese Kombination ebenfalls verwenden, so muss bei "take screenshot" der Zustand von ESC zusätzlich abgefragt werden. Zur Zeit ist dies nicht notwendig (ESC+F12 == F12).
-
0.0.5.103 - Rev: 1769
LCTRL und RCTRL neben CTRL (beide) separat erfasst.
-
Version 0.0.5.104:
- log.h/c hinzugefügt
- Stilistische Änderungen aus den vorigen drei Revisionen teilweise revertiert
-
0.0.5.105 - Rev: 1771
ac97.h/c: testSound beim Start zur Kontrolle aktiviert (in VBox muss gestoppt werden, qemu 2.2 stoppt von alleine) <- wird durch Tastendruck zur Sicherheit gestoppt.
TODO: WAV-Player implementieren und start.wav mitliefern
-
Version 0.0.5.106:
- Paging: Neuimplementation in Betrieb genommen
- Log: Serial für sekundäre Ausgabe implementiert
-
0.0.5.107 - Rev: 1773
new: wav.h/c
new: kernel/sound with START.wav.cac97: adapted
Now the old synthetic sound is played first until key stroke, then you see the START.WAV header data, and last but not least the START.WAV follows as endless loop until key stroke.
Tests with VBox and qemu 2.2 show correct WAV play.