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.
|