Neue Version von SNES4ALL veröffentlicht (SNES-Emulator)

Alles über Dreamcast-Software - von Spielen, Tipps, Cheats bis zu Homebrew, Emulatoren und mehr.
Benutzeravatar
Professor K
Echter Dreamcast-Fan
Echter Dreamcast-Fan

Re: Neue Version von SNES4ALL veröffentlicht (SNES-Emulator)

Beitrag von Professor K »

Ich denke weil die DC nicht nur das Spiel sondern auch das SNES emulieren muß.
Benutzeravatar
Maturion
sega-dc.de-Team
sega-dc.de-Team
Kontaktdaten:

Re: Neue Version von SNES4ALL veröffentlicht (SNES-Emulator)

Beitrag von Maturion »

Ist dir (oder jemand anderem) eigentlich die technische Erklärung dafür bekannt? Ich meine, wieso ist eine 128-bit Konsole nicht dazu in der Lage 16-bit Spiele flüssig darzustellen?
Ich halte die Konsole für absolut fähig, ein SNES-Spiel flüssig darzustellen. Die Dreamcast sollte die "Power" haben, so gut wie jedes SNES-Spiel mit 100% der Originalgeschwindigkeit zu emulieren. Es gibt ja sogar einen PSX-Emulator für Dreamcast, der 100% flüssig läuft (bleemcast) .

Das Problem ist meines Erachtens nicht die Hardware, sondern die Emulatoren selber.

Die technische Erklärung ist wohl folgende:

Bei einem Emulator wird die Original-Hardware auf der Zielhardware sozusagen "nachprogrammiert". Je nach dem, wie genau das gemacht wurde, desto schneller ist das ganze. Um das ganze flüssig zu emulieren, braucht man immer ein vielfaches der Original-Leistung. Es ist dafür mehr Leistung erforderlich als man denkt.

Bei der Emulationsgeschwindigkeit spielen aber noch einige andere Faktoren eine Rolle. Der Emulator muss beispielsweise zusätzlich noch für die Dreamcast-Hardware optimiert werden. Die Dreamcast-Hardware ist ja anders aufgebaut als die eines PCs. Der Emulator muss umgeschrieben werden, um speziell die Dreamcast-Technik auszunutzen. Auch manche Spiele verhalten sich in technischer Hinsicht seltsam, so muss ein Emulator auch noch oftmals für spezielle Spiele optimiert werden.

Auch die verwendete Programmiersprache spielt eine Rolle.

Es gibt Programmiersprachen, wie etwa Assembler, die sind sehr "hardwarenah". Die Programmierung mit Assembler ist extrem aufwändig und die Sprache ist selbst für einen geübten Entwickler ziemlich schwer. Dafür bekommt man damit ein Maximum an Geschwindigkeit.
bleemcast, ein PSX-Emulator für Dreamcast, wurde vollständig in Assembler geschrieben und läuft deswegen mit nahezu 100% der Original-Geschwindigkeit.

Auch Teile von SNES4ALL und DreamSNES wurden in Assembler geschrieben, aber eben nur einige Teile. Auf dem PC wird Assembler so gut wie gar nicht mehr verwendet, weil PCs heute so schnell sind, dass man das bisschen an zusätzlicher Geschwindigkeit gar nicht mehr braucht.

Dann gibt es andere Programmiersprachen, die nicht so hardwarenah sind. Diese sind einfacher verwendbar, aber dafür nicht so schnell.

Spiele wie Super Mario Kart und StarWing sind für SNES-Spiele technisch relativ aufwändig. Damit solche Spiele überhaupt auf dem SNES laufen, sind auf dem Modul von beiden Titeln nochmal zusätzliche Hardware-/Grafik-Chips enthalten.

Diese Zusatzchips müssen ebenfalls emuliert werden. Speziell diese Zusatzchips machen Probleme. Ihre Emulation erfordert mehr Leistung und zusätzlich ist die Emulation von diesen Chips auf der Dreamcast nicht so optimiert. Dafür müssten viele Teile von SNES4ALL neugeschrieben werden.

Letztenendes muss man auch beachten, dass Projekte wie SNES4ALL oder DreamSNES alles Ein-Mann-Projekte sind (DreamSNES waren 3 Leute), die in der Freizeit entwickelt wurden. Die Entwicklung von so einem Programm erfordert sehr viel technisches Fachwissen und vor allem sehr, sehr viel Zeit. Die ganzen Emulatoren für Dreamcast entstanden alle in der Freizeit und die Entwickler bekommen kein Geld dafür.

Es wäre sicherlich möglich, auch besonders aufwändige SNES-Spiele auf der Dreamcast ruckelfrei zu emulieren. bleemcast funktioniert ja auch. Allerdings war bleemcast ein kommerzielles Produkt, an dem ein ganzes Team von Vollzeit-Entwicklern gearbeitet hat.

Aus (programmier-)technischer Sicht ist eine 100% flüssige Emulation sehr aufwändig. Gerade Spiele wie Super Mario Kart oder StarWing verwenden nochmal ihre ganz speziellen Chips, die nur auf dem jeweiligen Spiel enthalten sind.

Chui hat sich bei SNES4ALL vermutlich erstmal auf die Teile seines Emulators konzentriert, die für möglichst viele SNES-Spiele wichtig sind (also die Standard-Hardware). Da waren spezielle Chips, die nur in einzelnen Spielen vorkommen wohl erstmal zweitrangig.

Ich hoffe meine Erklärung war einigermaßen verständlich und ich bin nicht zu sehr in Technik-Jargon abgerutscht. :)
Dreamcast träumt weiter
Xbox Live GamerTag: Maturion
Aeon
Grünschnabel
Grünschnabel

Re: Neue Version von SNES4ALL veröffentlicht (SNES-Emulator)

Beitrag von Aeon »

Ich hoffe meine Erklärung war einigermaßen verständlich und ich bin nicht zu sehr in Technik-Jargon abgerutscht.
Das war klasse! Meinen Dank dafür.
Antworten

Mitglieder in diesem Forum: 0 Mitglieder und 399 Gäste