Sortie Gameboy vers Composite/RGB/HDMI

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3051
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Sortie Gameboy vers Composite/RGB/HDMI

Message par Papy.G »

On voit sur des sites de vidéos différents bricolages avec des FPGA, des Super GameBoy ou autres pour sortir un signal vidéo d'un vieux GameBoy, or, au vu d'autres vidéos, notamment présentant des totems "DémoBoy", on peut voir parfois que le câble qui sort de la machine source n'a pas 36 conducteurs, ce qu'un un aperçu du câblage du sous-ensemble écran/contrôle semble confirmer.
Câblage LCD GameBoy DMG-01
Câblage LCD GameBoy DMG-01
gnb.jpg (11.59 Kio) Consulté 8228 fois
Je n'y connais pas grand chose en électronique, alors je pose la question aux initiés: Peut-on avec un minimum d'électronique passive envoyer cela vers du composite ou du RGB, ou même du HDMI, pour peu que le 144 lignes soit supporté.
Un CRT traditionnel nécessitera-il une modification pour supporter une synchro H aussi lente? (9,2kHz) Est-ce envisageable? (J'ai vu par ailleurs un minitel dont des selfs ont été modifiées pour adapter les fréquences de balayage afin de supporter le Pal en entrée.)

C'est qu'en fait, je pensais que la carcasse du Minitel Matra pourrait faire un GameBoy bartop bien sympathique. :mrgreen:

Naïvement, je pensais à une conversion toute bête vers du monochrome à travers un décodeur deux bits, suivi d'un réseau de résistances, puis HSync et VSync une Petite adaptation polarité/niveau, éventuellement suivie d'une combinaison de ces signaux, si vers composite.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Zaxxon »

Bonsoir Papy.g,

Je ne connais pas la Game Boy, mais je me suis attaqué par plaisir /défi (!?) à la génération de composite via micro contrôleur.

Cela devrait être possible, mais il faudrait forcément décoder les signaux provenant de la Game Boy et un mcu assez costaud pour pouvoir générer une résolution comparable à celle de la Gameboy et générer des ligne de 64us.

A titre d'information avec un pic18F4685 avec une fréquence d'horloge de 40 mhz (Soit 10mhz en réel car pour les pics 18 c'est Fosc/4) et un code maison C et asm (impossible en c) en noir et blanc sans teinte de gris, j'arrive à une résolution max de 152 * 112 pixels, et ce en deux couleurs car pour gagner du temps j'effectue une rotation sur un port, m'évitant ainsi des cycles d'instruction supplémentaires, rendant impossible toute augmentation de possibilités d'ajout de composantes de gris supplémentaires..

Sur Arduino avec atmega 328, existe aussi une librairie, qui possède une résolution encore inférieure et avec le même genre de contraintes.

Or la Gameboy première génération, d'après ce que je viens de lire sur wikipédia offre une résolution de 160×144 en 4 nuances de gris.

Il Faudrait donc un mcu capable de générer cette résolution et de maintenir des timings sérés, c'est à dire 64us (or entêtes) par ligne (un chouya plus ou moins d'après mes tests est toléré selon les télés).(Edit : Sans compter les cycles d'horloges dédiés à la reception et au traitement des données probvenant de la Gameboy). De plus le progressive scan permettra de générer moins de lignes et évite de devoir alterner les lignes paires et impaires.

Pour les 4 niveau de gris, il te faudrait donc 4 voltages différents (0 , noir,à 1V, blanc le gris se situant entre ces valeurs). Pas besoin de s’embêter avec le signal couleur car par défaut, le signal pal est prévu pour le noir et blanc (en l’occurrence des niveaux de gris). Ce qui est pratique car le color burst, demande plus de travail et surtout plus de ressources.

Pour générer ces 4 valeurs un circuit DAC (digital vers analog), ou même un pont diviseur de tension pour chaque composante (avec une résistance de 75ohms en fin de course devraient permettre de générer les nuances.

Le choix du mcu, dépendrait des tes compétences, et surtout du matériel en ta disposition. Un pic32 avec suffisamment de ram et une bonne vitesse(pour les teintes et la résolution) pourrait largement convenir (je les apprécie, mais il y a beaucoup d'autres mcu très corrects, je ne suis pas sectaire, mais suis équipé pour du pic ;).

Si comme moi, tu n'est pas équipé d'oscillo, il te faudra un débogueur permettant d'afficher le nombre de cycle théorique (et leur durée) et faire parfois quelques ajustement manuels car la précision est parfois relative :/

Après il faudrait interfacer le mcu avec les signaux Gameboy que je ne connais pas, mais à première vue, tu as trois signaux d'horloge Clock, signal de synchro vertical et horizontal. Un des deux data devant peut être servir de sortie, qu'il serait peut possible d'ignorer..

Je ne sais pas si ma réponse t'aidera beaucoup, mais si elle pouvait te mettre sur une piste, ce serait déjà ça :)

Bonne soirée,
Thomas
Thomas,
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3051
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Papy.G »

Merci de t'être penché sur la question, même si cela ne répond pas à l'interrogation qui me taraude. :mrgreen:
L'idée était précisément de faire simple, en ne faisant pas appel à du calcul informatique, mais juste à de la logique pure, et un peu d'analogique.
Sinon, un FPGA ferait l'affaire, mais cela ne doit pas être nécessaire, car à l'époque des totems DemoBoy, les FPGA, s'ils existaient, ne pouvaient probablement pas faire ce que font ceux d'aujourd'hui.

Je vais essayer d'expliquer comment je crois que l'interface fonctionne:
VSync: Impulsion à chaque image-éran
HSync: Impulsion à chaque ligne
Clock: impulsion à chaque pixel
Data 0 et 1: couleur du pixel sur deux bits (quatre nuances)

Ne me demandez pas après la forme des signaux, polarité, timings, je pense que ça doit être assez proche de ceux connus en vidéo traditionnelle. :P

D'ailleurs, je me souviens que les interférences d'une DS ou GameBoy Advance pouvaient êtres captées par un téléviseur analogique et que l'on pouvait faire apparaître des images en collant pratiquement l'appareil à l'antenne, très curieux, faudrait que j'en fasse une vidéo.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Zaxxon »

Sans faire de calcul, je ne vois pas trop et je manque de compétences :-(

Par contre, j'ai trouvé ça :
Edit : Apparemment le tag youtube ne veut pas de ma video :/
https://www.youtube.com/watch?v=ZcW7a7Au2N4

Apparemment, il n'en était qu'à ses débuts, mais peut être a-t-il progressé,ou pouvez-vous vous aider mutuelement?

Voici son site apparemment si tu veux le contacter
http://jazz-disassemblies.blogspot.fr/s ... el/gameboy

Bonne soirée,
Thomas
Thomas,
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3051
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Papy.G »

Très bien, merci beaucoup, apparemment, il galère, car il cherche à reconstituer un composite, ici, avec les écrans péritels, ou les moniteurs monochromes Synchro/Luminance (Minitel, par exemple), peut-être a-t'on besoin de moins de composants.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Zaxxon »

De rien,
Je connais pas le minitel, mais le plus dur à mon avis ça va être d'adapter les synchronisations verticales et horizontales, en plus de récupérer les datas :/
Thomas,
Notator
Messages : 1299
Inscription : 09 août 2015 20:13

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Notator »

Une solution brute et rapide, est de positionner une mini-caméra au-dessus de l'écran de la Gameboy, et de la raccorder à un écran de visu, quel qu'il soit... :D

La solution par interface nécessite un peu plus que quelques composants, comme l'a bien exposé Zaxxon plus haut.
Il faut extraire de la Gameboy chaque pixel de l'image, le convertir en niveaux de gris, caser chaque ligne horizontale sur une durée de 64 µs, rajouter les tops de synchro horizontale, et faire de même en vertical à 20 ms. Sachant que sur la Gameboy l'image n'est pas affichée par balayage, mais par transfert de sa mémoire vidéo vers l'afficheur.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3051
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Papy.G »

Alors, oui, brute, rapide, et dégueu, mais quand l'écran est cassé, c'est encore plus compliqué. :?

Vu les fréquences annoncées sur le petit document mis au début, il semblerait quand-même que les pixels soit envoyés de façon ordonnée proche d'un balayage de CRT, tout ce qu'il faut, c'est convertir la luminance de deux bits en analogique et croiser les doigts pour que l'écran supporte des lignes de 108µs.
Sans le support de lignes lentes sur le moniteur, effectivement, c'est beaucoup plus compliqué. Peut-être en stockant alternativement les lignes dans deux paires de shift registers (4x160bits, tout de même), et en les renvoyant vers le moniteur deux fois pour augmenter la fréquence (faut alors un moniteur supportant 18,4kHz).
Peut-on ralentir la fréquence d'un moniteur, ou simplement réduire la largeur du balayage pourrait suffire? :oops:
Je me souviens d'un moniteur PS/1, qui a bouffé tout un tas de formats sans brocher. :mrgreen:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
frodon69
Messages : 2497
Inscription : 24 juin 2007 10:55
Localisation : Lyon

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par frodon69 »

Cette année, il y avait à la RGC une borne munie d'une Game Boy Advance reliée à un téléviseur actuel (pas vérifié la connectique) ; il serait intéressant de leur demander quelle technologie était utilisée.
Frodon69
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3051
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Papy.G »

Peut-être était-ce un TV de Advance, vendu chez Lik-Sang à la belle époque, parmi d'autres trucs exotiques dont ils avaient le secret, comme les kits de "FrontLight" Afterburner.
Ceci dit, en cherchant pour ce produit, je viens de tomber sur le site d'un mec qui fait des conversions RGB de diverses consoles, et qui est parvenu à obtenir un affichage de GameGear, d'abord en monochrome, puis en couleur, sur une télé. Il n'a pas beaucoup documenté ses montages, et les liens auxquels il s'est référé semblent presque tous morts.
Néanmoins, il représente un espoir, et je vais essayer de lui envoyer un mail.

Par contre, quand je fais le calcul:
1/(4x1024^2) x160, je devrais retrouver la durée d'envoi d'une ligne active, mais j'ai 38,15µs, ce qui case dans 64µs, alors, pourquoi la Hsync est aussi lente (9,2kHz)?
Je me suis trompé dans le calcul? :oops:

Aussi, je ne suis pas inscrit sur les réseaux sociaux, je n'ai aucun moyen de contacter Jazz-disasemblies. :roll:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
Jazzmarazz
Messages : 5
Inscription : 28 déc. 2015 01:02

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Jazzmarazz »

Hello, I am Jazz Disassemblies. I only speak English.
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3051
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Papy.G »

Merci beaucoup Zaxxon et Notator, Il semble bien que les solutions de Nintendo, pour le WideBoy Nes, par exemple, se reposent sur des shift registers qui tamponnent dans une mémoire l'affichage, et un autre groupe de composants le reconvertissent en tuiles du système d'affichage de la NES, pour les envoyer ensuite à celle-ci, vous aviez raison.
Par contre, sur le WideBoy, il a été possible, apparemment, d'obtenir plusieurs palettes, ce qui ne colle pas avec l'hypothèse de la sortie directe en deux bits.
J'ai oublié les liens, voilà où voir le GameGear RGB, et les WideBoys.

JazzMarrazz> Wow! I'm happy I ended up managing to reach you!
Did you check out Chrism Covell's website, with RGB out from GameGear? Maybe he could have hints and clues If outputting video from a DMG is possible or not. It seems that all the others times it was done, it needed quite a bit of digital processing of all the signals.
Won't it be a little simpler to try to connect the DMG to a VGA display first, mixing signals to generate composite may be source of more problems, no? Also, VGA display may be more prone to support odd syncs.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
Jazzmarazz
Messages : 5
Inscription : 28 déc. 2015 01:02

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Jazzmarazz »

I am looking at Chris Covell's website now. There is a lot of digital processing, and I did not want to do this. The inside of the gameboy is very small.

My next step is to connect to VGA and find out if it looked any better. You are correct that composite is full of problems. Composite video was a dirty invention from the beginning. VGA standards allow a small window of error. The Screen will try to adapt to my video signal a little bit.

This post in particular will help me:
http://www.smspower.org/forums/2539-GameGearTV#29717
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Zaxxon »

Bonjour/Hello

J'apprécie enormément le challenge du diy, mais au vu de la complexité de la chose (niveau temps surtout en dev), ne serait-il pas plus simple de trouver un superGameboy + super nintendo d'occasion? Comme ça cela permettra en plus de posséder une super Nintendo? 8)

Par exemple à 6,5 € sur la baie :
http://www.ebay.fr/itm/Super-Game-Boy-S ... SwPcVVl5kM

J'y ai vu aussi des super Nintendo pour une vingtaine d'euros.

I'm agree, Maybe the rgb solution is th easiest way to display gameboy lcd on TV.
Here is a gameboy CPU datasheet : http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf
ï Resolution: 160x144 (20x18 tiles)
ï Max # of sprites: 40
ï Max # sprites/line: 10
ï Max sprite size: 8x16
ï Min sprite size: 8x8
ï Clock Speed: 4.194304 MHz
(4.295454 SGB, 4.194/8.388MHz GBC)
ï Horiz Sync: 9198 KHz (9420 KHz for SGB)
ï Vert Sync: 59.73 Hz (61.17 Hz for SGB)

Vert Sync is very near of NTSC. I think many of TV (NTSC compatible) will accept this timing.
In my opinion the main difficulty is to increase the HorizSynch from 9188 to 15khz (30 on standard VGA).
Note if you want to use RGB (Scart TV mode) you'll need to combine Vsynch and Hsync to produce csynch signal.


Bonne soirée.
Thomas,
Avatar de l’utilisateur
Jazzmarazz
Messages : 5
Inscription : 28 déc. 2015 01:02

Re: Sortie Gameboy vers Composite/RGB/HDMI

Message par Jazzmarazz »

Does anyone know why Chris Covell uses several shift registers? Is it just to buffer (for unity gain) the data pins from external circuits? My circuit uses a few transistors to invert and buffer the data & sync pins.
Zaxxon a écrit :Bonjour/Hello

J'apprécie enormément le challenge du diy, mais au vu de la complexité de la chose (niveau temps surtout en dev), ne serait-il pas plus simple de trouver un superGameboy + super nintendo d'occasion? Comme ça cela permettra en plus de posséder une super Nintendo? 8)

Par exemple à 6,5 € sur la baie :
http://www.ebay.fr/itm/Super-Game-Boy-S ... SwPcVVl5kM

J'y ai vu aussi des super Nintendo pour une vingtaine d'euros.

I'm agree, Maybe the rgb solution is the easiest way to display gameboy lcd on TV.
Here is a gameboy CPU datasheet : http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf
ï Resolution: 160x144 (20x18 tiles)
ï Max # of sprites: 40
ï Max # sprites/line: 10
ï Max sprite size: 8x16
ï Min sprite size: 8x8
ï Clock Speed: 4.194304 MHz
(4.295454 SGB, 4.194/8.388MHz GBC)
ï Horiz Sync: 9198 KHz (9420 KHz for SGB)
ï Vert Sync: 59.73 Hz (61.17 Hz for SGB)

Vert Sync is very near of NTSC. I think many of TV (NTSC compatible) will accept this timing.
In my opinion the main difficulty is to increase the HorizSynch from 9188 to 15khz (30 on standard VGA).
Note if you want to use RGB (Scart TV mode) you'll need to combine Vsynch and Hsync to produce csynch signal.


Bonne soirée.
I own several Super Gameboys. This is not the point of the project. My reasons are to replace the front PCB inside of the gameboy becuase the screens are aging poorly.

My circuit currently produces CSYNC very well. I will try to place Sync on green.
Répondre