Snes9x4P v20111205 - Nun mit Hardwarescaling


ivanovic

Member
Joined
Aug 4, 2006
Messages
784
Hi Leute!
Hab die letzten beiden Tage ein bisschen am SNES Emulator weiter gewerkelt und dabei unter anderem die modifizierte libsdl von Notaz eingebaut und den Code vom Emu so angepasst, dass jetzt auch Hardware Skalierung möglich ist. Dabei wird immer auf die volle vertikale Auflösung von 480 Pixeln skaliert. Es gibt 4 neue Skalierungsmodi:
* 640x480 (Seitenverhältnis von 4:3, so wie es damals auf dem TV auch angezeigt wurde)
* 800x480 (also Vollbild)
* 585x480 (das Seitenverhältnis, dass intern in den Roms bei NTSC Spielen zum Einsatz kommt)
* 512x480 (das Seitenverhältnis, dass intern in den Roms bei PAL Spielen zum Einsatz kommt)

Die kompletten Änderungen seit "1.39ff.20111010.2":
* Support für Hardwarescalierung eingebaut (neue Modi siehe oben).
* 4:3 als neuer Default Modus.
* Bei drücken von 's' auf dem Keyboard wird nun wieder sauber durch alle modi gewechselt (früher hat da zumindest 3x2 gefehlt!).
* VSync sollte nun (wieder?) korrekt funktionieren.
* Das Menü wird nun mit weniger Artefakten angezeigt, wenn man durch die verschiedenen Displaymodi schaltet.
* Es werden im Menü nur noch die unterstützten Modi für ein Spiel angezeigt (z.B. konnte man früher "2x2 smooth" für HiRes Spiele auswählen, hat aber nur "2x2 no AA" erhalten, da der Modus nicht unterstützt wird, nun werden die nicht unterstützten Modi nicht mehr angezeigt).

Ein bekanntes Problem ist, dass es in HiRes Spielen hin und wieder zu einem kurzen Flackern kommen kann, wenn diese intern von 512x* auf 256x* wechseln. Das ist in "Secret of Mana 2" zum Beispiel der Fall, wenn innerhalb vom Spiel auf einen Dialog gewechselt wird. Das Problem tritt nur in den Hardwarescaling Modi auf, kann aber leider nicht verhindert werden. Wenn das Flackern zu sehr stört am besten auf einen der "non HW" Modi wechseln.

Bevor die Frage aufkommt, ob das nun die Geschwindigkeit vom Emulator verbessert:
Keine Ahnung, sprich testet das einfach mal selbst und berichtet eure Erfahrungen. Wenn ihr Probleme feststellt, berichtet diese bitte auch. Nein, die alten Probleme, die eine Hand voll Spiele hatte (das sie viel zu schnell oder falsch laufen) sind mit ziemlicher Sicherheit nicht behoben.
 

ingoreis

Advanced Member
Staff member
Joined
Jan 18, 2010
Messages
8,219
Age
40
Location
49.491276,8.423518
Wow cool,großes kompliment.
Da können wir bestimmt die Pandora bissl runtertakten um Akku zu sparen beim Zocken ;)
Wo kann ich die PND denn runterladen beim PNDStore?

Soweit bin ich mit meiner Pandora noch nicht,habs aber gestern endlich geschafft den
Qemulator zu porten(Grafische Gui für Qemu)

Freue mich schon auf Snes RPGs Zocken und deine Version testen ;)
 

ivanovic

Member
Joined
Aug 4, 2006
Messages
784
IngoReis said:
Wow cool,großes kompliment.
Da können wir bestimmt die Pandora bissl runtertakten um Akku zu sparen beim Zocken ;)
Wo kann ich die PND denn runterladen beim PNDStore?
Da der PNDStore direkt aufs Repo zugreift:
Ja, das ist eine Option. Ansonsten einfach auf http://repo.openpandora.org/?page=detail&app=snes9x4p_ivanovic gehen und es da saugen.

Nein, ich glaube nicht, dass er wahrnehmbar schneller sein wird. Abgesehen davon bringt runter takten kaum etwas um Akkulaufzeit zu sparen. Dadurch, dass die CPU weniger lange aktiv ist spart er genau so. Aber wie gesagt, das bezweifle ich doch noch etwas, das da ein unterschied wahrnehmbar sein wird.
 

ingoreis

Advanced Member
Staff member
Joined
Jan 18, 2010
Messages
8,219
Age
40
Location
49.491276,8.423518
Hab die Version probiert und läuft einwandfrei ;)
Bin sehr zufrieden aber da ich selten Snes gespielt hab auf der Pandora,
hab ich keinen Geschwindigkeitsschub feststellen können.
Das war bestimmt viel Arbeit das über Opengles zum laufen zu bewegen,mein Respekt :yes:
Ich selbst hab schon probiert Cpajustes SDL 1.3 mit Gles unterstützung zum laufen
zu bewegen aber irgendwas ging schief und nun starten Anwendungen die SDL nutzen
auf meiner EntwicklerSDKarte nicht mehr(vorläufig,bin dran am Problem :) )

Gute Arbeit,kein Absturz oder irgendwelche Fehler gesehen,also großes LOB für deine Mühen,
ich nutz jetzt nur diese Version vom Snes9x4P,verpsrochen ;)
 

ivanovic

Member
Joined
Aug 4, 2006
Messages
784
IngoReis said:
Das war bestimmt viel Arbeit das über Opengles zum laufen zu bewegen,mein Respekt :yes:
Ich selbst hab schon probiert Cpajustes SDL 1.3 mit Gles unterstützung zum laufen
Uhm, ich hab das mit Noatz libsdl gemacht: http://boards.openpandora.org/index.php?/topic/6231-improved-sdl-for-pandora/
Damit war es vor allem ein Fall vom Display mode an bestimmten stellen setzen und dafür zu sorgen, dass man in einen entsprechend aufgelösten framebuffer rendert, welcher dann nach wahl hochskaliert wird. Das größte Problem war es letztlich die passenden Stellen zu finden für das Setzen der Auflösung und wie man am besten mit Modiwechseln umgeht.
 

ingoreis

Advanced Member
Staff member
Joined
Jan 18, 2010
Messages
8,219
Age
40
Location
49.491276,8.423518
Ach Gott Notaz machte das auch? cool muss sofort danach suchen und probieren ;)
Das war ein echt guter Tipp danke dir :-D

Edit: Richte mir gerade eben ne neue Entwickler SD ein dafür zum Testen :O
 

buddha1337

Still Fresh
Joined
Aug 30, 2010
Messages
241
Leider kann man seine alte version nicht über den PNDstore Updaten.
Wenn ich jetzt die neue Version drauflade und die alte lösche wie sieht das dann mit den savestates aus?
 

ivanovic

Member
Joined
Aug 4, 2006
Messages
784
buddha1337 said:
Leider kann man seine alte version nicht über den PNDstore Updaten.
Wenn ich jetzt die neue Version drauflade und die alte lösche wie sieht das dann mit den savestates aus?
Hmm, das man die nicht updaten kann wundert mich sehr, da der pndstore nur auf repo.o.o zugreifen sollte, wo ich die neuen Releases immer hochlade. Die Savestates funktionieren weiterhin. Ich hab damals, als ich den Emulator vor gefühlten Ewigkeiten von skeeziz "übernommen" habe aus diesem Grund die ID nicht geändert (weshalb weiterhin in appdata/snes9x.skeezix.alpha gespeichert wird, auch wenn der Ordnername leicht unpassend ist). Sprich das ist letztlich nur ein normales Update der Version, welches allerdings ein paar nette Ergänzungen bringt.
 

Sebo

Still Fresh
Joined
Oct 14, 2008
Messages
26
Also ich konnte beide neuen Versionen problemlos über PNDStore updaten. Vielleicht liegts an der WLAN-Verbindung? Wenn ich versuche, größere Updates wie Firefox oder Battle for Wesnoth über PNDStore zu laden, reißt irgendwann die Verbindung ab und das Update geht schief....
 

ivanovic

Member
Joined
Aug 4, 2006
Messages
784
Damit jene, die nur im deutschen Board unterwegs sind oder nicht regelmäßig ins Repo schauen oder später in längere threads in den englischen Boards nicht lesen nun auch als kurze Info hier:

Es ist ne neue Version des Emulators raus. John4p hat die Möglichkeit des "Kanten abschneiden" bei Nutzung der Hardware Scaler Modi implementiert. Außerdem hab ich das Menü komplett überarbeitet. Mehr Infos über die Änderungen im englischen Board. Den Download gibt es einfach als Update via PNDstore oder direkt im Repo.
 

slackland

Newbie
Joined
Sep 27, 2006
Messages
217
:O Schon wieder ein Update! Man, ihr seid ja echt Fleißig! Komm ja schon gar nicht mehr mit! Find ich echt klasse, wie sehr ihr euch Mühe gibt! Dankeschön!
 

johnnysnet

Newbie
Joined
Dec 17, 2006
Messages
989
Location
Leipzig
ICQ
224443444
LOCATION
Leipzig
Jetzt wäre nur noch eine vollständige Soundemulation wünschenswert, dann könnten wir den Emu praktisch erstmal abhaken.
 

ivanovic

Member
Joined
Aug 4, 2006
Messages
784
johnnysnet said:
Jetzt wäre nur noch eine vollständige Soundemulation wünschenswert, dann könnten wir den Emu praktisch erstmal abhaken.
Dazu kann ich nur sagen:
Ich freue mich über Patches, der Code ist offen und für jeden zugänglich: https://github.com/ivanovic-wesnoth/Snes9x4P
;)
In Sachen Sound bin ich mit der aktuellen Version allerdings recht zufrieden. Das heißt, dass man z.B. bei Secret of Mana einfach auf das alternative Decoding Verfahren umstellt und damit brauchbaren Sound hat. An welche Spiele denkst du denn generell, wenn es noch um Probleme geht? Ich weiß, dass es z.B. mit StarFox Probleme in der Art gibt, dass der Emulator einfach zu schnell läuft (doppelt so schnell wie gewünscht/gedacht/normal). Leider sind das Probleme, die eingehendere Arbeit am Emulator Kern erfordern, für die ich nicht das Wissen über die zu emulierende Konsole besitze. Dazu kommt noch das der Code von Snes9x selbst nicht gerade sehr leserlich ist (zumindest in meinen Augen...). SiENcE (er ist verantwortlich für den Port von Snes9x 1.39 auf den dingoo indem er den Emulator auf sdl portiert hat) hat mal versucht höhere Versionen ans laufen zu bringen, die geben im Falle des Pandoras aber nichtmal ein Bild aus, für andere Plattformen sind die noch uninteressanter, da *weit* Resourcenintensiver und damit zu lahm. Ja, insbesondere die neue "Soundemulation", die die neueren Snes9x verbaut haben frisst wohl extrem viele Ressourcen, die auf dem Pandora einfach nicht verfügbar sind.

Ein kleines Beispiel für die Ressourcenauslastung beim Pandora momentan:
Wenn ich Secret of Mana geladen habe (Pandora mit 600MHz getaktet) und mit dem commandline prog 'top' nach der Last schaue, so liegt die bei knapp über 90% wenn ich den 2x2 oder den 3x2 "software" scaler benutze. Mit den Hardware Modi sind das ungefähr 75% CPU Auslastung. Also ist es wunderbar flüssig, aber eben nicht mehr sonderlich viel Spielraum nach oben.

Aber eine Aussage bleibt: Ich heiße Patches willkommen! Natürlich freue ich mich auch über generelle Verbesserungsvorschläge (z.B. zum Menü oder Tasten, die angeboten werden sollten) sowie Meldungen von Inkompatibilitäten und Problemen. Leider kann ich generell nichts versprechen in Bezug dazu was ich davon wirklich einbauen kann (gerade bugfixes in den emulierten Spielen sind problematisch, siehe oben, anderes sollte irgendwie gehen).
 
Top