YENO super cassette vision
-
@MaaaX ma première aussi
-
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
-
-
Non seulement tu vas intégrer l'emu à libretro mais en plus tu es en train de très largement le paufiner ! Bravo !
-
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).
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 ^^ -
Tu gères ! Bravo pour ton boulot, et pour tes comptes rendus !
-
@MaaaX said in YENO super cassette vision:
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.
Ça serait bien de l'avoir dans la base de données
-
@Pitch64 Oui, je sais pas encore comment ils fonctionnent mais je vais faire le nécessaire pour qu'ils aient les infos.
-
@MaaaX Je suis inscrit chez eux depuis longtemps, je peux faire passer les infos si besoin. Je peux pas les ajouter dans le Dat-o-matic, je n'ai pas les accès de ce côté
Ou si tu t’inscrit directement, il y a un forum
New Dumps & Redumps
où il suffit de créer un nouveau sujet avec les informations nécessaires tel que crc32, md5, sha1, la taille de la rom. Tu as un exemple ici de cartouche SCV trusted et la liste des jeux actuellement dans la base de données, sachant que ceux avec un point jaune ne sont pas trusted. Ceux en verts ont été trusted à plusieurs reprises et sont plus que confirmés étant des roms correctesAprès, faire tourner la rom pour compléter les fullsets.... C'est pas de mon ressort
-
@Pitch64 Salut,
Je leur ai envoyé un email directement et ils vont ajouter la nouvelle ROM au DAT-O-MATIC.
Merci. -
Bonjour,
J'ai un peu avancé sur la traduction du manuel de Basic Nyumon et il y a des choses qui vont m'être bien utile comme les instructions PEEK et POKE.
Ceci dit je n'ai pas tant avancé que ça car mes environnements de développement Mac et Windows ont implosés suite à une mise à jour d'OS X.En gros, suite à la mise à jour la partition Windows de mon Mac n'est plus bootable et impossible de compiler en ligne de commande sur la nouvelle version d'OS X et/ou de XCode. J'ai même compilé le dernier gcc "from scratch" en lignes de commande mais rien n'y fait: ça marche bien mais seulement jusqu'à ce que je reboote et que l'OS me remplace à nouveau ma version de gcc par celle de XCode, version qui ne veut rien savoir en ligne de commande et je ne veux pas utiliser XCode pour ce projet.
La partition Linux de mon Mac est toujours accessible mais elle a aussi quelques soucis car le Wifi se déconnecte sans arrêt depuis la mise à jour.Pas d'inquiétude toutefois pour le projet EmuSCV car les sources sont sauvegardées à plusieurs endroits.
Pour pouvoir avancer j'ai donc réinstallé une petite partition Windows 10 sur mon PC et le reste du disque avec mon Linux préféré, les deux avec tous les outils de développement, et là... tout va bien
C'est même plutôt mieux parce que mon PC est plus puissant que mon Mac.
La bonne nouvelle c'est que je peux vous dire que le projet tourne sous Linux et Windows.Il ne reste qu'à régler mes soucis sous OS X mais je vais y arriver... j'y arrive toujours.
@++
MaaaX ^^ -
@MaaaX said in 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.C'est déjà ajouté
-
Alléluia, exit OS X 10.15, bonjour OS X 10.10.
Ça ne rame plus, ça compile bien et EmuSCV tourne sur Linux, Windows et Mac... Ouf! On y arrive!
Et oui la Super Cassette Vision a accueilli le tout premier jeux vidéo de la licence Dragon Ball.
Sur ce, je retourne à mes traductions japonaises.
@++
-
Du coup tu penses que ça pourra être intégré dans une prochaine version de libretro ?
-
@nicko salut salut. Dans LA prochaine version je pense pas, il y a encore un peu de taf, mais dans UNE prochaine version j'espère bien.
@barbudreadmon m'avait déjà proposé mais je vais attendre d'avoir au moins intégré les contrôles (manettes, clavier), le son et un semblant de menu pour les options. -
Bonjour, un petit message juste pour dire que je suis ce topic depuis le début, en cachette
J'ai une console loose, et quelques jeux français et jap en boite au besoin (si besoin de scans par exemple). -
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/JdiQffiIfYAJE 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 ^^ -
-
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 ^^ -
Bonsoir tout le monde,
Voilà quelques news du projet EmuSCV.
Pas énormément de nouveauté côté fonctionnalités mais pas mal de corrections faites et beaucoup de travail effectué pour que ça tourne sur Raspberry Pi et Odroid (en particulier Pi4 et XU-4) avec le concours et l'aide précieuse de @Bkg2k que je re-re-remercie à nouveau.
La Super Cassette Vision est en cours de test sur Recalbox et devrait bientôt débarquer dans vos consoles.
Toute l'équipe a déjà fait un énorme travail de préservation en mettant un maximum d'informations sur ScreenScraper.fr. Je remercie en particulier @MarbleMad et @acris.La version actuelle en cours de test est la version 0.06.20201223231000 qui comporte les changements suivants:
- Correction de la fonction qui calcule les hashes MD5 (les ROMs .bin .rom .0 ne se chargeaient pas)
- Ajout d'information dans les logs (résolution demandée au frontend, etc.)
- Agrandissement de la deadzone des sticks analogiques des manettes
- Modification de l'emplacement d'enregistrement pour les fichiers .save et les fichiers .cart générés automatiquement. On utilise désormais le répertoire des sauvegardes du frontend en lieu et place du répertoire des ROMs. En effet les ROMs ne se chargeaient pas si le répertoire des ROMs était en lecture seule)
- Ajout d'une option pour afficher les entrées (manettes, clavier)
- Modification du format .save pour permettre de faire le lien avec le fichier .cart correspondant
- Corrections pour qu'EmuSCV puisse tourner sur Raspberry Pi 4 et Odroid XU-4
- Ajout du support des ROMs au format .zip (via l'auto-extraction du frontend si celui-ci le supporte)
- Code compilé pour Windows 10, Mac OS X 10.10, Linuxmint 20 et Recalbox 7.2 beta (Raspberry Pi, Odroid, PC)
- Testé sur RetroArch: Windows, Mac OS X et Linux
- En cours de test sur Recalbox: toutes les plateformes supportées (Raspberry Pies, Ordoids, PC...)
- UN CLAVIER EST REQUIS pour pouvoir sélectionner le mode de jeu (entre autres).
Ce qu'il me reste à faire:
- Le menu rapide en surimpression (pour pouvoir tout faire à la manette quand il n'y a pas de clavier branché)
- L'audio
- Les savestates
- Le menu de configuration in-game
- Le support natif des ROMs au format .zip (pas via l'auto-extraction du frontend)
- L'affichage in-game des ressources contenues dans les fichiers ROMs .zip (cartouches, manuels, etc.)
Je vous mets un lien vers la v0.06 ASAP.
@++
MaaaX (aka MaaaX-EmuSCV) -
@MaaaX said in YENO super cassette vision:
UN CLAVIER EST REQUIS pour pouvoir sélectionner le mode de jeu (entre autres
Sur recalbox
La sélection du menu peut se faire via un fichier p2k.cfg permettant de choisir le mode de sélection du jeu avec une manette.
Je posterai un exemple prochainement -
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" )