Moin.
Ich wollte mal kurz vorstellen, wie ich die automatische Reprogrammierung meines Encoders (in dem Fall JammASD, geht aber 1zu1 auch mit einem IPac/Jpac/InterfASD) realisiert habe. Die Dokumentation dazu ist irgendwie mau und ich dachte, vielleicht interessiert sich ne Sau dafür ![]()
Ich hab da die Tage folgendes Problem gehabt mit meinem Quadro ... ich habe ein Buttonlayout, bei dem in der oberen Reihe 3 und in der unteren Reihe 4 buttons sind, um die Neo Geo Sachen schön spielen zu können. Skizze:
4 5 6
* * *
* * * *
1 2 3 4
So in etwa sieht das aus ... Verdrahtet sind die Knöppe nun so, das unten 1,2,3,4 und oben 4,5,6 liegen. Button 4 rechts unten ist dabei wirklich hauptsächlich für Neo Geo interessant, ansonsten stört der aber nicht. Nun zum Problem: Was ist mit den Capcom Prüglern? Typisches Beispiel Street Fighter. Da sind 1,2,3 oben und 3,4,5 unten für die Kicks.
Da musste nun die On-The-Fly-Programmierung des Encoders Abhilfe schaffen. Also schnell ein neues Preset gebaut und irgendwo gespeichert, Mala anschmeissen und dann abkotzen, weil man in den Einstellungen zwar das automatische Laden der Encoderpresets aktivieren kann aber als Parameter nur den Namen der Romdatei übergeben kann. Beispiel zu Erklärung:
Ausgewähltes Spiel: Street Fighter 2 Alpha Super Hyper keine Ahnung
Romname: sfsucks
Aufruf des Encoderprogrammierers von Mala aus: JammASD.exe sfsucks.jasd (.jasd ist die Endung der Presetfiles des Encoders)
Was bitte soll man damit anfangen? Für jedes Spiel, für das ich ne neue Belegung will ein eigenes Presetfile anlegen? Wohl nicht ... das sind laut Maws über 300 (mit Clones usw. ohne aber immer noch fast 100). Kannste vergessen, da kann ich auch direkt im Mame für jedes Spiel ne neue Buttonbelegung erstellen oder für den Treiber, was aber zur Folge hätte, das für alle Capcom Games die Belegung anders ist, ich will aber nur die 6-Button-Games erwischen.
Was ich will: irgendwo eine Liste (oder mehrere) mit Spielen (bzw. Rom-Namen) ablegen können, in der gekuckt wird, ob das Spiel in einer der Listen ist und wenn ja, dann das passende Encoderfile dazu laden. Wenn das Spiel in keiner Liste ist, das Default-Encoder-File nehmen.
Realisiert habe ich das Ganze dann so:
Schritt 1: Preset erstellen.
Das ist einfach. Einfach mit der beiliegenden Encodersoftware nen Preset zaubern. In Beispiel hier mal "sixlayout.jasd". Dazu noch eine Datei mit dem Defaultpreset ablegen (z.B. "default.jasd")
Schritt 2: Wie kriege ich die Liste der Spiele (Roms) in eine Textdatei, die ein 6 Button Layout haben?
Ich hab das mal folgendermaßen gemacht: Maws anwerfen und entsprechend die Filter einstellen ... gibt mir eine Liste von 3xx Spielen aus. Diese dann per Copy-Paste in Excel bringen. Das funzt sehr gut, man hat am Ende eine schöne Tabelle, in der die Daten ordentlich sortiert drinstehen. Dieses dann als CSV-Datei (weil Klartextformat) exportieren ... in diesem Beispiel in die Datei "sixbuttongames.lst". Entsprechend kann man natürlich auch noch mehr Listen anlegen ...
Schritt 3: Batch Datei erstellen.
Die Batchdatei soll folgendes leisten: In allen abgelegten Listen nach dem Namen des Roms suchen. Wenn die Suche positiv verlief, dann das Presetfile, das zur Liste passt, laden. Ansonsten das Defaultpreset laden. Ich kann das gerade nicht posten, weil ich mir auf der Arbeit den Arsch abschwitze aber das hol ich heute Abend nach ... die Suche basier auf dem findstr Befehl, der den Errorlevel 0 setzt, wenn er was findet und 1 wenn die Suche erfolglos war.
Tja, das wars ... ist doch total einfach ...
cheers, prc
