EPOCH Cassette Vision
-
Bonjour,
Pour ceux que ça intéresserait j'ai commencé le développement d'un émulateur pour la console EPOCH Cassette Vision en collaboration avec trois personnes dont le concepteur des processeurs de la console.
J'ai fait l'acquisition des deux modèles de la console (la normale et la Junior), du Lightgun et du fullset jeux pour pouvoir comparer avec le matériel d'origine comme j'avais déjà fait pour la Super Cassette Vision.
Mon principal souci actuellement c'est pour passer de la sortie antenne RF NTSC à une entrée RGB/Péritel.
Si quelqu'un a un convertisseur à me conseiller je suis preneur.Ca n'est pas bloquant à ce stade du développement car le concepteur des processeurs m'a donné beaucoup d'informations sur l'architecture matérielle et le jeux d'instructions des différents processeurs. Mes deux autres collègues se chargeant de l'extraction des Roms.
A suivre donc...
@++
MaaaX ^^ (aka EPOCH84) -
@maaax Bravo et bon courage pour ton nouveau projet !
Sur Pi4 RB 8.0 dès que je lance un jeu j'ai systématiquement les ballons sur la Super Cassette Vision, y a t-il eu du changement ? (j'ai bien le bios reconnu)
-
@secamfr Je vais tester avec la RB8 et je te dis ça tout à l'heure mais côté EmuSCV j'ai rien changé.
L'écran de test c'est qu'il reconnait le BIOS mais pas la ROM -
@maaax Apparemment mes roms ne fonctionnent plus en .zip ou .7z, décompressé ça remarche, il doit y avoir un petit bug de configuration...
-
Merci pour l'info. Je vais faire remonter à l'équipe parceque les formats zippés sont gérés automatiquement par libretro. C'est transparent pour les émulateurs.
Je te tiens au courant. -
@maaax Ok merci
-
Bonsoir @Secamfr,
D'après les tests effectués ça serait l'extraction automatique du frontend Retroarch de la v8.0 qui ne fait pas le job, du coup le core EmuSCV ne trouve pas la ROM car soit elle n'a pas été extraite du tout soit Retroarch ne lui envoie pas le bon chemin pour y accéder.
J'ai fait remonter l'info.@++
MaaaX ^^ (aka EPOCH84) -
@maaax Ok merci, plus qu'a attendre un fix
-
Bonjour.
Voici quelques news du projet d'émulateur pour la console EPOCH Cassette Vision.
Pour ceux qui ne la connaîtraient pas je vous fais une petite présentation rapide de cette console assez inhabituelle d'un point de vue technique:
-
La Cassette Vision était fabriquée et commercialisée par la société japonaise EPOCH. Développée à partir de 1978, elle est sortie au Japon le 30 juillet 1981 et commercialisée jusqu'en 1984, année de son remplacement par la Super Cassette Vision.
C'était la console la plus vendu au Japon avant la sortie de la Nintendo Famicom. -
La Cassette Vision ne comprenait pas de manettes mais 4 boutons, 2 leviers à 3 positions (gauche, repos, droite) et 4 contrôleurs rotatifs, le tout intégré directement sur la console ainsi qu'un pistolet optique (aka lightgun).
-
Une seconde version plus light a été commercialisée simultanément, la Cassette Vision Junior, avec toujours 4 boutons mais 1 seul levier, pas de contrôleur rotatif et pas de lightgun.
-
11 cartouches de jeux interchangeables sont sorties officiellement et 1 a été avortée.
Chaque cartouche est protégée dans un boîtier en plastique transparent incluant une notice. Les principaux contrôles de chaque jeux étant rappelés par un sticker collé sur la cartouche.
La plupart des jeux sont compatibles avec la Cassette Vision Junior (sauf les 2 joueurs et plus et ceux utilisant uniquement le lightgun).
Astro Command
Baseball
Battle Vader
Big Sports 12 (utilisable avec le lightgun)
Elevator Panic
Galaxian (rien à voir avec la version de Namco)
Kikori no Yosaku
Monster Block
Monster Mansion (clone de Donkey Kong)
New Baseball
PakPak Monster (clone de Pac-Man)
Grand Champion (jamais sorti)
-
Une première particularité technique est que le processeur est dans la cartouche, la console ne servant que pour les contrôleurs et la sortie vidéo. Les ROMs était donc inscrites directement dans le processeur et chaque fois qu'on change de jeu, on change de processeur.
Heureusement Monsieur OGUCHI le développeur des puces participe à notre projet et est d'une aide indispensable pour comprendre le fonctionnement du hardware. -
Une seconde particularité, beaucoup plus technique et qui n'intéressera que les développeurs , est que le compteur des instructions est sur 11 bits et n'est pas linéaire. C'est un compteur polynomial absolument impossible à suivre pour le commun des mortels sans une abaque à côté.
-
3ème bizarrerie: les instructions du processeur sont sur 12 bits et les données sur 7 bits avec une possibilité de transfert par bloc de 28bits.
-
4ème, dernière étrangeté et pas des moindres: la console est capable d'afficher peu de pixels mais par contre elle est capable d'afficher des pixels non-carrés. En clair les "pixels" peuvent avoir des côtés en diagonale. Oui oui c'est possible.
Vous comprenez pourquoi Monsieur OGUCHI a d'ailleurs obtenu un prix chez NEC, son employeur de l'époque pour avoir développé cette famille de puce (uPD774x, uPD777x, uPD778x et uPD779x).
Ouf!
Les dernières: nouvelles du front maintenant:- Le projet et l'émulateur s'appellent tout simplement EmuCV pour "Emulator Cassette Vision".
- Le core Libretro est créé et il est déjà fonctionnel. Pour faire simple c'est la partie qui va faire l'interface entre le frontend (Retroarch pour Recalbox, donc le joueur et le système) et l'émulateur proprement dit. Pour gagner du temps je suis parti du code de mon projet EmuSCV (déjà incu dans RecalBox) que j'ai modernisé et amélioré.
- Mon collègue Sean a dumpé toutes les ROMs depuis les cartouches originales (on a maintenant une technique non destructive et reproductible pour le dump). Ca se présente sous la forme de deux fichiers par cartouche: un pour le programme et un pour les graphismes (patterns). Les deux fichiers ayant une taille fixe, sûrement qu'au final on pourra les concaténer en un seul pour simplifier la vie des joueurs. Ceci dit je vais faire en sorte que toutes les solutions soient possibles parce que l'émulateur sera probablement aussi intégré à MAME qui aime bien avoir plein de fichiers bruts.
- Monsieur OGUCHI a beaucoup avancé sur le reverse engineering afin de retrouver le jeu d'instructions des différents processeurs mais il nous manque encore quelques instructions pour certains jeux.
- Pour l'étape en cours, je suis au début du codage des instructions (en tout cas la grosse partie des instructions déjà connues).
- L'étape suivante ça sera de me pencher sur le fonctionnement des patterns (les graphismes) pour avoir enfin une sortie visuelle et avoir quelque chose à vous montrer... mais c'est pas encore pour tout de suite.
Donc voilà! C'est beaucoup de boulot mais c'est hyper-intéressant à faire. Ca n'avance pas vite certes mais ça avance.
@++
EPOCH84 (aka MaaaX avec 3 "A") -
-
@maaax Man, this is just awesome!!!! Thx for your hard work here!
-
@maaax chouette
ça fait plaisir d’avoir des tes nouvelles. Bon courage à toi et surtout que la force soit avec toi ^^
-
Hello world!
Quelques petites news du projet d'émulateur Libretro-EmuCV pour les consoles EPOCH Cassette Vision et Cassette Vision Junior:
- Toutes les ROMs sont extraites.
- Nous connaissons maintenant la totalité du jeu d'instructions pour les 11 jeux sortis et même un peu plus (certaines instructions n'étant utilisées dans aucun jeu). Il reste encore quelques instructions à rétro-ingéniérer mais qui ne serviront pas dans l'immédiat.
- Nous savons maintenant comment sont organisées les données graphiques et comment les interpréter.
- J'ai créé un logiciel qui me permet de faire des expériences pour m'aider à décortiquer le fonctionnement de la console et des différents composants uPD7xx qui font office de processeurs.
- Certaines puces gèrent les graphismes un peu différemment des autres (ex: pixels diagonaux/rectangulaires pas forcément dans les mêmes plages) et je me suis aperçu que le câblage de certaines cartouches n'est pas forcément standard (ex: le jeu "Baseball" réinjecte le signal de la sortie prévue pour demander une reverb du son sur les pattes d'entrée prévues pour les contrôles d'un des joueurs). Je dois donc d'une part analyser comment sont gérés les pixels diagonaux/rectangulaires pour chaque puce et d'autre part je dois démonter toutes les cartouches pour voir comment chacune d'elles est câblée. En conséquence je vais donc devoir créer un format de ROM spécifique comme pour EmuSCV afin de gérer ce genre de curiosité.
Il y a encore beaucoup de boulot avant qu'on puisse réellement jouer mais le projet avance petit à petit...
Affaire à suivre...
@++
EPOCH84 (aka MaaaX ^^) -
@maaax said in EPOCH Cassette Vision:
Certaines puces gèrent les graphismes un peu différemment des autres (ex: pixels diagonaux/rectangulaires pas forcément dans les mêmes plages) et je me suis aperçu que le câblage de certaines cartouches n'est pas forcément standard (ex: le jeu "Baseball" réinjecte le signal de la sortie prévue pour demander une reverb du son sur les pattes d'entrée prévues pour les contrôles d'un des joueurs). Je dois donc d'une part analyser comment sont gérés les pixels diagonaux/rectangulaires pour chaque puce et d'autre part je dois démonter toutes les cartouches pour voir comment chacune d'elles est câblée. En conséquence je vais donc devoir créer un format de ROM spécifique comme pour EmuSCV afin de gérer ce genre de curiosité.
Il y a encore beaucoup de boulot avant qu'on puisse réellement jouer mais le projet avance petit à petit...
Affaire à suivre...Encore une fois c'est passionnant de te suivre, et je suis ébahi par ton niveau technique ! Bravo et merci de partager tes avancées !
-
Salut tout le monde,
Petite news pas forcément hyper intéressante mais je partage quand même: j'ai un peu avancé sur le mod des consoles qui vont me servir de référence pour le développement de EmuCV.
J'arrive maintenant à avoir une image sur l'entrée vidéo composite NTSC de ma télé... pour le moment c'est uniquement en noir et blanc (signal vidéo avec les synchros et la luminance mais sans la chominance) et pas de très bonne qualité (probablement dû au vieillissement des condensateurs).
Ca veut dire au moins que ma Cassette Vision fonctionne ainsi que toutes mes cartouches. Je n'ai pas encore eu le temps de tester sur la Cassette Vision Junior.
Il va quand même falloir que je fasse une vraie restauration pour améliorer la qualité de l'image (= recapage complet) et bosser encore un peu pour récupérer la couleur (chrominance) ainsi que le son.
Encore une bzzarerie de cette console: le signal vidéo est inversé par rapport à un signal standard.
J'ai aussi commencé à démonter toutes les cartouches mais sans déposer les puces uPD7xx et je confirme déjà qu'au moins "Baseball" et "New Baseball" ont un câblage spécifique. Pour le moment je n'ai démonté que ces deux là ainsi que "Astro Command" et "Elevator Panic" (d'ailleurs si quelqu'un sait pourquoi cette cartouche là est blanche alors que toutes les autres sont noires...).
Ca avance doucement mais ça avance.
A suivre...@++
EPOCH84 (aka MaaaX^^)