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.
-
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.)
-
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
Je vous donnerai d'autres news la semaine prochaine si j'ai suffisamment avancé sinon dès que possible.
@++
MaaaX ^^ - 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.
-
PS: Le "bug d'origine" qui me reste à retrouver c'est le texte supplémentaire en haut.de l'écran dans Boulder Dash. Maintenant il y a bien des caractères mais au lieu d'avoir plein de carrés vides j'ai quelques carrés plein. Je vais regarder si ça vient de la font des caractères ou si c'est un bug de la fonction de dessin "semi-graphique". Ceci-dit c'est pas grave du tout
-
@MaaaX said in YENO super cassette vision:
PS: Le "bug d'origine" qui me reste à retrouver c'est le texte supplémentaire en haut.de l'écran dans Boulder Dash. Maintenant il y a bien des caractères mais au lieu d'avoir plein de carrés vides j'ai quelques carrés plein. Je vais regarder si ça vient de la font des caractères ou si c'est un bug de la fonction de dessin "semi-graphique". Ceci-dit c'est pas grave du tout
Je n'ai pas connu ces machines, mais tout ça est passionnant
-
@nicko C'est passionnant pour moi aussi surtout que la Super Cassette Vision c'est ma console de cœur. C'est ma deuxième console mais c'est surtout ma première "vraie" console, la première étant un vieux machin façon Pong (Saft Leclenché TV 8 Sport pour ceux qui connaissent).
-
@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 ^^ -