Seite 1 von 2

Firmware 0.1.7 preview

Verfasst: 19. September 2014, 13:06
von ikari_01
Hier ist die Preview-Version von Firmware v0.1.7. Preview, weil eigentlich Cheats noch mit rein sollen. Die funktionieren zwar im Prinzip schon, aber es fehlt noch die Oberfläche zur Eingabe. ;)

Hier die Neuerungen:
  • In-Game-Tastenkombinationen: Man kann nun im Spiel mittels Tastenkombinationen verschiedene Funktionen auslösen, z.B. ins sd2snes-Menü zurückkehren. Die Tabelle gibt es hier: http://sd2snes.de/blog/archives/428
  • Wenn man ein Spiel aus der Liste der letzten Spiele auswählt, wird dieses auch an den Anfang der Liste verschoben.
  • LED-Blinkcodes für Fehler beim Zugriff auf die SD-Karte, z.B. wenn das Speichern der SRM-Datei fehlgeschlagen ist. Die Codes werde ich später noch im einzelnen aufschlüsseln.
  • Falls beim Speichern ein Fehler auftritt, versucht es das sd2snes nach einigen Sekunden nochmal. Man hat so z.B. die Chance, die Karte zu wechseln. Es muss allerdings momentan noch die gleiche Verzeichnisstruktur auf der anderen Karte vorhanden sein.
  • "Bildschirmschoner" - im Menü wird das Bild nach einiger Zeit abgedunkelt, wenn keine Eingaben vorgenommen werden.
  • Stark vereinfachtes Memorysharing zwischen sd2snes-CPU und SNES, die FSM hat nur noch 5 Zustände statt 18. Das Timing sollte entspannter und der Stabilität zuträglich sein.
  • On-the-Fly-Browsing. Es wird keine Datenbank mehr erzeugt, das langwierige Scannen der Karte beim Einschalten entfällt. Dafür gibt es jetzt ein kleines "Loading"-Fensterchen, wenn Verzeichnisse und Dateien geladen werden.
  • Fenster sind jetzt blau! Mit Abstand die wichtigste Neuerung. Sie sollen sich so besser von Listings mit vielen gelben Unterverzeichnissen abheben.
  • Das Cx4-ROM ist jetzt in der FPGA-Konfiguration eingebettet, die Datei cx4.bin wird somit nicht mehr benötigt.
  • Die Satellaview-Uhr ist wieder auf 18:00:00 statt 18:05:30.
  • Die SD-Karte kann im Betrieb gewechselt werden. Allerdings wird die Dateiliste noch nicht automatisch aktualisiert, so dass man das Verzeichnis einmal wechseln oder kurz RESET am SNES drücken muss, um die Änderungen zu sehen. Praktisch, wenn man nur mal eben ein ROM dazukopieren will.
  • Die Statuszeile (mit Uhrzeit und Tastenbelegung) habe ich ein paar Pixel hochgeschoben, damit sie nicht so sehr im Overscan verschwindet.
  • Beim seitenweisen Scrollen (D-pad rechts) wird der letzte Eintrag nun am unteren Bildschirmrand ausgerichtet und nicht mehr mitten im Bild.
  • Mit den Schultertasten kann man nun zum Anfang/Ende eines Ordners springen.
  • Bugfix: ein paar Kompatibilitätsprobleme behoben (Super Play Action Football (Konflikt mit der S-RTC), GP1 Part II (WRAM wird nun initialisiert - eigentlich ein Spiel-Bug!), Human Grand Prix (Mapper-Erkennung wurde verbessert))
  • Bugfix: FPGA-Statemachine wird korrekt initialisiert (auf manchen Konsolen lief das sd2snes nicht immer richtig an
In der finalen Version wird es dann noch ein Konfigurationsmenü und das Cheat-Interface geben.
Falls irgendein Spiel - auch mit deaktivierten In-Game-Buttons - nicht mehr läuft, das mit 0.1.6 noch funktioniert hat, lasst es mich bitte wissen. ;)

Re: Firmware 0.1.7 preview

Verfasst: 19. September 2014, 14:34
von rama
Sehr cool!
Ich habe gerade kaum Zeit für ausführliche Tests aber im Kurztest funktionierten das neue directory listing
und die ingame Routinen. Nun braucht mein SFC keinen IGR :)
Kleiner Bug trotzdem:
Die Spezialverzeichnisse auf der SD Karte werden nicht mehr gefiltert.
Ich sehe ein "system volume information" und ein "sd2snes" Verzeichnis.

Re: Firmware 0.1.7 preview

Verfasst: 19. September 2014, 15:10
von Yankee
Danke ikari!

Das erste Problem habe ich aber schon: Habe Terranigma mit dem sd2snes getestet was mit der Firmware 0.1.6 funktionierte. Jetzt kommt die Fehlermeldung:This game pak is not designed for your Super Famicom or Super NES.

Hardware: Super Famicom

Re: Firmware 0.1.7 preview

Verfasst: 19. September 2014, 15:45
von borti4938
Einmal die sd2snes.cfg und lastgames.cfg von der SD-Karte löschen. Versuche mal, ob es dann geht ;)

Re: Firmware 0.1.7 preview

Verfasst: 19. September 2014, 18:26
von rama
Meintest du mich, borti?

@ikari_01: Mir ist noch das wirklich schnelle Laden der Verzeichnisse aufgefallen.
Bei mir würde es sicher auch ohne die "Now Loading" Box gehen :)

Re: Firmware 0.1.7 preview

Verfasst: 19. September 2014, 18:41
von borti4938
Nö, bezieht sich auf Yankees Post ;)

Re: Firmware 0.1.7 preview

Verfasst: 19. September 2014, 19:02
von Yankee
Ich werde das mal probieren. Danke borti :wink:

Re: Firmware 0.1.7 preview

Verfasst: 19. September 2014, 23:52
von rama
In Romancing Saga 3 machen die Extraroutinen Ärger mit dem Kampfbildschirm.
Secret of Mana lässt sich gar nicht starten.
Beide Spiele funktionieren wieder, wenn man die Routinen per L+R+Start+Y deaktiviert.

Edit: Beides Squaresoft Titel. Man könnte die alle mal checken, es gibt sicher noch mehr Probleme damit.

Edit2: In Secret of Mana 2 (fan translation) scheinen die Routinen komplett überschrieben zu werden.

Re: Firmware 0.1.7 preview

Verfasst: 20. September 2014, 00:29
von ikari_01
Jep, Secret of Mana ist bekannt, betrifft m.E. aber nur den Squaresoft-Logobildschirm. Deshalb die zusätzliche Möglichkeit, die Routine vorübergehend zu deaktivieren (mit L+R+Start+X).
In der Final wird es natürlich auch noch die Möglichkeit geben, die Routine von vornherein aus dem Menü heraus zu deaktivieren. Allerdings kann man sie dann während des Spiels auch nicht mehr aktivieren. ;)

Was meinst du bei SoM2 mit überschreiben?

Re: Firmware 0.1.7 preview

Verfasst: 20. September 2014, 00:36
von rama
In SoM 2 gehen Reset usw nur bevor man ein Spiel gestartet hat.
Danach ist der Code wohl weg :p

Re: Firmware 0.1.7 preview

Verfasst: 20. September 2014, 00:44
von ikari_01
Ah, ich sehe schon was du meinst - der Code ist noch da, wird aber nicht aufgerufen, jedenfalls nicht im laufenden Spiel. Ich will jetzt nicht zu technisch werden, aber:
Um die Buttonabfragen (und WRAM-basierte Cheats) zu realisieren, schleust das sd2snes Code ins laufende Spiel ein. Das funktioniert, weil die meisten Spiele regelmäßig eine feste Adresse anspringen, die man dann abfangen kann. Das ist ein fester Mechanismus der SNES-Hardware bzw. der 65816-CPU. Man spricht von einem Interrupt. Sie werden genutzt, um unabhängig von irgendwelchen Warteschleifen zu bestimmten Zeitpunkten bestimmten Code auszuführen, z.B. zu Timingzwecken, Bildaktualisierung, usw.

Nun gibt es am SNES zwei davon - den sogenannten VBlank-NMI (wird einmal am Ende jedes Frames ausgelöst) und einen mehr oder weniger frei definierbaren sogenannten IRQ (kann z.B. bei einer bestimmten Bildzeile ausgelöst werden).

Das sd2snes hängt sich momentan nur in ersteren (wird von der absolut erschlagenden Mehrheit der Spiele eingesetzt und bei letzterem kommt es häufiger zu Glitches - z.B: R-Type 3 nutzt den IRQ statt HDMA, um mitten im Bild an mehreren Stellen irgendwelche Grafikregister umzuprogrammieren, zwecks Punkteanzeige etc.)

SoM2 schaltet den VBlank-NMI wohl im Spiel ab, damit liegt die Ingameroutine momentan leider brach.
Vielleicht bastel ich noch mal ne Art "intelligente" Erkennung, wo man sich einhängen sollte.

Re: Firmware 0.1.7 preview

Verfasst: 20. September 2014, 00:51
von rama
Einen NMI IRQ abzuschalten klingt irgendwie witzig :p
Welche Optionen gibt es noch so, um sich einzuklinken?

Re: Firmware 0.1.7 preview

Verfasst: 20. September 2014, 01:35
von ikari_01
Ja, die CPU kann ihn nicht maskieren, aber die PPU ist in der Lage, ihn nicht zu erzeugen ;)
Es gibt nur NMI und IRQ. Naja gut, und noch so Spezialitäten wie BRK... aber das dürfte wirklich kaum genutzt werden.

Re: Firmware 0.1.7 preview

Verfasst: 20. September 2014, 07:33
von papierkorb
Super, das man sieht dass es immer weiter geht! Nach wie vor tolle Arbeit!

Re: Firmware 0.1.7 preview

Verfasst: 21. September 2014, 15:35
von ChronoMoogle
Klasse Update! Unglaublich wie viel Nutzerkomfort das sd2snes inzwischen hat^^