COLECO FUTURE

Coleco Vision with FPGA

The Future of the RetroGaming with original material.










Esthétiquement aucune modification par
rapport à l'originale

Sortie HDMI et alimentation standard

Carte SD
HDMI pour pouvoir utiliser la Coleco Future
sur toutes les TV modernes.
Plus de péritel devenue obsolète avec
nos TV modernes.
Alimentation avec connecteur standard.
Fini le transformateur introuvable avec son connecteur
tout aussi introuvable.
Accès à toute la logithèque ColecoVision grace à la carte Sd.
Boulder Dash en HDMI c'est la classe.




CONCEPT



Malheureusement les cartes mères de Coleco Vision tombent de plus en plus souvent en panne.

On trouve encore certains composants comme le CPU (Z80) le VPD (TMS99xx) ou la RAM (TMS4416).
Mais pour encore combien de temps, d'ici 10/15 ans certaines pièces seront introuvables à moins de vampiriser d'autres machines, mais là aussi ce n'est pas une solution pérenne.
Et les composants TTL sont encore facilement trouvables, par contre les composants CUSTOM sont déjà introuvables et ce depuis plusieurs années.

Et pour les générations futures, comment pourront-ils revivre l'expérience de la Coleco Vision.

Donc je suis parti sur l'idée que l'on ne puisse pas réparer la carte mère d'origine.
Quelles solutions avons-nous pour conserver l'esthétique et les fonctionnalités d'origine ?

Une solution est venue naturellement : l'émulation par FPGA.
Carte mère originale de la Coleco Vision.





Étant en contact avec des Fans MSX et électroniciens (Fabf et Metalgear2), ayant sorti une version FPGA du MSX, le MSX1FPGA, et développant une version ColecoFPGA, que je remercie au passage car sans eux je n'aurais pu mener mon projet à terme.

Pour la partie software du FPGA je suis donc parti sur la base du ColecoFPGA, qu'il m'a fallu modifier et adapter car le code d'origine ne permettait de n'utiliser que des manettes MSX et un clavier PS/2 ainsi que la sortie vidéo qui était en péritel.

J'ai donc modifié le code du FPGA (avec l'aide de Fabf et Metalgear2)  pour permettre d'utiliser les manettes d'origine, passer la sortie vidéo en VGA et activer le scanline.







Première étape fabriquer un gabarit en médium,
pour servir de support à la carte COLECOFPGA, lecteur de carte SD, etc ..


Essai des sorties vidéo et alimentation sans modifier le boitier d'origine.
La COLECOFPGA ne sort pas de signaux HDMI, mais péritel ou vga, vous verrez par la suite la solution alternative que j'ai utilisé pour adapter la sortie en HDMI....






Première modification: déporter le port SD card, en utilisant un petit module pour Arduino:











Test de positionnement interne du
lecteur de carte SD:
La trappe pour module additionnel
est l'emplacement idéal pour accéder
à la carte SD.












Deuxième modification: report des connecteurs manettes à l'aide de rallonges joystick coupées.
Placement sur le gabarit des divers éléments.

Le tout rentre parfaitement dans le boitier de la Coleco.

Il m'a fallu aussi modifier le code du FPGA pour pouvoir utiliser les manettes Coleco d'origine, car le code du FPGA n'était prévu que pour utiliser des manettes type MSX et un clavier PS/2.
Merci à Fabf de m'avoir aiguillé et donner la solution pour la modification du code.



les connecteurs manettes ont été percés pour pouvoir s'enclencher directement dans les petits ergots présents dans le boitier, ce qui permettra d'avoir une fixation solide pour les 2 connecteurs ;)

Les fils des rallonges joystick seront directement soudés sur le PCB du COLECOFPGA.



Troisième modification: adapter les connecteurs alimentation et HDMI aux emplacements prévus dans le boitier d'origine, toujours dans l'optique de ne pas modifier l'esthétique d'origine.

Pour ça j'ai fabriqué des gabarits en médium.



Avant de continuer je décide de peindre en noir tous les éléments en medium.
Cela donnera une finition parfaite une fois le tout remonté et fermé.
Une bombe de peinture noire tous supports fera l'affaire, il n'y aura que 2 éléments qui seront visibles de l'extérieur, les gabarits pour le connecteur d'alimentation et le connecteur HDMI, le reste est à l'intérieur et ne se voit pas, sauf à ouvrir la trappe pour module d'extension ou la trappe du port cartouche.



Quatrième modification: report des boutons marche/arrêt et reset.

Le bouton marche/arrêt d'origine est placé sur un gros slider je n'ai pas retrouvé le même donc j'y ai mis un modèle plus petit, et "calé" pour que ça rentre correctement sous le bouton d'origine, ça fonctionne mais c'est un point qu'il faudra que j'améliore.

Pour le bouton reset j'ai simplement fixé sur le medium un contact momentané,  taillé le bout en plastique pour qu'il rentre dans le bouton d'origine, ensuite j'y ai mis un gros ressort de récupération et le tour est joué et ça fonctionne.
Test de positionnement des boutons, le repérage avec le boitier fermé préalablement fait est bien conforme, ça correspond exactement au positionnement original.

Pour fermer le boitier c'est pas simple car je n'ai pas enlevé la façade avant pour ne pas abimer le bandeau original, tenir les boutons avec une main et refermer le boitier en inclinant la partie supérieure avec l'autre main, mais avec un peu de patience j'y suis arrivé.




Tous les éléments électroniques sont fixés avec des vis et boulons, et entretoise en plastique pour le COLECOFPGA ou tous les fils ont été soudés sous le PCB.

Les éléments en meduim qui supportent le connecteur d'alimentation et le connecteur HDMI sont maintenus en place avec de la colle au pistolet à colle, ainsi que les 2 connecteurs joystick sur le capot supérieur.




Les éléments placés sous le gabarit en medium, le lecteur de carte SD et le convertisseur HDMI.

Comme je le disais précédemment la solution adoptée pour avoir une sortie HDMI à été d'utiliser un convertisseur VGA>HDMI.

J'ai opté pour connecter directement des fils entre le PCB du COLECOFPGA et du convertisseur HDMI, pour les signaux RGB, SON, GND et soudé l'alimentation 5V nécessaire au convertisseur.
L'inconvénient c'est que les fils volants ne sont pas blindés et donc la qualité du signal vidéo n'est pas optimale, mais cela fonctionne correctement et j'ai opté pour activer le scanline pour l'affichage grâce au code du FPGA.

Pour avoir un connecteur HDMI externe j'ai utilisé une mini rallonge HDMI correctement alignée avec l'emplacement de la sortie vidéo, certains diront que le connecteur n'est pas dans le sens ordinaire, mais je n'ai pas trouvé mieux car le convertisseur je ne pouvais pas le placer à l'envers (prises VGA, audio...) ça aurait pris trop de place sous le medium, et la mini rallonge est trop courte pour le coup pour la tourner à 180° !




Il ne reste plus qu'à refermer le tout et tester que tout fonctionne correctement.

Et comme attendu ça fonctionne très bien, et quel plaisir de jouer avec les manettes d'origines sur la console d'origine et d'avoir toute la logithèque accessible et surtout la possibilité de tester de nouveaux softs ou développement facilement grâce à la carte SD.
Et cerise sur le gâteau pouvoir utiliser la console sur les TV modernes.