#31 – Super Wild Card – Parallel Pleasures

Neues Spiel – neues Glück. Heute werden wir das Thema Super Wild Card (SWC) ein für alle Mal abschließen – hoffe ich! 😀

Was war denn das beim letzten Mal?! Da habe ich noch extra das spezielle Kabel zusammengelötet und „Retro-Hardware“ aufgefahren und trotzdem war es ein Fail… Oh well, shit happens… 😉

Wer mich kennt weiß, dass ich mich nicht so leicht geschlagen gebe. Wenn uns „VGS“ einen Strich durch die Rechnung macht, probieren wir es eben über einen anderen Weg. Findige Bastler haben eine Software namens „ucon64“ entwickelt. Diese gilt als „Schweizer Taschenmesser“ der Backup/Copy-Devices der Neunziger, ist wesentlich aktueller und bietet sogar 64-Bit-Unterstützung!

a

Wenn ich jetzt so drüber nachdenke, hat sogar mein aktueller Rechner (siehe Artikel 17) noch einen Parallelanschluss. Und angeblich soll ucon64 sogar neuere Windows-Versionen unterstützen. Ebenso scheint es im Internet bereits ein paar Leute zu geben, welche das mit „moderneren“ Systemen zum Laufen bekommen haben. Könnte es sein, dass wir das ganze sogar unter Windows 10 64Bit zum Laufen bekommen? Das wäre sehr praktisch, weil dann hätte ich neben dem Bildsignal (welches über USB-Video-Grabber auf den PC kommt) auch die „Datenleitung“ direkt auf dem Rechner und könnte alles von einer Stelle aus machen. CHALLENGE ACCEPTED! 🙂

Fun Fact: Wer den letzten Artikel aufmerksam gelesen hat, dem ist sicher aufgefallen, dass die benötigten Dateien bereits auf meinem Rechner sind. 😉

b

Prinzipiell ist ucon64 nur ein Commandline-Tool, welches aber mit Hilfe einer weiteren Komponente namens „uf-FOX“ mit einer grafischen Oberfläche ausgestattet werden kann. Mit ucon64 lassen sich ROM-Dateien auch in ein entsprechendes Format – welches ggf. von dem jeweiligen Backup-Gerät benötigt wird – konvertieren. Ebenso bietet es die Möglichkeit Daten über den Parallelport zu senden. Wer viel Zeit hat, kann sich mit der Commandline-Version beschäftigen, die Anzahl der Parameter ist gigantisch und die Möglichkeiten scheinen unbegrenzt (hier nur ein kleiner Auszug):

c

Ich möchte mich aber primär auf die grafische Oberfläche konzentrieren. Das muss man doch ausnutzen, wenn sich schon jemand extra die Mühe gemacht hat eine GUI zu entwickeln. 😉 Ein erster Start von „uf-FOX“ wirkt vielversprechend:

d

Bevor man irgendwas tun kann, muss erst mal im Optionsmenü der Pfad zu ucon64 gesetzt werden:

e

Anschließend kann im Reiter „SNES“ über einen Klick auf „Send“ eine Datei ausgewählt werden. Wie beim letzten Mal versuchen wir es zuerst mit dem Basketballspiel, welches wir ja vor einiger Zeit mit Hilfe der SWC von Modul auf Diskette gesichert hatten. Wichtig ist, dass man zuvor den Supernintendo mit eingesteckter SWC einschaltet!

f

Beim Übertragungsversuch springt das Programm sofort in den Output-Reiter. Zur Abwechslung erhalten wir mal eine halbwegs aussagekräftige Fehlermeldung! 😉

g

Das klingt fast so, als bräuchte die Software einen speziellen Treiber um mit dem Parallelport zu kommunizieren. Gut, dass man auf der ucon64-Sourceforge-Seite auch gleich einen passenden 64-Bit-Treiber herunterladen kann – sehr cool! 🙂

h

Um diesen zu starten, ruft man einfach das beiliegende Batchfile (start.bat) als Administrator auf. Dieses bastelt sich den Pfad zur „giveio.sys“ zusammen und erstellt/startet einen Dienst (Treiber), welcher den Zugriff auf die Hardware ermöglicht:

@echo off
echo NOTE: This batch file must be run as Administrator.
setlocal
goto start

:get_absolute_path
if %1. equ . goto :eof
if %2. equ . goto :eof
set %1=%~dpf2
goto :eof

:start
cd /d %~dp0
if not exist giveio.sys (
echo ERROR: giveio.sys does not exist in the current directory.
exit /b
)
call :get_absolute_path giveio_sys_path giveio.sys
sc create giveio type= kernel binpath= "%giveio_sys_path%"
sc start giveio
pause

Das funktioniert sehr gut, zumindest meldet uns Windows, dass es den Dienst gestartet hat:

i

Not so fun Fact: Nur in die Readme-Datei der giveio.sys sollte man besser nicht zu genau hineinsehen, denn dort werden allerlei gruselige Dinge („technische Kniffe“) beschrieben. So muss z.B. temporär eine Prozessorstruktur (Global Descriptor Table) modifiziert werden, sodass die Windows-Prüfroutinen (PatchGuard) mitspielen und keinen Alarm schlagen…

Doch jetzt genug der Theorie, ein erneuter Versuch steht an. Und tatsächlich, diesmal sieht es sehr gut aus – zumindest bekommen wir bei der Übertragung einen Ladebalken!

j

Und tatsächlich hat sich auch etwas auf der SWC getan, scheint so als wäre die ROM-Datei übertragen worden:

k

Mit einem beherzten Druck auf „Normal Mode“ wird das Spiel gestartet – Erfolg! 🙂

l

Fun Fact: Interessant ist, dass selbst wenn man den Supernintendo resettet das Spiel weiterhin im Speicher erhalten bleibt. Möchte man ein anderes Spiel laden, muss man das SNES vollständig aus- und einschalten.

Jetzt probieren wir es noch mit einem anderen Spiel: Ich hab ja aus Artikel 29 noch „F-Zero“ herumliegen – perfekt, ein guter Testkandidat. Doch leider passiert beim Versuch das Spiel auf den PC zu übertragen überhaupt nichts und ucon64 stürzt ab:

m

Doch wo liegt das Problem? Skeptisch werde ich bei dem Blick auf „Backup unit/emulator header: No“. Merke: Es können lediglich Spiele mit für die SWC angepasstem ROM-Header übertragen werden! Gut, dass ucon64 so flexibel ist und uns eine Option hierfür anbietet:

n

Der Konvertierungsvorgang (*.sfc ==> *.swc) scheint erfolgreich zu sein:

o

Und, klappt jetzt eine Übertragung? Oh yeah… 🙂

p

Eine Frage haben wir zu Beginn allerdings nicht klären können. Was passiert, wenn ein Spiel größer als 1,44MB (effektiv 1,38MB) ist und somit nicht mehr auf eine Diskette passt? In diesem Fall muss das Spiel „zerstückelt“ und auf mehrere Disketten gepackt werden. Ich denke den einen Versuch gönnen wir uns noch! 😉

Hierfür verwenden wir eine weitere ROM-Datei („Ninja Gaiden Trilogy“), deren Existenz ich euch bisher unterschlagen habe. 😀 Allerdings stammt die Datei analog „F-Zero“ und „Micro Machines“ von einem Forumskollegen, der mir vor einiger Zeit mal meine Spielmodule gesichert hat – alles gut! 😉

q

Als erstes sollten wir mal die Datei mit ucon64 splitten:

r

Die beiden daraus resultierenden Dateien (SF12NINA.078 und SF12NINB.078) kopieren wir dann jeweils auf eine Diskette. Die Index-Datei „MULTI-GD“ wird nicht benötigt. Der Startversuch sieht vielversprechend aus, zumindest werden die Daten der ersten Diskette geladen:

s

Anschließend kommt eine Fehlermeldung, dass er das zweite File nicht findet:

t

Jetzt muss die zweite Diskette eingelegt werden:

Fun Fact: Das wirkt fast etwas so wie die frühen Installationen von Spielen oder Betriebssystemen, welche auf mehreren Disketten ausgeliefert wurden. Gebannt saß man vor dem Rechner und hoffte auf keinen Lesefehler! Nichts Schlimmeres, als eine Meldung à la „Not ready reading drive A – Abort, Retry, Fail?“ und das bei Disk 24 von 26 … 😉

u

Nun können wir endlich das Spiel starten… Doch was ist das?! Eine Fehlermeldung direkt vom Supernintendo?

v

Tja, wir haben den Regulierungs-Wahn der Unterhaltungsindustrie mal wieder unterschätzt. Nicht nur in Zeiten von nervigen DVD- oder BlueRay-Region-Locking hat man schon versucht, Kunden dazu zu zwingen, nur Spiele aus der jeweiligen Region (nach Fernsehnormen getrennt) zu spielen. So gibt es neben PAL (Europa, Australien, Neuseeland) auch NTSC-U (Amerika und Kanada) und NTSC-J (Japan). Der Supernintendo besitzt einen „CIC-Lockout Chip“, welcher die Fernsehnorm der Konsole mit der des Spielmoduls abgleicht. Ist diese ungleich erscheint oben aufgeführte Fehlermeldung.

Fun Fact: Nintendo hat natürlich noch einen draufgesetzt und zusätzlich den „amerikanischen Modulen“ eine andere Form verpasst, sodass diese gar nicht (ohne Modifizierung der Konsole) physisch in das europäische SNES eingesteckt werden können… Bullshit! 😀

Hier mal eine Tabelle um den ganzen Wahnsinn zu verdeutlichen:

w

Heißt das jetzt, dass wir das Spiel nicht spielen können? Gut, dass es für fast alles eine Lösung gibt! Wieder kommt uns ucon64 zu Hilfe, denn das bietet die Möglichkeit ROM-Dateien mit einem „Region fix“ zu versehen:

x

Anschließend splitten wir die „Ninja Gaiden Trilogy (USA).sfc“ wieder in zwei Teile und kopieren diese jeweils wieder auf eine Diskette. Ob wir jetzt mehr Glück haben? HELL YEAH!!! 🙂

Fun Fact: Ninja Gaiden Trilogy ist im Übrigen ein Remake der ersten drei Ninja Gaiden-Spiele für den NES auf einem SNES-Modul zusammengepackt. Quasi die geballte Frustration dreier Spiele auf einem Modul! 😀 Wenn nur die Musik nicht so cool wäre…

y

Eine abschließende Erkenntnis: Überträgt man die Dateien via Diskette, so müssen diese nicht extra in das „SWC-Format“ konvertiert werden, denn dann übernimmt die SWC den Patchvorgang dynamisch beim Starten eines Spiels. Überträgt man das Spiel dagegen über den Parallel-Port, muss die ROM-Datei als *.swc vorliegen. Dafür muss sie über den parallelen Weg nicht gesplittet werden. Alles hat seine Vor- und Nachteile! 😀

Handelt es sich um eine NTSC-Version muss aber in jedem Fall ein „Region fix“ durchgeführt werden.

Doch jetzt entschuldigt mich – ich muss Ryu Hayabusa auf seinem Rachefeldzug bei der Suche nach seinem verschollenen Vater unterstützen! 😉

z

Game on! 🙂

2 Comments

  • Antworten Dmx6

    19. April 2021, 17:18

    Hi,
    darf man fragen ob du ein normales Parallel-Kabel benutzt hast oder das extra zusammengelötete?
    Ich habe auch eine Super Wild Card Einheit fürchte aber das Diskettenlaufwerk hat sich verabschieded….Wenn man mit den PC Daten transferieren kann währe das schniecke.

    • Antworten retrololo209851188

      19. April 2021, 17:25

      Servus,
      in Artikel 30 findest du die Lösung! 😉
      Ich habe selbst eins gelötet, die SWC benötigt eine recht spezielle Belegung (nur die ersten 13 Pins 1:1 belegt, wenn ich mich richtig erinnere), ist aber im Artikel beschrieben!

Write a comment