Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord
    1. Home
    2. MaaaX
    3. Best
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 112
    • Best 51
    • Controversial 0
    • Groups 0

    Best posts made by MaaaX

    • RE: YENO super cassette vision

      Bonjour,

      Good news, le projet emuSCV avance bien 😊 .

      J'ai presque fini l'intégration du moteur RetroPC sur Linux C'est grossomodo la structure dans laquelle "tourne" l'émulateur eSCV... ainsi que plein d'autres émulateurs d'ailleurs...
      Il me reste une bricole de code à régler pour récupérer le nom des classes mais c'est secondaire car c'est utilisé uniquement pour le débogueur intégré de RetroPC.

      Je ne suis pas encore passé partout mais l'intégration de eSCV se passe bien aussi. Normalement tout est déjà intégré, je n'ai pas d'erreur de compilation mais il reste encore un gros boulot pour tout tester.

      Il reste à faire:

      • La semaine prochaine je devrai pouvoir enfin charger le BIOS et une ROM pour voir si ça tourne comme attendu en débogage pas à pas (pour le moment il n'y a rien de visible pour le commun des mortels hormis pour moi dans le code avec mon débogueur).

      • Il faut que je fasse tout le code de la partie "OSD" de RetroPC (c'est le terme utilisé dans RetroPC).
        C'est ce qui est chargé de faire l'interface entre eSCV/RetroPC et l'extérieur (Libretro, Recalbox et vous 😁 ) pour tout ce qui est entrées (clavier, joysticks) et sorties (vidéo et son).
        Pour le moment c'est une juste coquille vide. J'ai bien toutes les fonctions qui sont créées mais elles ne font encore rien.
        Ça ne devraient pas être une étape trop compliquée vu que tout le boulot sera au final délégué à l'API Libretro (donc à Recalbox). J'ai déjà fait plein de tests et je sais déjà quoi faire pour que ça marche.
        Arrivé là les premiers jeux devraient être enfin être jouables 😳 .

      • Il faudra faire aussi en sorte que ça tourne sur Retroarch PC et Mac en plus de Linux.
        Même si pour Recalbox c'est Linux qui nous intéresse, je tiens à ce que ça reste crossplatform et si je le fais au fûr et à mesure j'ai moins de risque d'avoir des régressions.

      • Il faudra ensuite compiler une version pour Recalbox (du boulot Bkg2k et la team Recalbox) mais normalement si ca tourne sur Linux ca devrait bien se passer.

      • Enfin la cerise sur le Mac Do, il faudra que je fasse une interface jolibô pour pouvoir régler les options directement dans l'émulateur... mais on peut démarrer sans ça avec des options "standards".

      Ouf!
      Voilà! Des news la semaine prochaine. Des bisous.
      Bon week-end
      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonsoir.

      Petit point de fin de semaine:

      • J'ai avancé sur la traduction du manuel de Basic Nyumon mais je me suis retrouvé coincé pour faire les captures d'écran puisque l'affichage de l'émulateur n'était pas encore terminé à 100% et qu'il n'y avait pas encore les contrôles (joysticks, clavier).

      • J'ai donc fini la partie affichage (cadrage finalisé pour les modes EPOCH, YENO et EmuSCV, normal/full display et 60/50Hz). Il restera les jolis menus à faire plus tard.

      • J'ai fini aussi la partie configuration. Il n'y a pas encore de menu in game mais la config est modifiable via les options du frontend Libretro.

      • Les contrôles joysticks et clavier était déjà "branchés" entre le frontend Libretro et EmuSCV. J'ai commencé à faire le "branchement" entre EmuSCV et eSCV (l'émulateur embarqué), on devrait donc bientôt pouvoir commencer à tester les jeux (sans le son pour le moment).

      Au niveau graphismes c'est déjà presque "jouable" (avec les contrôles ça sera quand même plus facile).
      Il reste les soucis connus suivants (attention ça peut peut être un peu technique et je vais essayer de faire simple):

      • Boulder Dash: léger clignotement sur certains diamants dû au fait que ces diamants utilisent parfois le sprite n°0 dans un mode spécial avec 2 couleurs inversées. Dans ce mode on inverse les deux couleurs normales du sprite n°0, on affiche donc une première image avec la couleur 2 et une seconde image par dessus avec la couleur 1, sauf que dans ce mode la seconde image on doit alterner régulièrement entre deux images différentes. Je ne sais pas encore quand je dois utiliser ce mode spécial de façon universelle (toujours actif dans ce jeu). Je sais quelles images utiliser mais pas quand je dois alterner la seconde image. Du coup j'ai fait une rustine spécifique à ce jeu mais ça clignote si je ne change pas la seconde image quand il faut.

      • Kung-Fu Road: il y avait des sprites moches et indésirables en haut et à gauche de l'écran. J'ai trouvé une meilleure solution que eSCV et MAME qui masquait une grande bande en haut de l'écran uniquement pour ce jeu, sauf que le perso disparaissait si on faisait un grand saut depuis le mur du haut. En fait ce jeu n'utilise que les 64 premiers sprites sur les 128 affichables en même temps, les sprites moches étant dans la seconde moitié. Je n'affiche donc que la première moitié des sprites et ça fonctionne très bien. Ce que je ne sais pas c'est comment déterminer de façon universelle le nombre de sprites à afficher (toujours 64 dans ce jeu). J'ai donc moi aussi fait une rustine spécifique à ce jeu.

      • Lupin III: il manque le dessin des briques dans le dernier niveau. J'ai pas mal cherché mais je n'ai rien de très concluant, aucune trace de ces briques. Je vais extraire la ROM de ma cartouche pour voir si le code est identique à celle qui circule sur Internet.

      Je pensais qu'il y avait un problème sur Dragon Ball: il manque une bande de pixels à gauche en mode EPOCH et ça clignote parfois pas mal. J'ai commencé à chercher mais en fait c'était comme ça sur les vraies consoles. C'était sûrement masqué par la moindre qualité de la sortie antenne de la console japonaise puisque ce jeu n'est sorti qu'au Japon.
      https://youtu.be/JdiQffiIfYA

      JE PENSE QUE CA DEVRAIT COMMENCER A ETRE JOUABLE LA SEMAINE PROCHAINE (sans le son).
      Ceux qui souhaitent jouer les Beta testeurs peuvent me contacter directement sur discord: MaaaX avec 3 fois "a". Il faudra avoit Retroarch sur un Windows, un OS X ou un Linux. Je vous fournirai le core Libretro-EmuSCV. Si vous avez une des consoles et des jeux d'origine pour comparer c'est mieux.

      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Salut salut.

      Sortie officielle de Recalbox 7.2 ce soir à 21h, incluant EmuSCV.
      Vous allez enfin pouvoir rejouer aux jeux Super Cassette Vision de votre enfance 😊

      @++
      EPOCH84 (aka MaaaX)

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Hello,

      L'affichage a pris bien moins de temps que ce que je pensais 😊
      20201102_132847.jpg
      20201102_134849.png

      Avant de passer à la suite j'ai encore du boulot sur la partie qui gère l'émulation de la puce EPOCH-TV1 afin de pouvoir émuler l'affichage de la console YENO en plus de celui des consoles EPOCH (pour mémoire l'affichage est différent sur les consoles JP et FR).
      Et puis c'est un peu brut de fonderie pour le moment et je vais bien sûr améliorer tout ça.

      Je voudrais revenir aussi sur la gestion de la config.
      Pour le moment j'utilise celle de eSCV qui est basée sur un fichier .INI mais je vais modifier ça pour que ça soit complètement intégré à Libretro/Recalbox.
      Et enfin il faut que ce que j'ai fait tourne aussi sur Mac et Windows en plus de Linux (oui sur la photo c'est un Mac mais avec un Linuxmint dessus).

      Des news ASAP.
      Des bisous.
      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonsoir amis retrogamers,

      Voici les dernières news du front sur le projet EmuSCV:

      • Je suis d'ores-et-déjà en mesure de gérer la surface d'affichage de toutes les consoles (les 2 JP et la FR), et même un peu plus car la zone d'image gérée est en fait beaucoup plus grande que ce qui est affiché au final à l'écran.
        En gros ça fonctionne comme ça: plusieurs fonctions dessinent les textes, les blocs et les graphiques dans une zone mémoire de 320x320 pixels appelée "text buffer" utilisant 16 couleurs. Une autre fonction dessine les sprites dans une autre zone mémoire appelée "sprites buffer" (320x320, 16 couleurs). Ensuite on mixe les deux buffers en copiant d'abord le "text buffer" en mémoire vidéo avec les 16 couleurs affichées puis le "sprites buffer" mais en 15 couleurs, la couleur 0 servant de couleur transparente.
        La couleur 0 est le bleu qu'on peut apercevoir subrepticement quand on fait un reset sur console (puisqu'on remplit la mémoire vidéo avec la couleur 0).
        Notez qu'il y a léger décalage quand on fait la composition des deux buffers (cadre bleu sur l'image suivante: "text buffer", rectangle rouge: "sprites buffer").
        Si on voulait tout afficher il faudrait avoir une résolution de 324x322, ce qui est assez loin de la résolution finale affichée à l'écran. Je ne peux pas vous mettre de vidéo ici mais les sprites vont parfois assez loin hors de la zone visible à l'écran.

      20201106_225212.png
      Pour ceux qui se demande combien on affiche de sprites en même temps sur le test vidéo, en vrai ça donne ça (certains ballons sont invisibles car de la même couleur que le fond):
      20201107_001052.png

      • Il reste un gros souci à régler pour Kung-Fu Road qui présente des bugs graphiques. Il faut que je creuse pour savoir si c'est un problème de eSCV, l'émulateur sur lequel je me base, où si c'est la ROM qui est pourrie. TAKEDA Toshiya, le créateur de eSCV, avait botté en touche en bidouillant le cadrage et en ne dessinant pas la partie haute du "sprites buffer" pour cette cartouche afin que les faux sprites s'affichent hors de l'écran. D'après mes tests je crains qu'il y ait un risque pour que ça écrive des données la ou ça ne devrait pas, il faut absolument que je résolve ce bug et j'ai commandé le matériel pour pouvoir réextraire le contenu des puces de MA cartouche d'origine pour vérifier ( 😢 ). Au passage la ROM que j'ai pour Astro Wars n'a pas les mêmes couleur que sur la vraie version (mais là j'ai la cartouche en double).

      20201106_225959.png

      • Autre petite chose bien moins grave: je n'ai pas les bugs d'affichage de la console Yeno avec les jeux Boulder Dash et Doraemon.
        Il devrait y avoir des restants de texte en haut de l'écran que je n'ai pas du tout sur l'emulo. Ca n'est pas grave en soit mais je chercherai pourquoi afin d'émuler parfaitement toutes les consoles.

      20201104_094849.jpg
      20201104_094923.jpg

      • J'ai eu quelques soucis pour charger certaines ROM mais j'ai trouvé pourquoi: eSCV n'est pas capable de charger certaines ROM telles qu'on les trouvent sur Internet car il est nécessaire de placer les blocs de données à certain endroits précis de la mémoire. Si les blocs doivent être chargés dans l'ordre à partir du début de la mémoire tout va bien sinon ça ne tourne pas.
        Sur les cartouches d'origine, l'ordre des banques et leur adresse mémoire étaient définies en dur par le cablage sur la PCB (la carte électronique dans la cartouche) or c'est une information qu'on a pas dans les fichiers ROM.
        TAKEDA Toshiya avait rencontré le même problème et crée un format de fichier spécifique pour remettre à disposition cette info (format pas ou peu documenté et il faut faire tout le boulot de création du fichier à la main). Il fournit dáilleurs avec le code source quelques exemplaires de ROM modifiées qui elles se chargent donc bien.
        Personnellement je trouve que son format est quelque peu restrictif si on veut pouvoir faire du homebrew plus tard.
        Je suis donc en train de peaufiner mon propre format pour EmuSCV (.cart pour les cartouches et .sram pour les sauvegardes), format que je documenterai. Je fournirai un outil cross-plateforme pour ceux qui souhaite recréer eux-même les fichiers à partir des ROM en circulation. (Nous sommes bien d'accord que je n'ai légalement pas le droit de fournir ni le BIOS, ni aucune ROM).

      • Et sinon je n'ai pas du tout eu le temps de mettre le nez dans le recodage de la config pour l'intégrer totalement au fonctionnement de Libretro/Recalbox.

      Encore merci à Fred pour les quelques photos du manuel de BASIC Nyumon qu'il doit m'envoyer (Fred lis ces lignes, ne m'oublie pas 😉 ).

      Prenez soin de vous et à la semaine prochaine pour de nouvelles aventures.
      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonsoir amis rétrogamers et rétrogameuses,

      Gros point de fin de semaine car pas mal de news à vous donner.

      J'ai créé les ROMs au format .CART pour toutes les ROMs existantes. Tous les jeux se chargent et tournent sur EmuSCV.
      Pour les jeux dont la cartouche permettait de sauvegarder (celles avec un emplacement pour 2 piles), un fichier .SAV est enregistré automatiquement au déchargement du jeu.
      Si vous essayez de charger une ROM brute d'extraction telles que récupérées sur Internet et qu'elle est connue d'EmuSCV, l'émulateur vous crée le fichier .CART correspondant et le lance dans la foulée. Ça fonctionne pour les ROMs en un seul fichier .bin, .rom, ou n'importe quoi d'autre et pour les ROMs en plusieurs fichiers .0, .1, .2, .3 (32Ko maximum par fichier).
      20201121_224057.png
      Petit aparté concernant le jeu Boulder Dash pour lequel j'ai extrait les données de la ROM de la cartouche européenne, données qui s'avèrent être différentes de celles de la version japonaise. Je n'avais trouvé cette ROM nul part sur Internet et elle n'est même pas encore connue de No-Intro.
      Cette ROM est bien sûr également gérée par EmuSCV.

      La démo de tous les jeux fonctionnent parfaitement sauf 5 qui fonctionnent mais pour lesquels il me reste des mystères à élucider:

      • Boulder Dash (encore lui): le dessin des sprites des diamants sur le 2ème et le 4ème quart vertical de l'écran utilisent un mode d'affichage particulier qui n'était pas géré du tout par eSCV. Dans ce mode il semble que le premier sprite doit être affiché comme un "sprite 2 couleurs" mais avec les deux couleurs inversées mais je ne sais pas encore quel index de sprite je dois afficher.
      • Kung-Fu Road: Il faut que je trouve comment les vraies consoles gérent le masquage des sprites moches en haut de l'écran car après plusieurs tests je me suis aperçu que la façon de contourner le problème choisie par eSCV et Mame n'est pas la bonne . En effet dans la 2ème scène du jeu on peux monter sur le mur en faisant un grand saut (haut puis haut-droite) et si on refait un grand saut depuis le mur, le personnage disparait en haut de l'écran, ce qui n'est pas le cas sur les vraies consoles.
      • Lupin III: dans la dernière scène il manque le dessin des "briques" qui devraient être présentes.
      • Y2 Monster Land: dans eSCV il y a une rustine dans le code pour éviter un blocage de la machine virtuelle due au son et je n'aime pas les rustines car ça crée de la dette technique. Il faut que je trouve pourquoi ça bloque dans ce cas précis (c'est moi qui vais payer la dette).

      Pour essayer d'avancer j'ai contacté la société EPOCH pour savoir s'ils avaient encore des infos techniques qui pourraient m'aider. J'ai eu un premier retour pour savoir qui j'étais mais je n'ai plus aucune nouvelle depuis.
      J'ai aussi essayé plusieurs fois de contacter TAKEDA Toshiya, le créateur d'eSCV avec l'aide de Mr Enri et de Mr 333, mais je n'ai malheureusement pas eu de réponse.

      Ceci dut j'ai pu flasher une EEPROM pour injecter mon code dans une cartouche. Je pourrai donc tester mon propre code sur les vraies consoles et faire du rétro-engineering pour valider des hypothèses sur les mystères restants à élucider.

      Enfin je remercie encore Fred qui m'a procuré une copie complète du manuel de Basic Nyumon, ce qui m'aidera certainement à comprendre certaines choses.
      Le manuel faisant plus d'une centaines de pages tout en Japonais ça va me demander un peu de temps pour tout traduire et le reste va pas trop avancer pendant ce temps là.

      J'essaye de vous donner des nouvelles en fin de semaine prochaine.

      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Amis rétrogamers et rétrogameuses bonjour,

      Je vous mets à disposition une préversion jouable de mon émulateur Libretro-EmuSCV, téléchargeable là:
      http://www.maaax.com/emuscv/0.5.20201216000000/

      Il s'agit de la version 0.5.20201216000000.
      Ca tourne sur Windows, Mac et Linux.
      J'ai testé avec le frontend RetroArch sur ces trois systèmes mais comme je suis le seul à avoir testé il y a sûrement que des choses qui m'auront échappées.
      Il faut impérativement avoir un clavier de branché (je pense que de toute façon ceux qui essayeront le feront sur un ordi).

      Les commandes clavier sont les suivantes:

      • Touche "i": bouton marche/arrêt de la console
      • Touche "r": bouton RAZ/Reset de la console
      • Touches "Controle" gauche et droite: bouton pause de la console
      • Touches "0" à "9" (en haut du clavier ou pavé numérique): boutons "0" à "9" de la console
      • Touches "effacement arrière" et "supprimer": bouton "CL" de la console
      • Touches "Entrée" (clavier ou pavé numérique): bouton "EN" de la console

      Pour les contrôles à la manette (jusqu'à deux manettes):

      • La croix directionnelle et les deux joysticks analogiques: joystick des manettes de la console
      • Bouton du bas et bouton L: bouton gauche des manettes de la console
      • bouton de droite et bouton R: bouton droit des manettes de la console
      • bouton "Start": boutons gauche et droit des manettes de la console et bouton "EN" de la console

      Pour infos pour démarrer un jeu on vous demande d'appuyer sur "START" mais selon les jeux il faut appuyer sur le bouton "EN" ou au moins un bouton de la manette ou les deux boutons de la manette. C'est pour ça que j'ai mappé le bouton Start sur tous ces boutons à la fois comme ça vous ne vous posez pas la question.

      Les options d'affichage, fréquence, cadrage, etc. sont accessibles depuis le menu "options" ou "options du core" du frontend.

      Il subsiste quelques problèmes graphiques déjà évoqués: les diamants qui clignotent dans Boulder Dash et le dessin des briques manquantes dans le dernier niveau de Lupin III.

      Ce qui n'est pas encore fait:

      • Le son est émulé mais pas encore branché sur la sortie
      • Il manque un clavier rapide en surimpression pour les cas où aucun clavier n'est branché (pour tout faire à la manette)
      • Il manque le menu général (configuration "in game", affichage doc, etc.)
      • Il manque les save states (donc pas de rembobinage)
      • Il manque le net play

      Bon tests.
      Merci par avance pour vos retours.

      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Amis rétro-gamers et rétro-gameuses bonsoir.

      Voici les dernières news du projet EmuSCV (Emulateur Super Cassette Vision).

      • BK a fait pas mal d'optimisations côté graphismes et moi côté son.
      • Le clavier rapide en surimpression est opérationnel et s'adapte à la console choisie (EPOCH, YENO ou LADY) ainsi qu'à la résolution choisie.
        20210227_000201.jpg
      • Ca tourne à pleine vitesse sur Pi 3, Odroid et consorts.
      • C'est un peu plus lent sur Pi0 mais ça tourne.
        image0-4.jpg
      • Le rembobinage et les savestates fonctionnent mais je n'ai pas fini de tester ce que ça donne pour le son (corrections si besoin)
      • Il faudra retester sur les différentes plateformes pour voir ce que ça donne en FPS avec le rembobinage mais il y a encore pas mal d'axes d'optimisation possibles.
      • Ca sortira donc avec la prochaine version 7.2 de Recalbox.

      @++
      EPOCH84^^ (aka MaaaX)

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Hello,

      Deux petites news pour ceux qui suivent ce sujet:

      • Il y a maintent exactement deux ans pratiquement jour pour jour, la veille de mon anniversaire, je démarrais le développement de mon émulateur EmuSCV qui est finalement sorti 1 an et demi après avec Recalbox 7.2.
        EmuSCV n'est toujours en version finale (qui sera la 1.0.xxxxxxxxx) tout simplement parce que j'estime qu'il n'est pas encore fini. J'ai fait un break de quelques mois pour faire d'autres choses. Actuellement je reprends tout le code de l'émulateur pour le simplifier et l'optimiser en me passant du moteur RetroPC qui ajoute une surcouche inutile et qui alourdit considérablement l'exécution. Gros boulot en cours.

      • J'ai commencé le développement d'un autre émulateur pour la maman de la Super Cassette Vision: l'EPOCH Cassette Vision. Je vais créer un post séparé pour ceux que ça intéresse.

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: EPOCH Cassette Vision

      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 ^^)

      Capture d’écran 2022-04-17 185245.png

      Capture d’écran 2022-04-17 185314.png

      Capture d’écran 2022-04-17 185309.png

      Capture d’écran 2022-04-17 185258.png

      Capture d’écran 2022-04-17 185252.png

      Capture d’écran 2022-04-17 185238.png

      Capture d’écran 2022-04-17 185234.png

      Capture d’écran 2022-04-17 185210.png

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: EPOCH Cassette Vision

      Hello World! 🤙

      Ca faisait un moment que je n'ai rien posté, aussi je déterre le sujet de la Cassette Vision sur lequel je me remet proactivement.
      J'avais un peu trop de projets en cours et ça partait dans tous les sens avec trop peu de temps libre pour arriver à avancer sur tout à la fois. Je met donc tout mes projets à plat pour arriver à m'organiser et prioriser les choses.

      Je mets donc en standby les projets suivants:

      • EPOCH Super Cassette Vision: mon projet autour de ma console de coeur (ma 2ème console perso).
        J'ai les consoles FR et JP et le fullset.
        Mon émulateur EmuSCV est déjà fonctionnel et embarqué dans plusieurs systèmes dont Recalbox, Batocera et RetroArch. Il a encore des bugs et est encore très perfectible (c'est pour ça qu'il n'est pas encore en v1.0).
        Mon assembleur RASM78001 est presque fini, il manque encore des options pour la gestion des banques ROM et d'autres fioritures pour la gestion des données. J'ai déjà pu compiler du code homebrew avec et le tester sur EmuSCV.
        J'ai aussi modifié du code de jeux existants et testé avec succès sur les vraies consoles.
        Les PCB des cartouches sont déjà créés sur Kicad (Bon! Il faut juste que je remette la main dessus... oui j'ai beaucoup de bordel sur mon ordi 🙄 ).
        Le moulage Epoxy des cartouches physiques n'est pas encore satisfaisant mais je pense que je vais finir par y arriver (ça devrait être mieux fini et plus rapide qu'en impression 3D).

      • Consoles 1ère génération: mon projet RB1G de simulateur de consoles 1ère génération, Pong Like, General Instrument AY-3-8xxx, etc. (alias "projet Fight Club" pour @Bkg2k ). Pour info ma première console perso était une Saft-Leclenché TV8 Sports, j'étais tout petit.
        J'ai presque le fullset des puces AY-3-8xxx dont certaines extrêmement rares, une Texas instrument (je ne sais plus laquelle) et la EPOCH SYSTEM 10 avec le lightgun. Il y a trop de consoles "clones" pour chaque puce pour espérer les avoir toutes mais heureusement il y a Internet (pong-story.com, Youtube, etc.) et quelques passionnés prêts à m'aider.
        Le projet est déjà bien avancé. Le plus long ça n'est pas le développement des simulateurs pour les différentes puces (oui ce ne sont pas des émulateurs au sens propre du terme), le plus long c'est bien le développement de l'interface façon Recalbox qui doit pouvoir gérer les milliers de clones existants pour seulement quelques puces.

      • EPOCH Barcode Battler: J'ai le Barcode Battler français (idem Barcode Battler II japonais) avec l'adaptateur pour la SNES. J'ai déjà collecté pas mal d'infos mais le projet est à peine commencé. C'est original et rigolo 5 minutes mais il faudra que je fasse un truc un peu plus fun que l'écran LCD qui affiche des chiffres...

      Et enfin le projet sur lequel je vais me concentrer:

      • EPOCH Cassette Vision: ce projet d'émulateur (EmuCV?) me tient vraiment à coeur car à ma connaissance il n'y en a aucun émulateur existant à ce jour pour cette console.
        J'ai les deux modèles de consoles, la normale et la Junior, avec le lightgun et le fullset.
        Nous sommes 4 à avoir travaillé sur le projet: Tetsuji OGUCHI (l'ingénieur qui a développé les puces NEC de cette console), Sean RIDDLE (un fou d'arcade et de retro-gaming qui décape et bidouille les puces), James BROLLY (lié au projet MAME) et moi-même (pièce rapportée au projet RECALBOX).

      Sean a extrait le contenu des ROMS de tous les jeux existants (programme et graphimes).

      Avec l'aide inestimable de Tetsuji, nous avons fait le rétro-engineering des puces. Enfin c'est surtout Testsuji qui a fait les recherches au début et moi qui ais validé et recoupé toutes ses informations en mettant le doigt à chaque fois là où il y avait des trous dans la raquette ou des incohérences... le pauvre, il doit me détester ^^.
      Ceci-dit, à force de travailler sur le sujet je suis maintenant capable de lire tout seul les schémas des puces et j'ai découvert un bug que Tetsuji ne connaissait pas, bug qu'il a confirmé et dont il a retrouvé l'origine (introduit par l'ingénieur chargé des tests et on sait maintenant pourquoi).
      J'ai déjà fait un premier prototype d'émulateur pour pouvoir valider les informations.

      J'ai commencé le développement d'un second prototype qui sera basé sur tout ce que je sais maintenant sur la Cassette Vision.
      Ca va demander un peu de temps mais je mettrai ici tous les vendredi des news sur l'avancement du développement.
      Ca fera de la lecture pour ceux que ça intéresse et moi ça m'obligera à me concentrer sur le projet. Ca avait bien fonctionné pour le développement d'EmuSCV.

      Quand le prototype V2 sera suffisamment avancé, je pourrai recoder tout ça en C/C++ pour avoir quelque chose d'exploitable.
      Je donnerai ensuite les sources à James pour qu'il puisse porter ça dans MAME.

      Voili, voilou.
      @++
      EPOCH84 (aka MaaaX ^^)

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonsoir tout le monde,

      Un petit point pour vous dire où j'en suis du développement de l'émulateur EmuSCV:

      • Le format de fichier est créé et ne devrait plus trop bouger. Finalement c'est du .CART pour les cartouches et du .SAVE pour les sauvegardes des cartouches avec piles.
        Je n'ai pas encore pu créer les fichiers pour toutes les ROMs mais les jeux suivants fonctionnent sur la démo (pas de manette active pour le moment pour tester plus) :
        Astro Wars
        Astro Wars II
        Basic Nyumon + sauvegarde
        Boulder Dash
        Comic Circus
        Dragon Ball
        Doraemon
        Dragon Slayer + sauvegarde
        Elevator Fight
        Kung-Fu Road
        Lupin III
        Mappy
        Milky Princess
        Miner 2049er
        Nebula (2 versions)
        Professional Wrestling

      2 jeux me résistent encore un peu:
      Pole position 2
      Pop & Chips
      J'ai déjà réussi à les faire tourner dans eSCV donc il n'y a pas de raison... je vais trouver.

      • En plus du format de fichier propriétaire je vais ajouter la possibilité de charger les ROMs brutes de fonderie, si elles passent directement tant mieux. Pour les ROMs connues ça créera le fichier .CART correctement formaté à la volée (le .SAVE est créé automatiquement pour les jeux avec sauvegarde).

      • J'ai trouvé d'où venait le problème de couleurs sur Astro Wars: c'est un "bug" de eSCV et Mame. En fait mes prédécesseurs Takeda et Enri n'avaient pas trouvé comment était gérés la couleur des sprites 2 couleurs et ils avaient mis en place une solution qui marchait la plupart du temps mais pas pour Astro Wars qui use et abuse de ce type de sprites... mais j'ai trouvé 😎
        Je n'ai pas encore fini de saisir l'ensemble des palettes de couleurs mais c'est en cours et ça fonctionne bien.
        RetroArch Libretro-EmuSCV 0.04.20201113211101 || Frames: 2560_030.png

      • J'ai aussi corrigé le masquage des sprites tout en haut de l'écran. Dans eSCV, Takeda masquait un peu trop de sprites, ce qui ne gênait pas sur la version japonaise mais du coup il manquait des sprites en haut de l'image avec le cadrage de la version européenne (les étoiles sur les deux Astro Wars par exemple).

      • J'ai réussi à récupérer presque tous les "bugs" d'affichage d'origine qu'on trouvait sur plusieurs jeux.
        o Le texte en trop en haut dans Doaemon et Boulder Dash sur la console Fr (pas le même cadrage que la console Jp pour lequel le jeu a été développé).
        o Le sprite en trop en bas à gauche dans Nebula sur la console Jp (c'est le dernier sprite de droite des pyramides qui déborde de la ligne et se retrouve affiché à gauche)
        o Certains grands sprites qui disparaissent à gauche sur la console Jp quand le décor défile (Kung-Fu Road, Nebula, Lupin III, etc.)
        RetroArch Libretro-EmuSCV 0.04.20201113211101 || Frames: 1280_033.png
        RetroArch Libretro-EmuSCV 0.04.20201113211101 || Frames: 1280_032.png

      • Pour les sprites supplémentaires moches de Kung-Fu Road, j'ai opté pour la solution utilisée par eSCV et Mame, à savoir que dans certains modes graphiques on n'affiche tout simplement pas les sprites sur une bande en haut de l'écran.
        Je ne pense pas que ça soit la solution idoine (vous chercherez "idoine" dans le dico 🙂 ) mais ça fera l'affaire en attendant que je puisse injecter du code dans une vrai cartouche et tester du code sur mes consoles (c'est prévu mais c'est un peu long et compliqué à faire).

      • J'ai presque fini de déterminer le cadrage des consoles Jp (cadre rouge) et Fr (cadre bleu).
        Il faut que j'arrive à faire tourner Pop & Chips pour avoir des repères vraiment précis mais ça va venir.
        Le cadrage d'EmuSCV sera entre les 2, comme expliqué précédemment.

      Juste pour le fun je vous ai mis des captures où on voit ce que les joueurs ne voyaient jamais. Et une de plus pour la route 😉
      RetroArch Libretro-EmuSCV 0.04.20201113211101 || Frames: 1792_029.png

      Je vous donnerai d'autres news la semaine prochaine si j'ai suffisamment avancé sinon dès que possible.

      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonsoir,

      J'ai déjà élucidé le mystère du "bug d'origine" du texte supplémentaire en haut de Boulder Dash sur la console Fr qui s'affichait mais pas comme attendu (pas assez de caractères et des gros carrés au lieu de carrés un peu plus petits).

      A la question est-ce que c'est un problème de police de charactère, un problème de l'émulateur ou un problème de ROM? la réponse est "les trois mon capitaine" 😄

      • C'est à la fois un problème de police de caractère et un problème de l'émulateur car eSCV utilise la table de caractères du BIOS contenu dans le processeur NEC μPD7801G, auquel il ajoute 32 symboles spéciaux qui manquent.
        Les consoles, elles, utilisent en réalité la table de caractères interne de la puce graphique EPOCH TV-1 qui est différente de celle du BIOS (ce sont les mêmes caractères mais avec une police différente).

      • C'est également un problème de ROM car j'ai découvert que le nombre de caractères affichés est différent entre la cartouche japonaise et la cartouche française.
        La ROM que j'utilise ne correspond tout simplement pas à la cartouche que j'avais prise pour modèle.

      Heureusement dans un coin de mon disque dur j'ai un dump de la table de caractères de la puce EPOCH TV-1.
      Je suis donc en train de remettre tout ça d'aplomb pour qu'EmuSCV utilise la bonne table de caractères.

      Plus ça va et plus je me rapproche du fonctionnement des vraies consoles et ça me fait bien plaisir 😊

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      @Pitch64 Salut,
      Je leur ai envoyé un email directement et ils vont ajouter la nouvelle ROM au DAT-O-MATIC.
      Merci.

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonsoir.

      Quelques petites news:

      • EmuSCV tourne sur la beta de Recalbox 7.2 (ni son ni menu pour le moment). Un poil lent sur Pi3 mais ça tourne bien sur Pi4 et Odroid XU4 (pour les autres je ne sais pas). Le core tourne bien sûr aussi sur PC, Mac et Linux.
      • Il y a maintenant des options pour choisir parmis 3 niveaux de résolutions (low/x1/original, medium/x2 et high/x4) et 2 aspects de pixel (carré et rectangulaire/original). Auparavant c'était uniquement x3 avec des pixels rectangulaires.
      • L'emulo ne nécessite que le BIOS, les autres ressources sont intégrées (table de caractères et échantillons audio).
      • Les jeux aux formats .bin, .rom, .0, .cart et .zip sont supportés.
      • Je travaille en ce moment sur le son et il y a plus de boulot que ce que je pensais au départ.
      • Je me suis aperçu qu'eSCV ne gérait pas très bien le canal audio PCM 1-bit (et MAME ne le gère pas du tout et ça le fait même planter dans certaines versions). Le canal PCM est utilisé notamment par Kung-Fu Road, Star Speeder, Pole Position 2 et sûrement d'autres mais je n'ai pas encore fait le tour. J'ai donc amélioré la qualité du canal PCM, c'est maintenant acceptable dans Kung-Fu Road mais ça n'est pas encore nickel pour la voix dans Star Speeder.
      • Je vais essayer d'améliorer un tout petit peu les échantillons du canal "TONE" (musiques) qui sont déjà pas mal et il faut que je check comment sont mixées les composantes du canal "NOISE/3xSQUARE" (ex: bruit du vaisseau dans Star Speeder).
      • Je dois encore faire tourner le son à la bonne vitesse en mode YENO/50Hz.
      • J'ai corrigé un petit bug graphique pour Astro Wars 2 (le tir envoyé s'affichait avec deux sprites au lieu d'un seul).
      • Je dois faire le "clavier rapide" en surimpression pour pouvoir tout faire à la manette.

      Le reste n'étant pas indispensable pour Recalbox, je le ferai plus tard.

      @++
      MaaaX ^^ (avec 3 "a" 😉 )

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonjour bonjour,

      Nouvelle version de Libretro-EmuSCV... avec le son.
      C'est encore perfectible mais déjà il y a du son, du bruit, des voix, etc.

      Windows (32-bits):
      https://www.maaax.com/emuscv/0.07.20210122133400/emuscv_libretro.dll

      Mac:
      https://www.maaax.com/emuscv/0.07.20210122133400/emuscv_libretro.dylib

      Linux (debian like x86):
      https://www.maaax.com/emuscv/0.07.20210122133400/emuscv_libretro.so

      Ca tourne aussi sur plusieurs board Recalbox: Pi3 et 4, Odroid XU4, etc.
      On optimise encore un petit peu pour essayer que ça tourne confortablement su Pi3

      Donc bientôt disponible aussi dans vos Recalbox 😉

      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Bonsoir.

      Petites news de Libretro-EmuSCV vite fait:

      • J'ai pas mal optimisé la partie audio.

      • Le canal Tone est maintenant de bonne qualité. Il n'y a plus de craquements sur la musique.

      • Le canal PCM 1-bit (bruitages de Kung-Fu Road et Y2 Monster Land et les voix de Pole Position 2 et Star Speeder) est maintenant presque bien. J'ai modifié le filtrage pour atténuer au maximum la fréquence porteuse qu'on entendait derrière.

      • Par défaut j'ai utilisé les couleurs telles qu'on peut les voir de nos jours mais j'ai ajouté une option pour pouvoir afficher les couleurs telles qu'elles étaient sur les vieux postes NTSC japonais (couleurs moches comme dans eSCV)... ancien NTSC = Never The Same Color 🤣

      • J'ai ajouté l'icône rose quand on est en mode "Epoch Lady".

      • J'ai corrigé un problème qui pouvait empêcher de changer l'option de résolution.

      • Je suis en train de faire les graphismes pour le clavier rapide en surimpression.

      • Bkg2k est en train d'optimiser la partie vidéo pour que essayer de faire en sorte que ça puisse tourner à 60FPS sur un Pi3 🤞🏻

      Dès que ces modifs seront finies je mettrai en ligne une version 0.8.

      @++
      MaaaX ^^

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: EPOCH Cassette Vision

      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).
        20220121_122232.jpg
        20220121_122426.jpg

      • 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.
        20220121_122604.jpg

      • 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)
        20220121_122726.jpg

      • 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.
        Capture d’écran du 2022-01-21 13-21-13.png

      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")

      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: YENO super cassette vision

      Pour ceux que ça intéresse voilà comment je procède pour l'extraction des ROMs:

      • Dépose de la ROM
        20220318_130830.jpg
        La ROM qui est dans le cas présent EPROM NEC uPD23128AC simple écriture de 16Ko (128 kilobits, 16384 mots de 8 bits).
        20220318_130908.jpg
      • Extraction des données
        20220318_142647.jpg
        20220318_142659.jpg
      • Comparaison des données de la ROM fraîchement extraite avec celles de la ROM en circulation. Ici on voit que les données sont différentes pour le même jeu.
        20220318_142855.jpg
      • Test de la nouvelle ROM sur eSCV
        20220318_143439.jpg
      • Test de la nouvelle ROM sur EmuSCV
        20220318_162621.jpg
      posted in Recalbox Général
      MaaaX
      MaaaX
    • RE: EPOCH Cassette Vision

      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.
      20220423_020153.jpg
      20220423_020407.jpg

      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...).
      20220423_021055.jpg
      20220423_021122.jpg
      20220423_021147.jpg
      20220423_021216.jpg

      Ca avance doucement mais ça avance.
      A suivre...

      @++
      EPOCH84 (aka MaaaX^^)

      posted in Recalbox Général
      MaaaX
      MaaaX