Hallo MatAschen
wollte hier zum Thema FPGA-Clone ne kleine Diskussion beginnen, wies denn mit dem Wunschgehäuse aussieht.
[...]
Zum Thema bauen in Tastaturgehäuse ST-Like hab ich ein paar Adressen durchgeklappert.
Finde ich sehr gut. Ich gebe Ingo zwar insofern Recht, als dass ich der Fertigstellung des Boards die höchste Prio gebe. Allerdings bin ich sehr wohl der Meinung, dass wir uns über alle weitergehenden Punkte - und somit auch über das Gehäuse - schonmal unterhalten können. Mit der Erstellung der Umfrage hatte Wolfgang uns ja durchaus auch gebeten, unsere Meinung über die weitere Hardwareplanung abzugeben. Inwiefern er unsere Meinungen/Argumente dann nutzt oder verwirft kann er dann immer noch selber entscheiden.
Leider gibt es bei der Umfrage nur vier Stimmen für "Mechanik zum Board/Gehäuse", wobei noch ganz offen gelassen wurde, ob Tastaturgehäuse oder etwas anderes. Mein Favorit wäre ja ein Laptop-Gehäuse. Mir ist allerdings schon klar, dass viele aus der Atari-Historie heraus gerne einen Tastatur-Rechner hätten. Das ist dann schon ein Stück extra-Atari-Feeling.
Nicht klar ist mir in dem Zusammenhang allerdings, was diejenigen wollen, die das Board ohne Gehäuse wollen. Klar, zur Not muss man selber zusehen, wie man das in ein gebrauchtes Gehäuse quetscht. Aber wenn mein Computer eines schönen Tages so aussieht, wie auf den Bildern von Wolfgangs Homepage, dann habe ich da so meine Probleme mit (und meine Frau ganz sicher auch).
PS: Hat jetzt schon jemand irgendwie Infos (Unterstützung) in Sachen USB-Treiberprogrammierung bekommen???
Ich habe mich da etwas umgesehen, hab bei Wolfgang prinzipielles Interesse bekundet, und habe z.B. bei einem Beteiligten von SIO2USB am 8-Bit Atari nachgefragt (steht übrigens in der Retro #4
http://www.retrogames.info/node/566, die es aktuell im Zeitschriftenladen gibt, ein kurzer Artikel drüber drin). Hab auch eine sehr nette und ordentliche Antwort bekommen, allerdings glaube ich, dass die dort gemachten Erfahrungen für uns am FPGA-Clone nicht so relevant sind, da es dort nur um USB-Speichermedien in einem ganz engen Rahmen geht.
Geholfen hat mir das aber, um mehr über das Thema USB-Treiber zu verstehen. Es gibt wohl verschiedene Geräte-Kategorien (z.B. Speichermedium, Maus, Drucker, ...), und dafür muss ein USB-Treiber einen generischen Treiber bereitstellen. Allerdings kennt man es z.B. von USB-Druckern, dass die eigentlich einen eigenen Treiber brauchen, um in voller Qualität zu drucken. Wenn der installiert ist, erkennt der USB-Treiber anhand Hersteller- und Geräte-Id, dass dafür ein spezieller Treiber verwendet werden kann/soll. Aufgabe wäre also, einen USB-Treiber zu schreiben, der auf einen Interrupt des USB-Controllers wartet, und dann prüft, welche Gerätekategorie angeschlossen wurde. Weiter müßte man die einzelnen generischen Treiber schreiben. Idealerweise kämen dann für ausgewählte Geräte noch spezielle Treiber dran, wobei es da natürlich einige Einschränkungen gibt. Aber vielleicht kann man da von Entwicklungen für Linux profitieren.
Wie man sieht ist die Aufgabe um einiges komplexer als die z.B. hier
http://www.janthomas.org.uk/ angegangene, da dort weder auf den IRQ gehorcht wird (der Anwender muss sicherstellen, dass das Gerät beim Starten des Programms bereits eingestöpselt ist), noch wird der volle Umfang an Gerätekategorien abgedeckt, sondern wohl nur der für die Maus. Trotzdem war es aufwendig genug, mit anderen Worten, ich gehe davon aus, dass das FPGA-Board deutlich vor dem Treiber fertig wird.
Meine Idee wäre an der Stelle dann, dass man den neuen Treiber so schreibt, dass er je nach Gerätekategorie entweder eigene generische Treiber nimmt, oder aber (konfigurierbar) externe Programme. So könnte man dann z.B. (bei angepaßter Schnittstelle) auf den bereits vorhandenen Maustreiber zugreifen.
Weiter hätte dieses Konzept den Vorteil, dass problemlos mehrere Entwickler an dem Thema arbeiten könnten.
Mein Problem ist aktuell, dass ich noch nie MiNT benutzt geschweige denn gesehen habe. MagiC habe ich vor ein paar Jahren auch nur genommen, um mal zu sehen, was der aktuelle Stand ist. Naja, jetzt versuche ich meinen MegaSTE für MiNT flott zu machen. Ab Mitte Oktober (vorher habe ich eigentlich keine Zeit) will ich dann mal sehen, was man prinzipiell unter MiNT für so eine Treiberentwicklung tun muss. Vielleicht hat ja jemand ein paar Dokus oder Hinweise? Gerne würde ich mich dann natürlich auch irgendwo einklinken, falls schon jemand weiter ist. Allerdings habe ich die Befürchtung, dass sich bisher nicht so viele auf das Thema gestürzt haben.
Ich habe auch nochmal mit Wolfgang Kontakt gehabt. Es wird aus verschiedenen Gründen nicht der ISP1582. Wolfgang hatte sich schon gegen den entschieden bevor ich meine Gegenargumente anbrachte. Sicher ist aber, dass es einer von Philips wird. Diese Info sollte ausreichen, um mit der Treiberentwicklung zu beginnen. Welcher USB-Controller es dann wird wird noch abgewartet, da Wolfgang im Idealfall noch auf in Kürze neu auf den Markt kommende wartet.