Sourcecode Fortschritt
-
Rev. 191:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=191Shell überarbeitet:
- Del, Pos1, End, Pfeiltasten und Insert funktionieren nun
- Kleinere Vereinfachungen (Löschen sinnlosen Codes)Rev. 192:
behebt nun auch den Fehler beim Ändern gecachter Einträge und entfernt einen überflüssigen Pointer in userlib.c (strncpy)
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=192
-
Rev. 193:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=193ehci.c: Transfer Zwischenschritt
-
Rev. 194:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=194ehci.c: Zwischenschritt USB 2.0 EHCI Async-Transfer
Ein großes Lob an Tobiking für die Ausdauer bei diesem schwierigen Thema und an Max Reitz (XanClic) für seine hervorragende Dokumentation - eigentlich ein Opus - im LowLevel wiki: http://lowlevel.brainsware.org/wiki/index.php/USB
Man ist in PrettyOS bei USB 2.0 an einem Punkt angekommen, wo das ergänzende Heranziehen der USB Specification Rev. 2.0, April 27, 2000 (622 Seiten) notwendig wird. XanClic legt gesteigerten Wert darauf, dass jeder der an USB 2.0 arbeitet, sich hier ebenfalls vertieft. Zur Zeit befinden wir uns nach meiner Abschätzung dort im Abschnitt 9.4.
-
Rev. 195:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=195- Shell:
- Überflüssige Fkt. entfernt (hatte ich nach einem Versuch vergessen)
- Schreibcursor nun in jeder Stellung sichtbar
- Insert-Mode verbessert; Kann nun auch volle Zeilen editieren
- Optimierungen bei Nutzung von settextcolor; Selbes Ergebnis, kleinerer Kernel
-
Rev. 196:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=196ehci.h/.c: Zwischenschritt bezüglich USB-Transfer
-
Rev. 197:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=197- boot2.asm und fat12.inc "hot" gefixt
- Änderungen in der shell
-
Ich möchte noch den Dank an +gjm+ für den Hotfix ergänzen...
-
Ja, echt klasse! +gjm+ lebe hoch!
-
Rev. 198:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=198ehci.c: USB-Transfer-Test (leider noch nicht erfolgreich)
-
Rev. 199:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=199ehci.c: USB-Transfer-Test (leider noch nicht erfolgreich, aber ein Fehler in Struktur qtd_token korrigiert)
-
Rev. 200:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=200ehci.c: Fehler im MM bei EHCI/USB behoben, funktioniert aber noch nicht wie erwartet. Bitte um Mithilfe bei der Fehlersuche.
-
Rev. 201:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=201ehci.c: Zwischenschritt
-
Rev. 202:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=202ehci.c: Zwischenschritt
Zirkuläre Async-List
-
Rev. 203:
ehci.c Analyse-Zwischenschritt
-
Rev. 204:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=204ehci.c: Analyse der Inhalte von QH, QTD und Buffer-Pointer verbessert, damit die erwünschte Wirkung gezielter herbei geführt werden kann.
Screenshot: http://www.henkessoft.de/OS_Dev/Bilder/rev205.PNG
-
Du hast ja ziemliche Mühe damit. Hier mal ein Beispiel: http://research.microsoft.com/en-us/um/redmond/projects/invisible/src/drivers/serial/usb/master/ehci/ehci.c.htm
-
Rev. 205:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=205- time.c: mehrfacher Code (5x fast identisch) in Funktion ausgelagert
-
@Z: Tobiking und ich quälen uns momentan etwas herum, aber wir kommen vorwärts.
Diesen MS-Code kennen wir schon, bringt mich aber nicht wirklich weiter.
Was soll ich z.B. damit?/* Initialize the aperiodic list * NB: This is the endpoint #0 used during configuration, we only * initialize here only the fields that will not change. */ EhciWriteRegister(&Qhead->Ed.Next, VirtualToPhysical(Qhead) | EHCI_POINTER_TYPE_QH); EhciWriteRegister(&Qhead->Ed.EndpointCaps, (1 << EHCI_QH_RL_SHIFT) | (8 << EHCI_QH_MPS_SHIFT) | EHCI_QH_H | EHCI_QH_DTC | EHCI_QH_480Mbps ); EhciWriteRegister(&Qhead->Ed.TransferOverlay.Next, EHCI_POINTER_TYPE_TERMINATOR); EhciWriteRegister(&Qhead->Ed.TransferOverlay.Alternate, EHCI_POINTER_TYPE_TERMINATOR);
-
Erhard Henkes schrieb:
Was soll ich z.B. damit?
Als Beispiel verwenden, analysieren und verstehen.
Sonst seid ihr nächstes Jahr noch nicht fertig.
-
Ich zitiere mal Tobiking aus dem IRC:
Gerade MS Code würde ich nicht nehmen ^^
Dennoch, wenn es hakt, schauen wir da schon rein. ehci.h fand ich dort ganz gut, weil man ein Gefühl für die notwendigen Strukturen und Defines bekommt. Sind aber auch Fehler drinnen, die ich bereits gesehen habe.
Wir wühlen uns durch die Specs von EHCI und USB 2.0. Das reicht erstmal an Infos. Eher zuviel als zu wenig.