Du bist nicht angemeldet.

21

10.01.2017, 09:40

Huch? Ich dachte das ist der Gag beim Mist FPGA. Wenn das nur stinknormale Emulation sein sollte ist das tatsächlich ziemlich witzlos.
Hipster-Pisser!

henrikf

Pixelor-Team

Beiträge: 6 828

Wohnort: Bad Aibling / Bayern

Beruf: Software-Entwickler

  • Private Nachricht senden

22

10.01.2017, 10:12

Entgegen vielen Geruechten sind die meisten Mist FPGA Cores uebrigens KEINE 1:1 Hardware Implementierung der original Chips der originalen Geraete, sondern bei den meisten Cores ist das einfach eine schlichte Emulation vieler dieser Chips. [...]

Natürlich werden in dem FPGA viele verschiedene Chips zusammen gefasst und natürlich werden da auch teilweise Funktionen der Original-Chips vereinfacht. Das geht gar nicht anders, weil es nahezu niemals technischen Unterlagen über den internen Aufbau der Original-Chips gibt (was die damaligen Hersteller auch tunlichst unterlassen haben, denn das ist ja deren IP gewesen, also womit sie Geld gemacht haben). Selbst der gute alte 6502-Prozessor wurde erst vor kurzem komplett mit Hilfe eines Elektronen-Mikroskops analysiert. Also müssen die Designer der Cores heftigstes Reverse-Engineering betreiben, um ihre Kreationen zum Leben zu erwecken. Dass dabei einiges nicht so wie in den Originalen funktionieren kann, ist klar.

Die Frage sei auch gestattet, was denn in Hardware als »Emulation« und was als »Simulation« gilt. »Emulation« ist, möglichst dicht an die originale Funktionsweise heran kommen, egal mit welchen mitteln. »Simulation« ist, den internen Aufbau der Chips nachzubilden. So gesehen wird niemand eine echte 100prozentige Simulation zum Beispiel eines 6502- oder eine Z80-Prozessors in ein FPGA gießen. So etwas wie die originalen Taktgeneratoren und Steuersignale der Original-Chips benötigt man dort nämlich nicht. Man kann aber davon ausgehen, dass die beiden erwähnten Prozessoren zyklengenau nachgebildet wurden. Und das reicht ja aus.

Ich führe als Beispiel mal zwei Atari-800 Emulatoren an, mit denen ich mit sehr gut auskenne: »WinAtari« und »Altirra«. Die beiden unterscheiden sich in genau den oben beschriebenen Verhaltensweise. Der »WinAtari« bildet die Funkionen des Ataris nach und verhält sich im groben und ganzen so wie ein Atari 800. Der Altirra geht einen Schritt weiter und Simuliert das Takt- und Funktionsverhalten der Atari-Chips. Letzterer ist natürlich deutlich genauer (und ein Traum, wenn man heute für den 8-Bit-Atari Software entwickeln möchte).

Wie auch immer: Im »Mist FPGA« wird sicherlich nicht der ARM-Prozessor für die Emulation der Software herhalten. Dafür wird der verbaute Altera FPGA eingesetzt.
--== Island2Live / Henrik Fisch==--
Homepage: http://www.island2live.com/ deviantART: http://island2live.deviantart.com/
Spielt gerade: Yonder: The Cloud Catcher Chronicles

Beiträge: 814

Wohnort: Ingolstadt

Beruf: Senior Software Engineer

  • Private Nachricht senden

23

10.01.2017, 18:06

Klasse dargestellt, Henrik!

Es gibt noch zwei Aspekte, was mich an FPGA bzw. MiST reizt.
  • Man kann es als Lehrplatform für VHDL nutzen. Ich bin dabei, meine ersten Gehversuche zu machen... (ja, ist wieder Basteln :-) )
  • Ein simuliertes / emuliertes System funktioniert ohne ein vollwertiges Betriebssystem wie Linux (ich find's einfach "sexy")
Für mich ist Emulation / Simulation mehr Basteln sowie Gewinn an Know-How und Erfahrung. Der Weg ist das Ziel. Und warum das Ganze? Weil man's kann :-) Wer ansonsten keine anderen Hobbies hat, hat Zeit dafür. Für Endanwender / Verbraucher ist das alles nix.

24

12.01.2017, 01:19

Ich habe hier und hier in zwei sehr guten Posts nochmal nachgelesen. Ich stimme diesen Posts voll zu.

Ich habe für die Forschung eine Zeitlang (ca. 1.5 Jahre) relativ viel VHDL programmiert, und was da hinterher als "simulierte" Logikgatteranreihung herauskommt, hat nichts aber auch gar nichts mit den Originalchips zu tun, und wird ohne Ende von dem "Compiler" (Synthesis Tool) optimiert und verändert. Da wird eine Sprache eben in "Logikgatter" Konstrukte kompiliert anstatt in Machinenbefehle für eine CPU.

Im Grunde ist da letzten Endes für mich, wie Henryk auch schon andeutet, kaum ein Unterschied zwischen Emulation auf PCs und "Simulation" auf FPGA's. Ausser jemand setzt sich hin und zeichnet einen Originalchip Gatter für Gatter nach. Das würde nämlich prinzipiell am FPGA auch gehen. Das wuerde dann in den Lookuptables so implementiert das es sich genau so verhält wie eben diese Anordnung von Gattern. Macht aber keiner, weil es nicht praktikabel ist. Stattdessen werden high-level Abstraktionen der Chips in VHDL programmiert genau wie man es auch in c++ tun würde. Mit dem Unterschied, das auf dem FPGA viel mehr parallel läuft, was aber auch nur für die Geschwindigkeit bzw. Energieverbrauch wichtig ist. Und das muss auch parallel laufen denn FPGAs sind mit ~100 MHz oder so gestaltet, CPUs selbst in Netbooks und Telefonen hingegen mit mehreren GHz (!).

Auf der MIST Homepage im FAQ wird die Amiga/ST Kompatibilität mit 95% angegeben. Das liegt weit hinter WinUAE zurück, der seien wir ehrlich die 100% fast schon überschritten hat. D.h. man kann auf WinUAE alles zum Laufen bekommen, Amiga 500 ist so cycle-exact wie sonst nichts (Toni Wilen hat mit dem Logic Analyzer alles ausgemessen), und man kann Sachen starten mit Kombinationen von emulierten Peripherie und Chipset Parametern die noch nicht einmal auf der Originalhardware laufen, nichts, auch kein FPGA kommt da heran. Das gleiche gilt für SNES/NES Emulation die mit Higan auch inzwischen Cycle-exact ist.

Die ganze FPGA Diskussion erinnert mich leider ein bisschen an diese High-End Audiodiskussionen wo Leute behaupten ihre CD's klängen besser, wenn sie sie "entmagnetisieren" würden.

Bezgl. Formfaktor etc. kann ich das schon verstehen. Ein Betriebssystem braucht man allerdings auch. Sieht man ja in den Videos. Das sind ein paar blaue Menüs wie ein altes Bios aus den 80ern. Naja wem das als Benutzeroberfläche gefällt.

Aber jetzt zum Positiven: Inzwischen gibt es hervorragende kleine Plattformen, z.B. Android basierte Geräte wie Ouya (mit 3rd party Gamepads, kann übrigens Street Fighter 3 in voller Geschwindigkeit emulieren) oder Shield TV (super für Emulation), gerade neu auch Vita TV welches nun gehackt ist (tolles Gerät aber in den Kinderschuhen), rPi, etc. Die bieten alle interessante retro-Möglichkeiten. Dann gibt es auch schon sehr kleine Netbooks fur ca. $130 von Gateway, die auch WinUAE wunderbar laufen lassen, selbst im "cycle-exact" mode und mit HDMI Ausgang. So zocke ich mit Freunden oft Amiga. Das unterstützt dann auch den 4 player adapter etc wegen WinUAE. FPGA's fallen einfach in diese Gruppe der derzeitigen retrogaming Geräte, aber sind meiner Meinung nicht allzu attraktiv verglichen mit allen anderen Möglichkeiten und gar nicht mal exakter. Dann gibt es die ganzen portablen Geräte, PSP (der Wahnsinn für Emulation, auch C64 etc.), Vita (ganz neu), Nvidia Shield Portable, DS/3Ds und andere androidbasierte Geräte sowie Gp2X etc. Wir leben in einer solchen Vielfalt von tollen Geräten, da ist zum Glück für jeden etwas dabei.

Und ich freue mich jeden Tag wie ein Kind das ich auf meiner PSP "The Dig" in hervorragender Qualität nach all den Jaren endlich mal durchzocken kann, oder auch meine alten CPC Favoriten wie Exolon da drauf spielen kann, das ich auf meiner Vita eine 6 GB Amiga Sammlung an Spielen von einer virtuellen Festplatte in Sekunden laden kann, wo ein richtiger Amiga Minuten gebraucht hatte, und auf meinem Shield Portable Spielhallengames wie Street Fighter 3 und Air Gallet in klein in voller Geschwindigkeit auf einem schönen kleinen OLED Screen vorm Schlafengehen spielen kann. Auch wenn das Digipad des Shield Portable wirklich sehr mies ist, aber man kann nicht alles haben. Von den ganzen Telefonen und Tablets ganz zu schweigen, die mich leider mangels Controller persönlich nicht reizen. Dazu kommen noch solche Exoten wie das GPD Windows 10 Portable Gerät für die pralle Brieftasche https://liliputing.com/2016/10/gpd-win-h…ick-review.html und etliche andere Hybridgeräte, dann die alten Konsolen wie Xbox und Wii und co. die auch hervorragende Emulator Plattformen bieten. Dann noch virtuelle Konsolen wie die Pico 8 http://www.lexaloffle.com/pico-8.php , die mich wirklich sehr begeistert.

Wir leben in einer goldenen Zeit der Retrospiele!

Dieser Beitrag wurde bereits 14 mal editiert, zuletzt von »rsn8887« (12.01.2017, 03:40)


Beiträge: 814

Wohnort: Ingolstadt

Beruf: Senior Software Engineer

  • Private Nachricht senden

25

12.01.2017, 09:00

Absolut richtig! Deshalb freue ich mich auf die Pyra. Der GPD Win ist auch ein schönes Stück Hardware, genau wie die Android-Varianten. Aber ich kann und darf eben nicht alles kaufen...

26

15.01.2017, 18:52

@rsn8887
Tatsächlich kenne ich die von dir beschriebenen Probleme mit RetroPie auf einem Raspberry Pi 3 so nicht. Das einzige Mal, bei dem ich die EmulationStation-Oberfläche verlassen musste, war für die Konfiguration eines Bluetooth-Controller. Allerdings habe ich auch hierfür keinen einzigen Befehl im Terminal eingegeben. Auch die Emulatoren sind hinsichtlich der Bedienung einheitlich, sofern die Emulatoren verwendet werden, die die Libretro und damit RetroArch verwenden. Für meine Zwecke waren die Emulatoren, die auf Libretro aufsetzen, gut genug, auch wenn Cheats selten oder gar nicht funktionieren.

Die einzigen Befehle, die ich eingeben musste, war für die Ersteinrichtung der Cheats. Die SD-Karte war bei mir auf FAT32 formatiert. Allerdings fand ich die Übertragung per SFTP viel angenehmer. Trotzdem stimme ich dir zu: einen Raspberry Pi sollte man sich nicht holen, wenn man sich nicht mit Linux auseinanderzusetzen möchte. Denn dafür (und für die Python-Programmierung) war das tolle Stück Hardware ursprünglich gedacht.

Vielleicht noch ein Tipp: RecalboxOS ist meines Erachtens die bessere, weil insgesamt stimmigere Alternative zu RetroPie. Hier lassen sich ROMs per "Drag and Drop" über ein Webinterface hochladen. Insgesamt fühlt sich das mehr nach "aus einem Guß" an. Allerdings setzt auch diese Distribution auf RetroArch auf.

@Henrik
Um einen Core für einen MiST-FPGA zum Laufen zu bringen, sind ebenfalls Vorbereitungen notwendig. Ich behaupte, dass der Zeitaufwand für die Erstkonfiguration (nicht Installation) von RetroPie oder RecalboxOS auch bei dir kaum größer ist.

Ich möchte jedenfalls weder auf den MiST noch auf den Raspberry Pi noch auf die gemoddete und mit Emulatoren bestückte XBOX Classic verzichten. Alle drei haben ihre Daseinsberechtigung, wobei ich aber die voluminöse XBOX-Konsole höchst selten für Emulatoren verwende (vielleicht weil hier kaum Bastelarbeit notwendig ist? :-) )


Ich habe jetzt nochmal Recalbox (anstatt Retropi) auf meinem Rpi ausprobiert. Und siehe da! Du hast recht es ist alles viel einfacher. Die Bedienung ist einheitlich (alles Retroarch...) und man kommt aus jedem Emu mit "PS Button + Start" hinaus. Das kopieren der Games auf einen USB Stick ist problemlos moeglich. Man kann Shader einfach auswaehlen. Zip files werden auch unterstuetzt inzwischen. Sound funktioniert auch auf Anhieb. PS3 Gamepads kann man ganz leicht pairen, man braucht nur einen USB Bluetooth Dongle.

Super! Da hat sich also viel getan. Kein Grund mehr, irgendeine Linux Konsole aufzurufen.

Das EINZIGE was mich immer noch nervt, ist das es schwer ist herauszufinden, welche Verzeichnisse auf den USB Stick muessen. Und naja die SD Karte ist immer noch auf dieses Linux Filesystem formatiert. Aber da man ja einen USB Stick benutzen kann fuer die Roms ist mir das jetzt egal.

Beiträge: 814

Wohnort: Ingolstadt

Beruf: Senior Software Engineer

  • Private Nachricht senden

27

15.01.2017, 22:13

Ich habe jetzt nochmal Recalbox (anstatt Retropi) auf meinem Rpi ausprobiert. Und siehe da! Du hast recht es ist alles viel einfacher. Die Bedienung ist einheitlich (alles Retroarch...) und man kommt aus jedem Emu mit "PS Button + Start" hinaus. Das kopieren der Games auf einen USB Stick ist problemlos moeglich. Man kann Shader einfach auswaehlen. Zip files werden auch unterstuetzt inzwischen. Sound funktioniert auch auf Anhieb. PS3 Gamepads kann man ganz leicht pairen, man braucht nur einen USB Bluetooth Dongle.

Super! Da hat sich also viel getan. Kein Grund mehr, irgendeine Linux Konsole aufzurufen.

Das EINZIGE was mich immer noch nervt, ist das es schwer ist herauszufinden, welche Verzeichnisse auf den USB Stick muessen. Und naja die SD Karte ist immer noch auf dieses Linux Filesystem formatiert. Aber da man ja einen USB Stick benutzen kann fuer die Roms ist mir das jetzt egal.
Warum verwendest du nicht die Weboberfläche zum Upload der ROM-Dateien? Oder verwendest du den USB-Stick auch für andere Rechner / Emulatoren?

28

16.01.2017, 06:51

Recalbox? Muss irgendwie vollkommen an mir vorbei gegangen sein. Schaut sehr interessant aus. Danke :D

Irgendwelche Empfehlungen für einen preiswerten (Funk-) Controller?

Beiträge: 814

Wohnort: Ingolstadt

Beruf: Senior Software Engineer

  • Private Nachricht senden

29

16.01.2017, 08:42

Der PS3-Controller soll damit gut funktionieren. Ich werde das demnächst ausprobieren. Ich nutze selbst noch den NES30 Controller per Bluetooth, der aber wegen der geringen Größe nicht für längeres Gaming geeignet ist.

Da ich mich nicht mit fremden Federn schmücken möchte, möchte ich betonen, dass ich über einen Facebook-Post von Dengeki Gamer von Recalbox erfahren habe. Der Dank geht also an ihn.

30

16.01.2017, 21:14

Recalbox? Muss irgendwie vollkommen an mir vorbei gegangen sein. Schaut sehr interessant aus. Danke :D

Irgendwelche Empfehlungen für einen preiswerten (Funk-) Controller?


Ich habe einen neuen Thread gemacht zum Thema.

Raspberry Pi mit Recalbox für Retrogaming

Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von »rsn8887« (16.01.2017, 22:14)


Ähnliche Themen