Forum: Mikrocontroller und Digitale Elektronik Gameboy Spiele über HDMI am TV ansehen


von Michael B. (froeschl)


Angehängte Dateien:

Lesenswert?

Hallo ,

trotzdem das Crowdfunding Projekt "hdmyboy" gescheitert ist, wäre die
technische Lösung interessant.

https://www.kickstarter.com/projects/507669971/hdmyboy-a-full-hd-power-up-for-your-game-boy-class

Wie könnte das Projekt "LCD GameBoy s.o., USB-Controller und 
HDMI-Ausgang"
realisiert worden sein?

MfG froeschl

von Lars R. (lrs)


Lesenswert?

Mit einem FPGA und HDMI-Transmitter oder nur mit einem FPGA. Für 
Einzelstücke mit einem fertig aufgebauten FPGA-Board. für Xilinix zB. 
von
Digilent
oder

http://www.saanlima.com/store/
http://hackaday.com/2013/03/08/pumping-1080p-video-out-of-an-fpga/
oder

https://www.scarabhardware.com/shop/
(25USD FPGA-HDMI-Board announced, WTF. Die 25USD-Variante ist vielleicht 
nicht FHD-fähig.

Oder Altera, usw..

Die Ausgänge des Gameboy LCD Display-Controllers werden abgegriffen und 
der FPGA skaliert die Auflösung hoch.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Da wird ein FPGA drin sein, das die Ansteuerung des Displays 
"belauscht", um so die an das Display ausgegebenen Daten in einen 
Bildschirmspeicher zu übertragen, der wiederum vom FPGA auf irgendeine 
via HDMI ausgebbare Auflösung skaliert wird.

Theoretisch könnte auch das Bildschirmspeicher-RAM im Gameboy 
"belauscht" werden, was aber voraussetzt, daß auch wirklich alles, was 
dargestellt wird, 1:1 vom Gameboy in dieses RAM geschrieben wird. Wenn 
der Gameboy-Prozessor aber z.B. mit "Hardware-Sprites" o.ä. arbeitet, 
wird dieser Ansatz nicht funktionieren.

Das ans Display klemmen und "belauschen" ist daher vermutlich der 
erfolgversprechendste Weg. Die Spalten- und Zeilentreiber des Displays 
sind immerhin bekannt (LH5028 und LH5077).

von Michael B. (froeschl)


Lesenswert?

Hallo ,

verbindlichen Dank für die Top-Links und Info's.
Da kommt eine Menge Arbeit auf mich zu.

Übrigens, das Crowdfunding Projekt "hdmyboy" hat
ca. 38,5% vom Finanzierungsziel (65.000 Euro)
erreicht.

MfG froeschl

von Lars R. (lrs)


Lesenswert?

zufällig noch gesehen:
http://saanlima.com/forum/viewtopic.php?f=9&t=1229

Im Thread sind Links für Controller, bitstream-File und sourcefiles.

von c-hater (Gast)


Lesenswert?

Michael B. schrieb:

> Wie könnte das Projekt "LCD GameBoy s.o., USB-Controller und
> HDMI-Ausgang"
> realisiert worden sein?

Trivial: Gameboy-Emulator auf hinreichend leistungsfähiger Hardware mit 
HDMI-Grafik.

Da könnte eventuell sogar schon ein RasPi ausreichend sein (da bin ich 
nicht sicher, da ich die Qualität der verfügbaren Gameboy-Emulatoren 
nicht kenne).

Was ich sicher weiß: 8Bit-Atari-Spiele lassen sich mittels RasPi 
praktisch problemlos auf ein HDMI-Gerät bringen. Und, obwohl die 
Atari-CPU halt nur 8 Bit hat, ist es dank der vielen mächtigen 
Co-Prozessoren eine viel größere Herausforderung für einen Emulator als 
die vergleichweise primitive Gameboy-Hardware, auch wenn dessen CPU 
16Bit am Stück verarbeiten kann.

von Michael B. (froeschl)


Lesenswert?

Hallo ,

dieses Crowdfunding Projekt "hdmyboy" gefällt mir, weil es
die Original Spielmodule verwendet und damit keine
Abmahnanwälte beachtet werden müssen.

Emulatoren würden für mich nur dann in Frage kommen, wenn
sie in Echtzeit den PROM des Spielmoduls auslesen, temporär
abspeichern und dann die Emulation beginnen.

MfG froeschl

von Cihan S. (cihan_s)


Lesenswert?

Gibt es da nicht das BIOS Problem wie bei anderen Konsolenemulatoren?
Die Programme gibt es ja so, nur das BIOS muss man sich jeweils selber 
besorgen.

von Michael B. (froeschl)


Lesenswert?

Hallo ,

die Emulatoren Anwender brauchen das Spiele-ROM, welches
durch eine Kopie des PROM vom Spielmodul entstanden ist.

MfG froeschl

von Cihan S. (cihan_s)


Lesenswert?

Nein, Playstation, Sega Saturn, Dreamcast, Neo Geo brauch noch das Bios.

von S. R. (svenska)


Lesenswert?

Der ursprüngliche Gameboy benötigt kein besonderes BIOS. Anders gesagt: 
Der Gameboy enthält zwar ein BIOS, aber dieses BIOS ist auch auf jeder 
Cartridge mit drauf und wird auch von dort aus ausgeführt. Der Code 
schaut nur gelegentlich nach, ob die richtigen Bytes an der richtigen 
Stelle stehen. Beim GBA ist das anders.

Michael B. schrieb:
> Emulatoren würden für mich nur dann in Frage kommen, wenn
> sie in Echtzeit den PROM des Spielmoduls auslesen, temporär
> abspeichern und dann die Emulation beginnen.

Das ist eine willkürliche Sinnlos-Einschränkung, weil /in Echtzeit 
auslesen/ sich geringfügig mit temporär abspeichern beißt. Entweder, 
der Emulator führt in Echtzeit aus dem PROM aus, oder er liest 
nicht-in-Echtzeit das PROM aus und speichert die Daten ab (und dann ist 
es egal, ob temporär oder nicht).

Es gibt Adapter von Gameboy-Cartridge auf Parallelport; wenn der Port 
schnell genug ist, könnte das mit "aus dem ROM ausführen" klappen. 
Über andere Schnittstellen (z.B. USB) kannst du das vergessen.

Wenn du Angst vor den Juristen hast, die dir den 25 Jahre alten Gameboy 
vermasseln wollen, dann klebe an deine Videos einfach den Teil ran, wo 
du das ROM aus deiner eigenen Cartridge ausliest und auf deinem eigenen 
PC (in einer Ramdisk?) abspeicherst.

: Bearbeitet durch User
von Sebastian V. (sebi_s)


Lesenswert?

c-hater schrieb:
> Trivial: Gameboy-Emulator auf hinreichend leistungsfähiger Hardware mit
> HDMI-Grafik.
>
> Da könnte eventuell sogar schon ein RasPi ausreichend sein (da bin ich
> nicht sicher, da ich die Qualität der verfügbaren Gameboy-Emulatoren
> nicht kenne).

Ich habe einen Gameboy Emulator auf einem STM32F429 in Realtime am 
laufen. Aber nur mit VGA Ausgang und toll hochskalieren kann ich auch 
nicht.

S. R. schrieb:
> Der ursprüngliche Gameboy benötigt kein besonderes BIOS. Anders gesagt:
> Der Gameboy enthält zwar ein BIOS, aber dieses BIOS ist auch auf jeder
> Cartridge mit drauf und wird auch von dort aus ausgeführt. Der Code
> schaut nur gelegentlich nach, ob die richtigen Bytes an der richtigen
> Stelle stehen. Beim GBA ist das anders.

Auf den Gameboy ist definitiv ein Bootcode drauf und dieser ist auch 
nicht auf den Cartridges! Es ist auch nicht einfach an diesen Bootcode 
zu kommen. Wenn ich das jetzt richtig im Kopf habe dann hat jemand für 
den Gameboy den Mask ROM unterm Mikroskop ausgelesen und beim Gameboy 
Color einen Glitch genutzt um die Deaktivierung des Bootcodes zu 
umgehen.

von Cihan S. (cihan_s)


Lesenswert?

Kannst du das mal näher erklären?

von Dirk D. (dicky_d)


Lesenswert?

Sebastian V. schrieb:
> Auf den Gameboy ist definitiv ein Bootcode drauf und dieser ist auch
> nicht auf den Cartridges! Es ist auch nicht einfach an diesen Bootcode
> zu kommen. Wenn ich das jetzt richtig im Kopf habe dann hat jemand für
> den Gameboy den Mask ROM unterm Mikroskop ausgelesen und beim Gameboy
> Color einen Glitch genutzt um die Deaktivierung des Bootcodes zu
> umgehen.

Geht es da nicht Eher, wie beim NES und SNES, darum es zu verhindern das 
nicht lizensierte Spiele gestartet werden können?
Also das Gerät for Fremdsoftware zu schützen, nicht Die software vor 
Fremdhardware?

von Sebastian V. (sebi_s)


Lesenswert?

Dirk D. schrieb:
> Geht es da nicht Eher, wie beim NES und SNES, darum es zu verhindern das
> nicht lizensierte Spiele gestartet werden können?
> Also das Gerät for Fremdsoftware zu schützen, nicht Die software vor
> Fremdhardware?

Ne dafür ist der Gameboy zu alt und Fremdsoftware wird durch die 
spezielle Cartridge schon größtenteils ausgesperrt. Alles was der 
Bootcode macht ist ein paar Register initialisieren, den Header des 
eingelegten Spiels checken (einfache Checksumme) und ein Nintendo Logo 
anzeigen. Beim Gameboy Color ist es noch etwas Umfangreicher. Dort wird 
für einige im Bootcode hinterlegte Spiele die Farbpalette gesetzt. Darum 
stimmen die Farben bei nicht Gameboy Color spielen im Gameboy Color so 
einigermaßen.

Ein Emulator kann man aber zur Not ohne diesen Bootcode schreiben.

: Bearbeitet durch User
von Dirk D. (dicky_d)


Lesenswert?

Hier hat jemand nen VGA-Adapter gebaut, vielleicht hilft das weiter...

http://longhornengineer.com/category/projects/hardware/gameboy-dmg-01-vga/

von froeschl (Gast)


Lesenswert?

Hallo ,

die Angst vor Juristen ist berechtigt, denn die Abmahnanwälte
haben keine Probleme, eine "Einstweilige Vefügung" vom
Landgericht zu erwirken.

MfG froeschl

von Daniel A. (daniel-a)


Lesenswert?

Ist das Hauptrproblem für Gameboyemulator(hersteller) nicht Nintendos 
Patent darauf?

https://www.google.ch/patents/US8157654?dq=gameboy+emulator&hl=de&sa=X&ved=0CB0Q6AEwAGoVChMIw8Ls0MLYxwIVA5JyCh2vZgum

Ich weiss nicht ob das dass richtige war, aber Nintendo hat viele 
derartige Patente.

von c-hater (Gast)


Lesenswert?

froeschl schrieb:

> die Angst vor Juristen ist berechtigt, denn die Abmahnanwälte
> haben keine Probleme, eine "Einstweilige Vefügung" vom
> Landgericht zu erwirken.

Bullshit.

Es gilt das Gesetz, was so alt ist, wie die Gesetzgebung selber: Wo es 
keinen Kläger gibt, da spricht kein Richter ein Urteil.

D.h.: Wenn du für zu Hause irgendwelche Gameboy-Spiele mit irgendwelchem 
Code auf irgendeiner Hardware zum Laufen bekommst, interessiert sich 
kein Schwein dafür.

Das passiert erst dann, wenn du versuchst, damit Geld zu verdienen...

von Stefan (Gast)


Lesenswert?

Ich frage mich warum neu erfinden was es gibt?

hatte damals ein Super Nintendo, dafür gab es ein Adapter mit den man 
alle Gameboy Spiele auf den Super Nintendo Spielen konnte.

Der hat zwar nur ein CHINCH bzw. SCAT Anschluss aber das geht ja nun 
heutzutage ja noch.


Wozu HDMI??? das ding hat soch sowieso ne Auflösung von gefühlten 20x20 
Pixel

von Michael B. (froeschl)


Lesenswert?

Hallo,

hier ein Auszug aus dem am 17. Apr. 2012 veröffentlichten

Patent US8157654 - Hand-held video game platform emulation

Veröffentlichungsnummer US8157654 B2
Publikationstyp Erteilung
Anmeldenummer US 10/690,818
Veröffentlichungsdatum 17. Apr. 2012
Eingetragen 23. Okt. 2003
Prioritätsdatum 28. Nov. 2000
Auch veröffentlicht unter US8795090, US20040157664, US20130095922, 
US20140349751
Veröffentlichungsnummer 10690818, 690818, US 8157654 B2, US 8157654B2, 
US-B2-8157654, US8157654 B2, US8157654B2
Erfinder Patrick J. Link
Ursprünglich Bevollmächtigter Nintendo Co., Ltd.
Zitat exportieren BiBTeX, EndNote, RefMan
Patentzitate (70), Nichtpatentzitate (77),  Referenziert von (1), 
Klassifizierungen (16)

Zusammenfassung

A software emulator for emulating a handheld video game platform such as 
GAME BOY®, GAME BOY COLOR® and/or GAME BOY

ADVANCE® on a low-capability target platform (e.g., a seat-back display 
for airline or train use, a personal digital

assistant, a cell phone) uses a number of features and optimizations to 
provide high quality graphics and sound that nearly

duplicates the game playing experience on the native platform. Some 
exemplary features include use of bit BLITing, graphics

character reformatting, modeling of a native platform liquid crystal 
display controller using a sequential state machine,

and selective skipping of frame display updates if the game play falls 
behind what would occur on the native platform.

Bilder(34)

Ein Sachbearbeiter eines deutschen Patentamtes hätte hier kein Patent
erteilt, sondern bestenfalls einen Gebrauchsmusterschutz erteilt.


MfG froeschl
PS: Link von Daniel Abrecht

von Michael B. (froeschl)


Lesenswert?


von Jan H. (j_hansen)


Lesenswert?

Stefan schrieb:
> Wozu HDMI??? das ding hat soch sowieso ne Auflösung von gefühlten 20x20
> Pixel

Ich kenne es nur von PC-Emulatoren, aber die können die Bilder wirklich 
schön hochskalieren. Da werden nicht einfach die "20x20" Pixel 
aneinandergesetzt.

Bezüglich analoger Schnittstellen: damit sehen ja sogar 2x2 Pixel am 
großen Flachbildschirm bescheiden aus. Mit HDMI erspart man sich den 
Overscan-Müll, das Flimmern, die Unschärfe usw.

von S. R. (svenska)


Lesenswert?

Sebastian V. schrieb:
> Auf den Gameboy ist definitiv ein Bootcode drauf und dieser ist auch
> nicht auf den Cartridges! Es ist auch nicht einfach an diesen Bootcode
> zu kommen.

Und dieser Bootcode spielt genau gar keine Rolle, weil er für das Spiel 
nicht sichtbar ist. :-)

Wichtig ist, dass zu bestimmten Takten die richtigen Bytes von der 
Cartridge aus ausgeführt werden, damit das Copyright-Logo von Nintendo 
auch brav angezeigt wird. Dieser Code ist in jedem Fall ein Teil der 
Cartridge, und bei geschickter Programmierung kann man das Nintendo-Logo 
nämlich auch umgehen (es wird dann nur für ein paar vereinzelte Frames 
dargestellt, ansonsten zeigt das Display etwas anderes).

Wenn ich mich recht entsinne, ist genau dieser Code sowohl im Gameboy 
als auch auf jeder Cartridge enthalten. Der Code auf der Cartridge prüft 
also die Checksumme, und der Gameboy prüft, ob der Checksummenprüfcode 
stimmt.

froeschl schrieb:
> die Angst vor Juristen ist berechtigt, denn die Abmahnanwälte
> haben keine Probleme, eine "Einstweilige Vefügung" vom
> Landgericht zu erwirken.

Und wenn du so eine Heidenangst vor dem LG Hamburg hast, dann solltest 
du nicht nicht einmal darüber nachdenken, mit so einem Gerät etwas 
möglicherweise von Nintendo unerwünschtes tun zu wollen.

Die aus dieser Perspektive einzig problemfreie Variante wäre, sich einen 
Super Game Boy zu besorgen und diesen an z.B. einen Festplattenrekorder 
oder einen PC mit Videograbber und HDMI-Grafikkarte anzuschließen. Aber 
zeichne die Videos nicht auf und veröffentliche sie unter keinen 
Umständen!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

M.E. ist das doch recht sinnfrei.
1. Wer nimmt denn schon seinen historischen Gameboy auseinander, um dann 
ein Video I/F anzulöten? Da nimmt man sich doch lieber die NES aus dem 
Schrank und lässt die GB Spiele darauf laufen, wenn es schon unbedingt 
das grosse Kino sein muss. Der GB ist ja eigentlich durch sein Handheld 
Format so beliebt gewesen. Die Leute, die heute noch so ein Dings haben, 
werden sich hüten, es zu zerlegen und drin rumzulöten.
Vom Befestigen einer HDMI Buchse mal ganz abgesehen, die ja auch die 
Bewegung des GB weiter erlauben sollte.
2. Pixeligen Mist auf HDMI hochzuskalieren, mag zwar technisch eine 
Herausforderung sein, ist aber vom Bildergebnis genauso blödsinnig, als 
wollte man den ZX81 auf 4k hochrechnen.
3. Von Sound ist nirgends die Rede? Einer der Gags bei HDMI ist ja 
gerade die integrierte Audioübertragung, das wird aber beim Projekt 
anscheinend vergessen.

: Bearbeitet durch User
von Cihan S. (cihan_s)


Lesenswert?

Ein Game Boy ist alles, nur keine Rarität.
Ansonsten kann ich mich dem Rest nur anschliessen.

von Michael B. (froeschl)


Lesenswert?

Hallo ,

der eigentliche Sinn dieses Threads war, technische Lösungen für den
Betrieb einer 8bit-Retro-Konsole an VGA-Monitore zu bekommen.

@sebi_s
gibt es Links zum Projekt
"Gameboy Emulator auf einem STM32F429 in Realtime"?

MfG froeschl

von Dirk D. (dicky_d)


Lesenswert?

Michael B. schrieb:
> der eigentliche Sinn dieses Threads war, technische Lösungen für den
> Betrieb einer 8bit-Retro-Konsole an VGA-Monitore zu bekommen.

Ich dachte es geht um HDMI?

von Sebastian V. (sebi_s)


Lesenswert?

Michael B. schrieb:
> gibt es Links zum Projekt
> "Gameboy Emulator auf einem STM32F429 in Realtime"?

Nein bisher habe ich es noch nicht veröffentlicht. Es gibt ein 
unscharfes Video von einer noch nicht Realtime Version auf einem STM32F4 
(https://www.youtube.com/watch?v=cD7x1KVPjz8). Falls es ernsthaftes 
Interesse an dem Code oder der Platine (Bauteile müsstet ihr euch selbst 
besorgen) gibt, der soll mir eine PM schicken. Der Emulator ist aber 
noch in der Entwicklung und einige Spiele laufen noch nicht fehlerfrei.

S. R. schrieb:
> Sebastian V. schrieb:
>> Auf den Gameboy ist definitiv ein Bootcode drauf und dieser ist auch
>> nicht auf den Cartridges! Es ist auch nicht einfach an diesen Bootcode
>> zu kommen.
>
> Und dieser Bootcode spielt genau gar keine Rolle, weil er für das Spiel
> nicht sichtbar ist. :-)

Habe ich auch nicht behauptet. Dieser Code wird ausgeführt, bevor 
irgendetwas von der Cartridge ausgeführt wird. Nachdem dieser fertig ist 
gibts aber keine weiteren Prüfungen mehr und der Gameboy führt alles aus 
was man ihm vorwirft. Und die Prüfungen die der Bootcode ausführt sind 
wohl eher um festzustellen, ob die Kontakte zur Cartridge in Ordnung 
sind. Schonmal bei einem echten Gameboy ein Spiel eingelegt und statt 
dem Nintendo Logo war nur Müll zu sehen? Dann hat der Bootcode die 
Ausführung des Spiels verhindert. Näheres zum Bootcode hier: 
http://bgb.bircd.org/pandocs.htm#powerupsequence

: Bearbeitet durch User
von Michael B. (froeschl)


Lesenswert?

Hallo ,

zur Entscheidungsfindung muss ich erst die 227 Seiten starke PDF-Datei
vom STM32F429 durcharbeiten.

MfG froeschl

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.