Forum: FPGA, VHDL & Co. Game Boy Classic am VGA Monitor


von Michael B. (froeschl)


Lesenswert?

Frohe Weihnachten.

Meinen Wunsch, die Game Boy Classic Pixelgrafik auf einen
VGA-Monitor abzuspielen, realisiert Longhorn Engineer
mit einem Altera DE0 CycloneIII Board.

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

Seine Hinweise für einen FPGA-Laien sind dürftig.

Kann diese Konvertierung nicht mit einfacheren Mitteln
erreicht werden?

von Markus F. (mfro)


Lesenswert?

Michael B. schrieb:
> Kann diese Konvertierung nicht mit einfacheren Mitteln
> erreicht werden?

Woraus schließt Du auf die Komplexität? Ich kann da keinen Code 
entdecken, nur ein paar Bilder, die zeigen, daß es offensichtlich 
funktioniert, aber nicht wie.

Er nimmt die Display-Signale ja anscheinend von der LCD-Ansteuerung des 
Gameboys ab. Dann wird er die wahrscheinlich irgendwie 
auseinanderfieseln und in einen Framebuffer schreiben, der dann auf dem 
Video-Anschluß des Boards VGA-konform ausgegeben wird.

Man braucht also FPGA, ausreichend RAM und einen VGA-Anschluß, einfacher 
wird's wohl nicht gehen.

von Matthias G. (matthias_g859)


Lesenswert?

Für den Gamecube gibt es eine Hardwareerweiterung, die Gameboycardridges 
aufnimmt. Aber der Gamecube gibt nur auf SCART aus, nicht auf VGA.
Alternativ eine Wii / WiiU und die entsprechenden Titel als Download 
nochmal kaufen.
Wenn du das Spiel besitzt, ist es eventl. legal, das ROM aus dem Netz zu 
laden und am PC zu emulieren.
Alles unter der Vorraussicht, daß dein Fokus eher auf der Nostalgie und 
weniger auf dem FPGA liegt.

von Sigint 112 (sigint)


Lesenswert?


von Michael B. (froeschl)


Lesenswert?

@mfro
Bin erstmal zufrieden, dass ein FPGA-Kenner auch nicht mehr in diesem
Beitrag entdeckt hat.

Die Software und weitere Details hat er auf github.com deponiert
https://github.com/LonghornEngineer/
Zum Downloaden der wichtigsten Dateien muß man sich einloggen.

Vielleicht hat jemand eine bessere Anleitung parat?

Nachtrag
@matthias_g859
Danke für den Link

von Michael B. (froeschl)


Lesenswert?

Welche Blackbox muß ich zwischen Game Boy LCD-Ansteuerung und
dieser externen USB-Grafikkarte setzen?
http://www.ebay.de/itm/380986469866

von Markus F. (mfro)


Lesenswert?

Michael B. schrieb:
> Welche Blackbox muß ich zwischen Game Boy LCD-Ansteuerung und
> dieser externen USB-Grafikkarte setzen?
> http://www.ebay.de/itm/380986469866

Die muß - fürchte ich - erst noch erfunden werden. Der Gameboy Classic 
ist von 1989 und da war USB noch nicht mal in den kühnsten Träumen 
verfügbar (USB 1.0 wurde 1996 eingeführt).

Abgesehen davon dürfte ein gepimpter 4MHz-Z80 so seine Schwierigkeiten 
mit USB haben...

Du fragst jetzt aber nicht sämtliche eBay-Artikel mit VGA-Buchse hier 
ab, oder?

von Fpgakuechle K. (Gast)


Lesenswert?

Michael B. schrieb:
> Welche Blackbox muß ich zwischen Game Boy LCD-Ansteuerung und
> dieser externen USB-Grafikkarte setzen?
> http://www.ebay.de/itm/380986469866

Diese Box ist zwar black aber ich wuesste nicht das der Gameboy USB 
unterstützt.

Michael B. schrieb:
> Die Software und weitere Details hat er auf github.com deponiert
> https://github.com/LonghornEngineer/
> Zum Downloaden der wichtigsten Dateien muß man sich einloggen.

Man kann sich die Dateien auch ohne Einloggen anschauen. Da ist nicht 
viel an FPGA-Code. Und viel an den Dateien gehört zu der Platine mit den 
pegelwandlern.

MfG,

von Michael B. (froeschl)


Lesenswert?

Zusammenfassung
Es besteht die Möglichkeit, die LCD-Ansteuerung des uralten Game Boy,
der kein USB kennt, zur Anzeige auf einen VGA-Monitor aufzubereiten.

Longhorn Engineer kann es, aber wie macht er es?

von Sebastian V. (sebi_s)


Lesenswert?

Michael B. schrieb:
> Longhorn Engineer kann es, aber wie macht er es?

Verbindung zum LCD anzapfen, Daten in einen Buffer schreiben und daraus 
das VGA Signal erstellen. Direkt ein VGA Signal, ohne 
Zwischenspeicherung zu erzeugen, ist wohl nicht möglich.

von Michael B. (froeschl)


Lesenswert?

Kann mit den Informationen von Longhorn Engineer
ein Bauplan erstellt werden?

von Fpgakuechle K. (Gast)


Lesenswert?

Michael B. schrieb:
> Kann mit den Informationen von Longhorn Engineer
> ein Bauplan erstellt werden?

Ja mei, die wichtigsten Info findet sich deutlich im ersten Link:

The connector between the front and back of the Gameboy is where I will 
tap into the signals to sneak a peak. Pinout is the following

Pin 12 – V-Sync
Pin 14 – Pixel Clock
Pin 15 – LCD Data 0
Pin 16 – LCD Data 1
Pin 17 – H-Sync
Pin 21 – Ground

V-Sync should be 60Hz, Pixel Clock 4Mhz, and H-Sync 9.2kHz

Ob das stimmt sollte man mit einem Scope oder Oszi überprüfen. Da diese 
Signale wohl 5V Pegel haben baut man hier einen Pegelwandler um die FPGA 
eingang pins nicht zu zerstören. Die Grundzüge vom FPGA - design wurde 
im 2.Artikel beschrieben: 
Beitrag "Re: Game Boy Classic am VGA Monitor"

In der WP findet sich Infos zum Videospeicher und display-Geometrie:
    Speicher: 8 kB RAM; 8 kB VideoRAM

    Grafik: LCD; Größe 2,6“; 160 × 144 Pixel; 4 Graustufen

Also die oben genannten Signal dazu benutzen ein Bild vom GB in einen 
(FPGA-internen) Dual Port Speicher abzulegen. Eventuell gibt es Probleme 
da man den Pixelclock nicht direkt benutzen kann; mir schwirrt was von 
minumum-clock >10 MHz f. Altera im Kopf. Das kann man aber mit Blick ins 
Datenblatt für das verwendete Bord schnell feststellen. Externen 
Speicher sollte man bei diesen Mini pics  von 5760 bytes nicht 
benötigen. Das VGA-Interface liest dann über den zweiten port des 
Framebuffers das Bild aus und erzeugt eigene V und H syncs für den 
Gewählten VESA Mode.

Anscheinend sind die Monitor-Fotos nicht "live" vom GB sondern in 
GB-Image im FPGA-Speicher abgelegt:
"Currently working on getting the SN74LVC8T245PWR level shifters working 
and I will be able to pull live data from the Gameboy LCD data bus. "

Der Verilog-Code im Repo schaut beim flüchtigen draufschauen nicht so 
aus, ob er Livebilder zu vga konvertiert.

Edit: Hab im falschen depot geschaut; 
https://github.com/LonghornEngineer/DE0_GameBoy_DMG-01_VGA/tree/master/Software 
sieht besser aus, damit könnten livebilder konvertiert werden.


MfG,

von Michael B. (froeschl)


Lesenswert?

Verbindlichen Dank für diesen Anfang.

Wer kann mit diesen Infos, gegen Obolus, einen
Bauplan erstellen?

von Mike (Gast)


Lesenswert?

Fpga K. schrieb:
> Edit: Hab im falschen depot geschaut;
> https://github.com/LonghornEngineer/DE0_GameBoy_DMG-01_VGA/tree/master/Software
> sieht besser aus, damit könnten livebilder konvertiert werden.
>
>
> MfG,

So wirklich besser sieht das leider auch nicht aus. Die Signale für den 
Gameboy im Toplevel haben keine Pin-Assigments (*.qsf-Datei). Von daher 
eher unwahrscheinlich das es funktioniert.

Eine .gitignore-Datei würde dem Projekt auch mal gut tun. Ist ziemlich 
vermüllt...

von Michael B. (froeschl)


Lesenswert?

Auf der Suche nach Informationen ist mir dieser sehr gute
allgemeine Artikel aufgefallen

http://www.goepel.com/jtag-boundary-scan/ieee-11491-tutorial.html

von Fpgakuechle K. (Gast)


Lesenswert?

Michael B. schrieb:
> Auf der Suche nach Informationen ist mir dieser sehr gute
> allgemeine Artikel aufgefallen
>
> http://www.goepel.com/jtag-boundary-scan/ieee-11491-tutorial.html

??? Boundary Scan ? Ja das braucht man für Leiterplattentest oder oft 
auch FPGA-Konfiguration - Aber beim Design eines VGA-Converters hilft 
dir das nur bedingt weiterß

Wenn Dir die FPGA-Hürde zu groß ist dann schau nach einer anderen 
Möglichkeit VGA signale zu erzeugen oder anders einen Monitor 
anzusteuern.

Möglicherweise genügt eine Kombi aus zwei mikrocontrollern @ 20 MHz und 
einen diskreten SRAM als Buffer. Besser wäre natürlich diskrete dualPort 
Ram aber der ist wohl weitgehend ausgestorben.

Schau mal da:
http://www.brennecke.org/?page_id=1348 VGA mit AVR

Das thema wurde schon öfters durchgekaut:
Beitrag "Microcontroller mit VGA Grafik"


Die VGA ausgabe wird wohl den chip komplett auslasten, deshalb ein 
zweiter der das daten capture des LCD -Signals übernimmt. Mglw. kann man 
das auch auf die OldSchool Art was mit ein paar aus der7400 serie 
machen.

MfG,

von Michael B. (froeschl)


Lesenswert?

Ist Longhorn-Engineer nun ein Dreher?
Seine Bilderserien aus anderen Beiträgen lassen vermuten,
er ist Lehrausbilder für "Herrgottschnitzer".

http://longhornengineer.com/category/projects/portables/

Die Technik der Arcade-Automaten lernt man bei pdf.textfiles.com kennen

http://pdf.textfiles.com/manuals/ARCADE/

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.