Planet Emulation Forums

Planet Emulation Forums (https://forums.planetemu.net/index.php)
-   Emulateurs Consoles (https://forums.planetemu.net/forumdisplay.php?f=10)
-   -   Higan et roms CX4 (https://forums.planetemu.net/showthread.php?t=15621)

Kobras 09/02/2018 00h00

Higan et roms CX4
 
Bonjour,

J'essaye de lancer les 2 jeux qui utilise la puce CX4 (Megaman X2 et X3) avec l'émulateur Higan (en version 106) sous Windows 10 mais cela ne fonctionne pas.
Pourtant j'ai bien téléchargé le bios CX4 sur planet que j'ai placé dans le même dossier que la rom en renommant le bios cx4.data.rom mais le chargement de la rom du jeu ne fonctionne toujours pas.
Sauriez vous comment faire ?

Firebrand 09/02/2018 00h14

Il faut importer avec Icarus la ROM (décompressée) avec ces firmware avec Higan:
=> http://www.planetemu.net/temp/pack_firmwares.zip

Kobras 10/02/2018 14h39

Ma rom est bien décompressé, j'ai décompressé les fichiers de ton archive et je les ais copiés :
- dans le dossier où se trouve higan.exe et icarus.exe
- dans le dossier où se trouve ma rom de Megaman X2
- dans le dossier Super Famicom.sys de Higan

Je fait importer Rom, ça lance icarus, je coche ma rom de Megaman X2 et valide, et j'ai l'erreur :
"[Mega Man X2 (USA).sfc] ROM image is missing data: cx4.data.rom"

Firebrand 10/02/2018 18h58

ll s'est visiblement passé quelque chose entre la v104 et les suivantes.

Selon la documentation en vigueur ( https://higan.readthedocs.io/en/v104/guides/import/ ), le SHA256 et la taille du fichier de mon pack sont les bon. Ca s'importe sous higan v104 mais pas après en effet. Je vais creuser un peu.

Kobras 10/02/2018 20h35

Oui, j'était également tombé sur cette page dans mes recherches et j'avais constaté que mon fichier cx4 était bien OK.
Je te remercie pour ton aide ^_^

Firebrand 11/02/2018 23h07

J'ai regardé plus avant et j'avoue ne pas comprendre.

Higan v104 et v105 utilise la même base de données Super Famicom.bml datant du 26/10/2016. Elle a été mis à jour dans la v106 mais aucun changement au sujet de Mega Man X2 et X3.

Pour la cx4.data.rom, on a bien:
MD5: 037AC4296B6B6A5C47C440188D3C72E3
SHA-1: A002F4EFBA42775A31185D443F3ED1790B0E949A
SHA-256: AE8D4D1961B93421FF00B3CAA1D0F0CE7783E749772A3369C3 6B3DBF0D37EF18
SHA-512: 5F318E942065CFC6C579FDBBE09AEAAF3B70A82DDB75DCEC1A A686B37067AE967F32E07DC8538CB20C34FD86516E6735F459 721FC69FEC5D6589D4BC42686211
RIPEMD: D01F7A775BC87E31DDC0720831FF84F12365F143

Taille 3072 octets ou 0xc00 en hexadécimal, valeur qu'on retrouve dans la base de données de Higan.



Quant à Icarus, le seul changement reporté dans les release notes et l'ajout d'une icône dédiée, rien d'autre. Entre v105 et v106, icarus.exe est exactement le même fichier.

higan v106 released2017-11-19
- This release adds auto-saving RAM support and a new tool to save per-game text notes. It also adds 64 new SNES PAL game verifications to the icarus database, courtesy of DoNotWant and Smarthuman.


higan v105tr1 released2017-10-25
This release supersedes higan v105, and is released to fix a critical issue that was affecting the newly completed English translation of Tengai Makyou Zero. It also has fixes for two other games.
Many special thanks to Cydrak for putting this release together during my vacation! =^-^=

Changelog:
- Super Famicom: fixed real-time clock functionality in Tengai Makyou Zero [Cydrak]
- Super Famicom: fixed real-time clock functionality in Dai Kaijuu Monogatari II [Cydrak]
- Super Famicom: fixed SMP regression that broke Majuu Ou in previous releases [Jonas Quinn]


higan v105 released2017-10-07
This release provides several major improvements to Mega Drive emulation which enhances compatibility a good deal. It also includes important Super Famicom mosaic emulation improvements, plus a much-needed SuperFX save state issue fix.
This will be the last release for a while: I have an upcoming vacation, and following that, I'll be shifting my focus back to the SNES preservation project until my backlog of 125 PAL games is cleared.

Changelog:
- higan: many improvements to Emulator::Interface to support forks/frontends
- higan: refreshed program icon
- icarus: new program icon
- Game Boy Advance: slight emulation speedup over v104
- Game Boy Advance: synchronize APU FIFO updates better
- Mega Drive: added automatic region detection [hex_usr]
- Mega Drive: support 8-bit SRAM
- Game Boy Advance: fixed bug when changing to THUMB mode via MSR [MerryMage]
- Master System: fix bug in backdrop color and background 0 priority [hex_usr]
- Mega Drive: backgrounds always update output priority bit [Cydrak]
- Mega Drive: emulated interlaced video output
- Mega Drive: emulated shadow/highlight mode [Cydrak]
- Super Famicom: auto joypad polling clears the shift register when starting
- Super Famicom: added new low-entropy RAM initialization mode to more closely match hardware
- Game Boy Advance: rumble will now time out after being left on for 500ms
- ruby: improved rumble support in udev input driver [ma_rysia]
- M68K: move.b (a7)[+/-] adjust a7 by two
- M68K: illegal/lineA/lineF opcodes do not modify the stack register
- Mega Drive: emulate VIP status bit
- uPD7725: improved emulation of OV1/S1 flags [byuu, AWJ, Lord Nightmare]
- uPD7725: improved handling of DP, RP updates [Jonas Quinn]
- Super Famicom: improved emulation of mosaic effects in hires, interlace, and offset-per-tile modes [byuu, Cydrak]
- ruby: improved Direct3D exclusive mode monitor selection [Cydrak]
- Super Famicom: fixed save state bug affecting SuperFX games [Cydrak]
- Mega Drive: added workaround for Clang compiler bug; allowing this core to work on macOS [Cydrak, Sintendo]
- higan: hotkeys now also trigger when the main window lacks focus yet higan is set to allow input on focus loss
- higan: fixed an edge case where int16_t <> double audio conversion could possibly result in overflows
- higan: fixed a crash on macOS when choosing quit from the application menu [ncbncb]


Au regard de la documentation à laquelle j'ai eu accès (je suis même allé regarder un peu dans la source d'Icarus au cas où je verrai un truc particulier sur la ROM en elle même https://gitlab.com/higan/higan/blob/...er-famicom.cpp ), je n'ai aucune explication. Une question à poser directement sur le forum de byuu je pense dans la section Icarus.

Kobras 12/02/2018 00h32

Merci beaucoup pour tes recherches approfondis.
Je viens de laisser un message sur le forum de byuu :
https://board.byuu.org/viewtopic.php?f=8&t=1973

Je te tiens au courant des que j’ai des nouvelles ;)

Firebrand 12/02/2018 06h15

Je viens de voir la réponse de Screwtape. Punaise, je ne risquais pas le trouver tout seul! ;D
Bien galère. :ermm:

Bon.... maintenant je suis intéressé à savoir comment on crée ces ROMs composites histoire de les faire toutes et les proposer au moins en pack... ou sur le site à l'unité, mais ça demande que Reeko fasse un peu de boulot... Pas simple. :P

Edit:

Trouvé, c'est tout con à faire:

En invite de commande

Code:

copy /b rom.sfc+chipset.rom newrom.sfc
Exemple:

Code:

copy /b "Mega Man X3 (Europe).sfc"+"cx4.data.rom" "Mega Man X3 (Europe).sfc"
Et là miracle, ça s'importe sans problème!

Edit2:

S'il y a 2 fichiers pour les firmware, il faut bien sûr concaténer avec la ROM les 2 fichiers comme dsp1.program.rom et dsp1.data.rom.
J'ai capté le principe, il me suffira d'avoir la liste des ROMs qui vont avec les différents firmwares (devrait pas être trop dur avec la database d'Icarus et prendre les ROMs d'autres régions non listées), créer un batch et en avant Guingamp!

Firebrand 12/02/2018 10h06

Voici le résultat de mon travail à utiliser bien sûr avec higan.

J'ai utilisé comme sources:
- la base de données d'Icarus dans higan v106 (j'aurais pu prendre une version possiblement plus récente sur GitHub, mais j'ai préféré gardé celle de la release actuelle): Database\Super Famicom.bml
- Cette page Wikipédia: https://en.wikipedia.org/wiki/List_o...ancement_chips
- Le forum de l'auteur de higan, byuu: https://board.byuu.org/viewtopic.php?f=8&t=1971 (et non le Firebrand en question n'est pas moi, mais quelqu'un de bien plus connu qui a notamment créé des profils colorimétriques pour le Framemeister ou les émulateurs NES que je conseille: http://www.firebrandx.com/ )
- Mon pack de firmwares: http://www.planetemu.net/temp/pack_firmwares.zip

J'ai essayé d'être le plus exhaustif possible, si les ROMs était trouvables sur le site (set No Intro 20160205). Je n'en ai pas trouvé certaines (Shutokō Battle 2: Drift King Keichii Tsuchiya & Masaaki Bandoh par exemple) ou certaines régions pourtant listées sur la page. Soit elles ne sont pas dumpées (du moins dans cette version du set), soit elles sont nommées autrement et je ne les ai pas trouvées. Si vous trouvez une erreur à ce niveau, je peux la corriger sans problème.

Voici donc le pack: http://www.planetemu.net/temp/no_del...v106)_v1.0.zip

Toutes les ROMs du pack peuvent:
- être importées sans erreur dans la bibliothèque de higan v106 grâce à Icarus.
- démarrer sans bug particulier (mais je ne suis pas allé plus loin que le démarrage).

Pour ceux qui seraient intéressés par mon script de fusion des fichiers, c'est un simple batch à exécuter dans un dossier avec les ROMs et le pack de firmwares décompressés:

Code:

@echo off
MD merged
copy /b "Ace o Nerae! (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Ace o Nerae! [DSP-1] (Japan).sfc"
copy /b "Ballz 3D - Fighting at Its Ballziest (USA).sfc"+"dsp1b.program.rom"+"dsp1b.data.rom" "merged/Ballz 3D - Fighting at Its Ballziest [DSP-1B] (USA).sfc"
copy /b "Battle Racers (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom"  "merged/Battle Racers [DSP-1] (Japan).sfc"
copy /b "Bike Daisuki! Hashiriya Tamashii (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Bike Daisuki! Hashiriya Tamashii [DSP-1] (Japan).sfc"
copy /b "Dungeon Master (Europe).sfc"+"dsp2.program.rom"+"dsp2.data.rom" "merged/Dungeon Master [DSP-2] (Europe).sfc"
copy /b "Dungeon Master (Japan) (Rev 1).sfc"+"dsp2.program.rom"+"dsp2.data.rom" "merged/Dungeon Master [DSP-2] (Japan) (Rev 1).sfc"
copy /b "Dungeon Master (Japan).sfc"+"dsp2.program.rom"+"dsp2.data.rom" "merged/Dungeon Master [DSP-2] (Japan).sfc"
copy /b "Dungeon Master (USA).sfc"+"dsp2.program.rom"+"dsp2.data.rom" "merged/Dungeon Master [DSP-2] (USA).sfc"
copy /b "Exhaust Heat II - F1 Driver e no Kiseki (Japan).sfc"+"st010.program.rom"+"st010.data.rom" "merged/Exhaust Heat II - F1 Driver e no Kiseki [ST-010] (Japan).sfc"
copy /b "F1-ROC II - Race of Champions (USA).sfc"+"st010.program.rom"+"st010.data.rom" "merged/F1-ROC II - Race of Champions [ST-010] (USA).sfc"
copy /b "Final Stretch (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Final Stretch [DSP-1] (Japan).sfc"
copy /b "Hanguk Pro Yagu (Korea).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Hanguk Pro Yagu [DSP-1] (Korea).sfc"
copy /b "Hayazashi Nidan Morita Shougi (Japan).sfc"+"st011.program.rom"+"st011.data.rom" "merged/Hayazashi Nidan Morita Shougi [ST-011] (Japan).sfc"
copy /b "Hayazashi Nidan Morita Shougi 2 (Japan).sfc"+"st018.program.rom"+"st018.data.rom" "merged/Hayazashi Nidan Morita Shougi 2 [ST-018] (Japan).sfc"
copy /b "Lock On (USA).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Lock On [DSP-1] (USA).sfc"
copy /b "Mega Man X2 (Europe).sfc"+"cx4.data.rom" "merged/Mega Man X2 [CX4] (Europe).sfc"
copy /b "Mega Man X2 (USA).sfc"+"cx4.data.rom" "merged/Mega Man X2 [CX4] (USA).sfc"
copy /b "Mega Man X3 (Europe).sfc"+"cx4.data.rom" "merged/Mega Man X3 [CX4] (Europe).sfc"
copy /b "Mega Man X3 (USA).sfc"+"cx4.data.rom" "merged/Mega Man X3 [CX4] (USA).sfc"
copy /b "Michael Andretti's IndyCar Challenge (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Michael Andretti's IndyCar Challenge [DSP-1] (Japan).sfc"
copy /b "Michael Andretti's IndyCar Challenge (USA).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Michael Andretti's IndyCar Challenge [DSP-1] (USA).sfc"
copy /b "Pilotwings (Europe).sfc"+"dsp1b.program.rom"+"dsp1b.data.rom" "merged/Pilotwings [DSP-1B] (Europe).sfc"
copy /b "Pilotwings (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Pilotwings [DSP-1] (Japan).sfc"
copy /b "Pilotwings (USA).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Pilotwings [DSP-1] (USA).sfc"
copy /b "Planet's Champ TG 3000, The (Japan).sfc"+"dsp4.program.rom"+"dsp4.data.rom" "merged/Planet's Champ TG 3000, The [DSP-4] (Japan).sfc"
copy /b "Rockman X2 (Japan).sfc"+"cx4.data.rom" "merged/Rockman X2 [CX4] (Japan).sfc"
copy /b "Rockman X3 (Japan).sfc"+"cx4.data.rom" "merged/Rockman X3 [CX4] (Japan).sfc"
copy /b "SD Gundam GX (Japan).sfc"+"dsp3.program.rom"+"dsp3.data.rom" "merged/SD Gundam GX [DSP-3] (Japan).sfc"
copy /b "Soukou Kihei Votoms - The Battling Road (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Soukou Kihei Votoms - The Battling Road [DSP-1] (Japan).sfc"
copy /b "Super 3D Baseball (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super 3D Baseball [DSP-1] (Japan).sfc"
copy /b "Super Air Diver (Europe).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super Air Diver [DSP-1] (Europe).sfc"
copy /b "Super Air Diver (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super Air Diver [DSP-1] (Japan).sfc"
copy /b "Super Air Diver 2 (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super Air Diver 2 [DSP-1] (Japan).sfc"
copy /b "Super Bases Loaded 2 (USA).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super Bases Loaded 2 [DSP-1] (USA).sfc"
copy /b "Super F1 Circus Gaiden (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super F1 Circus Gaiden [DSP-1] (Japan).sfc"
copy /b "Super Game Boy (Japan).sfc"+"sgb.boot.rom" "merged/Super Game Boy [SGB BIOS] (Japan).sfc"
copy /b "Super Game Boy (Japan, USA) (Beta).sfc"+"sgb.boot.rom" "merged/Super Game Boy [SGB BIOS] (Japan, USA) (Beta).sfc"
copy /b "Super Game Boy (Japan, USA) (Rev 1).sfc"+"sgb.boot.rom" "merged/Super Game Boy [SGB BIOS] (Japan, USA) (Rev 1).sfc"
copy /b "Super Game Boy (World) (Rev 2).sfc"+"sgb.boot.rom" "merged/Super Game Boy [SGB BIOS] (World) (Rev 2).sfc"
copy /b "Super Game Boy 2 (Japan).sfc"+"sgb.boot.rom" "merged/Super Game Boy 2 [SGB BIOS] (Japan).sfc"
copy /b "Super Mario Kart (Europe).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super Mario Kart [DSP-1] (Europe).sfc"
copy /b "Super Mario Kart (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super Mario Kart [DSP-1] (Japan).sfc"
copy /b "Super Mario Kart (USA).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Super Mario Kart [DSP-1] (USA).sfc"
copy /b "Suzuka 8 Hours (Japan).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Suzuka 8 Hours [DSP-1] (Japan).sfc"
copy /b "Suzuka 8 Hours (USA).sfc"+"dsp1.program.rom"+"dsp1.data.rom" "merged/Suzuka 8 Hours [DSP-1] (USA).sfc"
copy /b "Top Gear 3000 (Europe).sfc"+"dsp4.program.rom"+"dsp4.data.rom" "merged/Top Gear 3000 [DSP-4] (Europe).sfc"
copy /b "Top Gear 3000 (USA).sfc"+"dsp4.program.rom"+"dsp4.data.rom" "merged/Top Gear 3000 [DSP-4] (USA).sfc"


Kobras 12/02/2018 17h36

J'ai créé mes roms avec copy et ça fonctionne.
Merci pour pour tes recherche et la solution et bon boulot pour ton pack de rom (même si je l'utilise pas).
Vraiment idiot cette façon de faire dans Higan. le programme pourait très bien lancer cette commande lui même à partir des rom du jeu et de la puce.

Firebrand 12/02/2018 17h51

Ils l'expliquent et c'est volontaire. En v104, Higan pouvait charger la ROM et le fichier du co-processeur via Icarus, mais ça a été enlevé pour faire pression sur No-Intro afin qu'ils fassent des ROMs fusionnées car le code de chip spécial fait bel et bien partie de celui du jeu. Et ça ne change rien pour les autres émulateurs. byuu est très à cheval sur la préservation, d'ailleurs il a dumpé lui même toutes les jeux SNES américains et il est en train de faire les jeux PAL en fonction des prêts qu'il obtient.Ils ne sont pas contre sur principe chez No-Intro visiblement, mais faut modifier les bases de données, c'est du boulot et ça les emmerde un peu... ils ont peut-être aussi d'autres priorités.
Donc ouais, c'est chiant pour l'utilisateur final, et ils en sont conscients. D'autant plus qu'Icarus redécoupe le fichier pendant l'importation.
C'est "politique" en fait. ;D

Kobras 12/02/2018 18h57

Et moi qui compte me procurer un sd2snes (c'est pour ca que je teste les roms que je patch en français ou anglais avec Higan car celui ci est au plus proche de la machine originale) qui a un FPGA qui reproduit de manière hardware le fonctionnement d'un certain nombre de puces additionnelles des cartouches, je devrait mettre la rom avec ou sans les données des puces ?
Car si c'est juste les données du jeux, c'est que l'idée de byuu n'est pas réellement idéale. :huh:

Dinofly 12/02/2018 20h26

A priori que ce soit avec ou sans les données additionnelles ça ne devrait pas avoir d'impact sur les émulateurs existants ou le SD2SNES. Je peux essayer sur le mien si tu veux :)

Kobras 13/02/2018 13h42

Oui, je veux bien. Ça serait intéressant de voir.

Firebrand 13/02/2018 15h24

Citation:

Envoyé par Kobras (Message 278694)
Et moi qui compte me procurer un sd2snes (c'est pour ca que je teste les roms que je patch en français ou anglais avec Higan car celui ci est au plus proche de la machine originale) qui a un FPGA qui reproduit de manière hardware le fonctionnement d'un certain nombre de puces additionnelles des cartouches, je devrait mettre la rom avec ou sans les données des puces ?

Tu as normalement besoin des fichiers séparés si j'en crois la documentation: https://sd2snes.de/blog/downloads

Citation:

For DSPx / ST0010 support you need the DSP ROM dumps:

dsp1.bin
dsp1b.bin
dsp2.bin
dsp3.bin
dsp4.bin
st0010.bin
Les fichiers fusionnés ne devraient pas te servir.

Citation:

Envoyé par Kobras (Message 278694)
Car si c'est juste les données du jeux, c'est que l'idée de byuu n'est pas réellement idéale. :huh:

byuu est un archiviste et fait avant tout un travail de préservation minutieux (dumps avec mappage des PCB dans une base de données). En cela, ça ressemble à la MAME Team même s'ils n'ont pas forcément la même approche.
Les données du co-processeur font partie des données du jeu, elles n'ont pas à en être séparées, je pense qu'il a raison pour le coup. Pour l'émulation console, on a toutes les données des puces de la cartouche dans un même fichier, pas comme dans MAME où 1 fichier de ROM = 1 puce.
Le fichier fusionné permet de garder l'information sur des modifications de version de co-processeur par exemple. Selon les recherches de byuu qui le fait lui même lorsque les cartouches lui passent dans les mains, le DSP-1B n'équipe que 2 jeux (Ballz 3D et la version PAL de Pilotwings) mais on suppose qu'il équipe des ré-éditions d'autres jeux... faut "juste" que la preuve en soit fait sur une cartouche un peu plus récente.

=> https://board.byuu.org/viewtopic.php?f=8&t=1971#p51440


Fuseau horaire GMT +2. Il est actuellement 00h16.

vBulletin® v.3.8.7, Copyright ©2000-2024, Jelsoft Enterprises Ltd.