Neuer Rechner, alte Probleme

Mal wieder etwas ganz anderes: mein Sohn hat einen neuen Rechner bekommen, wobei der Begriff neu hier eher relativ zu verstehen ist, sowohl was Hard- als auch Software angeht. Ich habe mich zum Beispiel bei dem Betriebssystem entschieden, bei altbewährtem zu bleiben und erst einmal nur Windows 7 in der 64 Bit Variante zu verwenden. Überraschender Weise konnte man auch fast alle alten Spiele relativ problemlos installieren – und einige davon sind mehr als 10 Jahre alt. In diesem Sinne hat Microsoft doch einiges im Bereich der Kompatibilität geleistet. In wenigen Fällen musste ich tricksen oder ganz aufgeben, aber ein bisschen Verlust ist halt immer.

Einen Erfahrungsbericht würde ich aber doch gerne weitergeben, da ich bei den eigenen Suchen im Internet festgestellt habe, dass trotz des Alters des Spielsystems (die Software dazu ist von 2001) tatsächlich der eine oder andere auch immer noch versucht, LEGO SpyBotics auf neueren Systemen ans Laufen zu bekommen. Die erste kleine Hürde ist hier schon der serielle (RS232) Anschluss: moderne Motherboards bieten diese im Backpanel nur noch selten an. Ein einfacher Ausweg ist der Einsatz eines USB Adapters. Unter Windows XP hat bei mir ein Prolific basiertes Mini-Teil sehr gute Dienste geleistet. Leider gibt es davon verschiedene Varianten und nicht alle sind unter Windows 7 (egal ob 32 oder 64 Bit) lauffähig. Da dieses den Teilen optisch nicht ansehen kann und die Händler zumindest auf Amazon dies nicht zwingend wissen, kann es etwas dauern, bis man das richtige Teil gefunden hat. Dann allerdings gibt es unter Windows 7 keine Probleme mehr.

Allerdings weiß ich nun, dass es auch eine andere Lösung gibt: die meisten modernen Motherboards haben tatsächlich einen seriellen Anschluss, nur ist dieser nicht auf das Backpanel gelegt – ich vermute einmal, aus Platzgründen. Mein eigenes ASUS P5QL-E ist zwar auch nicht das neueste Modell, bietet aber ebenfalls nur den internen Anschluss (hier COM1 genannt) an. Mit einem einfachen Slotblech von Assmann lässt sich hier kostengünstig Abhilfe schaffen. Leider auch hier ein Wermutstropfen: alte Mainboard IDC Anschlüsse verwenden eine Pin-Anordnung wie RS232, bei dem eine Reihe die Anschlüsse 1-5 und die andere 6-9 enthält. Mein Board allerdings hat schon eine neuere Variante mit den ungeraden Pins in der einen und den geraden in der anderen Reihe. Das Slotblech von Assmann realisiert die alte Anordnung, was aber selbst für mich als Laien mit einem Lötkolben und 10 Minuten Aufwand zu korrigieren war – ok, einer meiner Freunde hätte es in 2 Minuten in höherer Qualität geschafft, aber 9 RS232 Pins um zu löten ist keine wirkliche Herausforderung. Und auch diese Lösung funktioniert prima.

Die letzte Hürde, die mich fast zum Verzweifeln gebracht hat, ist Apple’s QuickTime, das von der SpyBotics Software zwingend vorausgesetzt wird – die Installation bringt Version 5 mit. Egal welche Version ich probiert habe, immer kommt die Meldung, dass QuickTime nicht ordentlich installiert ist. Bis mir dann einfiel, dass ich etwas wichtiges übersehen habe: direkt nach der Installation lief die Software genau einmal! Tatsächlich legt die Software beim Starten im temporären Verzeichnis des Anwenders wohl eine Art QuickTime Konfigurationsdatei an. Löscht man diese vor dem Start, so wird alles gut. Ich habe mir daher folgendes einfache Start-Script gebastelt:

del "%temp%\SpyboticsApp.mov"
del "%temp%\SpyboticsApp.mov.#res"
start Spybotics.exe

Und siehe da: keine Probleme mehr! Schnell noch die eigenen Missionen vom alten System gesichert und alles ist wie früher – warum diese Missionen im Unterverzeichnis Bookmarks abgelegt sind, weiß sicher nur der Entwickler, aber da hat jedes Programm und Spiel eh so seine eigenen Ansichten.

Im Internet wird behauptet, dass LEGO SpyBotics überhaupt nicht mit Windows 7 lauffähig ist und wenn, dann nur mit der veralteten QuickTime Version, die diesem Programm beiliegt. Für unser neues Windows 7 System ist dem definitiv nicht so – selbst unter 64 Bit. Es ist völlig in Ordnung, wenn LEGO keine offizielle Windows 7 Freigabe für eine über 10 Jahre alte Software mehr macht – als Softwareentwickler habe ich dafür definitiv vollstes Verständnis. Und es ist meiner jetzigen Erfahrung nach auch sicher nicht so, dass LEGO die Software wie in einem Post behauptet an die QuickTime Version gebunden hat – im Gegenteil: nur mit der aktuellen 7.7.4 funktioniert das SpyBotics Programm völlig klaglos. Ist diese vorhanden, so erkennt das Installationsprogramm sie und erlaubt es, die eigene QuickTime 5 Installation zu überspringen.

Vielleicht findet ja doch mal ein verzweifelter SpyBotics Anwender den Weg bis hier hin und dann sei ihm gesagt: es ist nicht so hoffnungslos, wie es scheint.

Jochen

<Zusatz>Für das LEGO Spiel Bohrok Swarm funktioniert der Trick mit der BAT Datei auch, natürlich muss man die Dateinamen entsprechend anpassen.</Zusatz>

Schönes Feature von Apache, aber lästig…

Der Apache Web Server hat das nette Feature (man kann es auch abschalten, aber oft ist es schon wegen Groß- und Kleinschreibung sehr nützlich), dass beim Zugriff auf eine Datei, die es nicht gibt, eine andere gemeldet wird, die so ähnlich heißt. Bei meinem kleinen Jump&Run Exkurs erwies sich das als recht lästig.

Und das kam so: es gibt die Möglichkeit, mehrere Spielfuguren zu definieren und dann eine zum Spielen auszuwählen. Dazu macht der Silverlight Code Web Zugriffe (HttpWebRequest.Create) auf Dateien mit dem Namensmuster figur/Spieler01.xaml, figur/Spieler02.xaml usw. Wird die Datei nicht gefunden, so endet die Suche. Beim Microsoft IIS Web Server geht das so auch, Apache antwortet bei dem Zugriff auf figur/Spieler02.xaml einfach mit einem Redirect auf figur/Spieler01.xaml. Will man die Redirects im HttpWebRequest nicht grundsätzlich verbieten, weil damit andere Nachteile verbunden sind, steht man erst einmal auf dem Schlauch.

Ich habe als relativ sicheren Ansatz für mein Problem die ResponseUri im HttpWebResponse mit der angeforderten Adresse verglichen. Sind diese nicht identisch, gehe ich von einem Redirect aus und nehme an, dass die angeforderte Datei so nicht existiert. Das ist aber keine grundsätzliche Lösung und kann zu anderen Problemen führen – etwa wenn nur die Schreibweise anders ist. Als schnelle Hilfe aber allemal ausreichend.

Jochen

BDA Filter ohne Namen

(Dies ist ein Folgeartikel zu dieser Grundlagenbeschreibung)

In den vorherigen Versionen von DVB.NET erfolgte die Auswahl der BDA Filter ausschließlich über die Anzeigenamen, die bei der BDA Registrierung hinterlegt wurden. Nun hat es sich aber gezeigt, dass es Geräte gibt, die einen solchen Namen gar nicht zur Verfügung stellen – gesehen beim Cinergy T-Stick MKII.

Ab Service Pack 2 ermittelt DVB.NET zu jedem BDA Filter grundsätzlich das zugehörige Windows Gerät (Device). Ist dem Filter kein registrierter Anzeigename zugeordnet, so wird der des Gerätes ermittelt – diesen gibt es wohl immer. Nun können auch Geräte mit diesem besonderen Verhalten ganz normal mit DVB.NET genutzt werden.

So long

Jochen