L'école MSX ForteII Pesadelo
Fabf
Membre non connecté
Conseiller Municipal
Reprise du message précédent
Par contre cela utilise 2 composants alors qu'on doit pouvoir gérer l'autre config avec un seul LS1391 A14 | 1 A15 | 1Y0 | 1Y1 | 1Y2 | 1Y3 | |
L | L | L | /CSMAIN | |||
H | L | L | /CSRAM | |||
2 A15 | 2 A15 | 2Y0 | 2Y1 | 2Y2 | 2Y3 | |
H | H | L | /CSROM |
Je suis peut être dans l'erreur Edité par Fabf Le 08/03/2014 à 23h45
La ROM du jeu Pesadelo fait 64Ko. C'est une 27512. En fouillant dans la ROM avec un éditeur hexa, on remarque que c'est une ROM à adressage ou/et aux bits codées différemment. Le programme n'est pas visible.
On dirait qu'il y a une autre ROM à côté. Elle ne doit pas être là pour décorer. A quoi peut-elle servir si le Bios de 32Ko (possible 16Ko si bridé mais j'en doute) se trouve dans la 27512 ? Il est possible aussi que ce soit une SRAM utilisée en tant que RAM.
Par contre, étant donné que BlueMSX émule le jeu, ça veut dire qu'il décode la ROM. J'ai donc lancé la ROM et enregistré le contenu de la mémoire. Finalement, il s'agit de la ROM originale de Konami avec seulement le titre et le numéro de stage de départ modifié. Elle fait donc 32Ko. Il suffit d'enlever les parties C000H~FFFFH et 0000H~3FFFH puis de sauvegarder pour que le jeu se lance sur MSX dans une flashrom, une MegaSRAM ou n'importe quel émulateur.
Pour pouvoir le lancer en RAM, il faut modifier:
00028h: 22 12 41 -> 00 00 00
00055h: 22 1E 41 -> 00 00 00
000CEh: CB B6 -> 00 00
Il ne reste plus qu'à élucider la partie hardware. Edité par GDX Le 09/03/2014 à 08h06
On dirait qu'il y a une autre ROM à côté. Elle ne doit pas être là pour décorer. A quoi peut-elle servir si le Bios de 32Ko (possible 16Ko si bridé mais j'en doute) se trouve dans la 27512 ? Il est possible aussi que ce soit une SRAM utilisée en tant que RAM.
Par contre, étant donné que BlueMSX émule le jeu, ça veut dire qu'il décode la ROM. J'ai donc lancé la ROM et enregistré le contenu de la mémoire. Finalement, il s'agit de la ROM originale de Konami avec seulement le titre et le numéro de stage de départ modifié. Elle fait donc 32Ko. Il suffit d'enlever les parties C000H~FFFFH et 0000H~3FFFH puis de sauvegarder pour que le jeu se lance sur MSX dans une flashrom, une MegaSRAM ou n'importe quel émulateur.
Pour pouvoir le lancer en RAM, il faut modifier:
00028h: 22 12 41 -> 00 00 00
00055h: 22 1E 41 -> 00 00 00
000CEh: CB B6 -> 00 00
Il ne reste plus qu'à élucider la partie hardware. Edité par GDX Le 09/03/2014 à 08h06
Technique bien connu utiliser par certains pour simplifier le routage des circuits imprimé, D0 du CPU n'est pas connecté au D0 de la mémoire. Du coup il faut un logiciel qui permet de "mélanger" les bits pour pouvoir écrire le fichier dans l'eprom. Mais aussi pour obtenir un fichier cohérent quand on veut lire le contenu de l'eprom pour modifier le programme.
Astuce:
Sélectionner une zone de la mémoire avec 3 ou 4 octets de valeur connus et qui ne soit pas en hexa "55", "AA", "00", "FF".
Parce que les répétition de bit laisse une possibilité d'avoir mal permuté les bits.
Permutée les bits pour obtenir la bonne suite d'octets. Quand une permutation donnée donne la bonne suite d'octets sur plusieurs octets consécutifs du programme alors écrivez un programme qui appliqué de manière automatique cette permutation sur l'ensemble de la mémoire et le tour est joué !
Astuce:
Sélectionner une zone de la mémoire avec 3 ou 4 octets de valeur connus et qui ne soit pas en hexa "55", "AA", "00", "FF".
Parce que les répétition de bit laisse une possibilité d'avoir mal permuté les bits.
Permutée les bits pour obtenir la bonne suite d'octets. Quand une permutation donnée donne la bonne suite d'octets sur plusieurs octets consécutifs du programme alors écrivez un programme qui appliqué de manière automatique cette permutation sur l'ensemble de la mémoire et le tour est joué !
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
Attention : cela ne semble pas Être le cas ici. Mais de grand malade/psychopathe appliquait cette technique aux bits d'adresse... Alors dans ces cas là fallait être en pocession d'un circuit imprimé ou être très acharné et aussi malade que le concepteur
Edité par
z80
Le 09/03/2014 à 10h57
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
Fabf
Membre non connecté
Conseiller Municipal
Ca marche pas ma table de vérité d'hier
Pour:
0000h-3FFFh : MAINROM16ko
4000h-BFFFh : ROM32ko
C000h-FFFFh : RAM16ko
Là je pense que c'est mieux
Merci GDX pour le décorticage en règle de la ROM Edité par Fabf Le 09/03/2014 à 11h19
Pour:
0000h-3FFFh : MAINROM16ko
4000h-BFFFh : ROM32ko
C000h-FFFFh : RAM16ko
Là je pense que c'est mieux
1A-A14 | 1B-A15 | 1Y0 | 1Y1 | 1Y2 | 1Y3 | |
L | L | L | /CSMAIN | |||
L | H | L | 2A-1Y1 | |||
H | L | L | 2B-1Y2 | |||
H | H | L | /CSRAM | |||
2A-1Y1 | 2B-1Y2 | 2Y0 | 2Y1 | 2Y2 | 2Y3 | |
L | L | L | /CSROM |
Merci GDX pour le décorticage en règle de la ROM Edité par Fabf Le 09/03/2014 à 11h19
Fabf
Membre non connecté
Conseiller Municipal
Quelques nouvelles
C'est bien le cas ici heureusement ce site fourni toutes les infos.
http://tabalabs.com.br/msx/fort_games/
Il y a aussi la ROM décodée.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Voila pour le bon coté, maintenant la suite
Si on extrait la ROM du jeu en 32ko ça marche parfaitement.
Par contre si on essaye de remplacer ce jeu par une ROM de 16ko ou 32ko (konami) la machine ForteII ne démarre pas.
Peut être avec une modif de quelques octets
z80 :
Attention : cela ne semble pas Être le cas ici. Mais de grand malade/psychopathe appliquait cette technique aux bits d'adresse...
C'est bien le cas ici heureusement ce site fourni toutes les infos.
http://tabalabs.com.br/msx/fort_games/
Il y a aussi la ROM décodée.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Voila pour le bon coté, maintenant la suite
Si on extrait la ROM du jeu en 32ko ça marche parfaitement.
Par contre si on essaye de remplacer ce jeu par une ROM de 16ko ou 32ko (konami) la machine ForteII ne démarre pas.
Peut être avec une modif de quelques octets
SveN
Membre non connecté
Villageois
Le mapper de la ROM est décrit dans le fichier suivant : http://tabalabs.com.br/msx/fort_games/fort.zip
Il est en tout point identique au mapper utilisé dans BlueMSX : http://sourceforge.net/p/bluemsx/code/HEAD/tree/trunk/blueMSX/Src/Memory/romMapperForteII.c
Je ne sais pas si ça peut aider mais certains logiciels fournis avec les programmateurs d'eprom sont capables de "remapper" les données et de les sauvegarder.
Il est en tout point identique au mapper utilisé dans BlueMSX : http://sourceforge.net/p/bluemsx/code/HEAD/tree/trunk/blueMSX/Src/Memory/romMapperForteII.c
Je ne sais pas si ça peut aider mais certains logiciels fournis avec les programmateurs d'eprom sont capables de "remapper" les données et de les sauvegarder.
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Fabf
Membre non connecté
Conseiller Municipal
Non pas de problèmes de ce coté là.
Une ROM décodée est fournie.
Le problème c'est pour injecter un autre jeu dans la ROM.
Une ROM décodée est fournie.
Le problème c'est pour injecter un autre jeu dans la ROM.
SveN
Membre non connecté
Villageois
@Fabf : j'ai du mal comprendre ce que tu cherches à faire.
Remplacer la rom dans les fichiers décodés présents sur tabalabs ne pose pas de problème au lancement sur une machine générique de BlueMSX (testé avec antartic adv.).
Si l'on veut modifier la rom propre au système ForteII utilisée par BlueMSX (64K), il faut effectivement encoder la rom selon les règles de "mappage" propres à ce système.
Tu peux utiliser la version décodée de 64K présente sur le site de Tabalabs, y insérer la rom de ton choix et vérifier que ça se lance avec une machine "générique". Pour l'utiliser avec la machine "ForteII", il faut remapper tout ça.
Remplacer la rom dans les fichiers décodés présents sur tabalabs ne pose pas de problème au lancement sur une machine générique de BlueMSX (testé avec antartic adv.).
Si l'on veut modifier la rom propre au système ForteII utilisée par BlueMSX (64K), il faut effectivement encoder la rom selon les règles de "mappage" propres à ce système.
Tu peux utiliser la version décodée de 64K présente sur le site de Tabalabs, y insérer la rom de ton choix et vérifier que ça se lance avec une machine "générique". Pour l'utiliser avec la machine "ForteII", il faut remapper tout ça.
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Fabf
Membre non connecté
Conseiller Municipal
Chez moi ça marche pas
Tu colle bien la totalité de la ROM en 4000h ?
Tu colle bien la totalité de la ROM en 4000h ?
Fabf
Membre non connecté
Conseiller Municipal
Ca y est j'ai pigé, tu lance la ROM modifiée avec un nouveau jeu sur un MSX standard.
Normal que ça marche le jeu démarre en 4000h normalement
Utilise la ROM modifié avec un nouveau jeu dans une config ForteII à la place de la ROM d'origine et tiens moi au jus
Normal que ça marche le jeu démarre en 4000h normalement
Utilise la ROM modifié avec un nouveau jeu dans une config ForteII à la place de la ROM d'origine et tiens moi au jus
SveN
Membre non connecté
Villageois
C'est ce que j'ai dit : pour utiliser ta rom modifiée dans une config ForteII, il te faut TOUT remapper avec les infos données plus haut !!
Par exemple, prenons le premier octet de la rom 64K décodée : F3h = 11110011b
en appliquant les règles de mappage (à la main pour ce qui me concerne), on obtient 11101110b = EEh, ce qui correspond au premier octet de la rom utilisée par BlueMSX ...
et ainsi de suite.
Il ne reste plus qu'à automatiser tout ça ! Edité par SveN Le 03/07/2014 à 12h40
Par exemple, prenons le premier octet de la rom 64K décodée : F3h = 11110011b
en appliquant les règles de mappage (à la main pour ce qui me concerne), on obtient 11101110b = EEh, ce qui correspond au premier octet de la rom utilisée par BlueMSX ...
et ainsi de suite.
Il ne reste plus qu'à automatiser tout ça ! Edité par SveN Le 03/07/2014 à 12h40
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Fabf
Membre non connecté
Conseiller Municipal
Fabf :
Il y a aussi la ROM décodée.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
SveN
Membre non connecté
Villageois
Fabf :
Fabf :
Il y a aussi la ROM décodée.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Pas avec la machine ForteII qui se contente de lancer sa propre rom et de lancer le jeu qui s'y trouve.
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
SveN
Membre non connecté
Villageois
J'ai oublié de préciser qu'il faut évidemment procéder de même pour l'adressage ! Mon exemple avec l'adresse 0 est loin d'être suffisant ...
L'octet situé à l'adresse 520H (0000010100100000b) de la rom 64K décodée vaut F3h = 11110011b
En utilisant les règles de mapping relatives à l'adresse, on obtient (toujours à la main) : 1000000010010000b = 8090h..
Sur la rom encodée, à l'adresse 8090h, on trouve bien la valeur correspondante (mappée) de F3h, soit EEh ...
A vos codes... !
Edité par SveN Le 03/07/2014 à 13h24
L'octet situé à l'adresse 520H (0000010100100000b) de la rom 64K décodée vaut F3h = 11110011b
En utilisant les règles de mapping relatives à l'adresse, on obtient (toujours à la main) : 1000000010010000b = 8090h..
Sur la rom encodée, à l'adresse 8090h, on trouve bien la valeur correspondante (mappée) de F3h, soit EEh ...
A vos codes... !
Edité par SveN Le 03/07/2014 à 13h24
Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
Fabf
Membre non connecté
Conseiller Municipal
SveN :
Pas avec la machine ForteII qui se contente de lancer sa propre rom et de lancer le jeu qui s'y trouve.
Fabf :
Fabf :
Il y a aussi la ROM décodée.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Pas avec la machine ForteII qui se contente de lancer sa propre rom et de lancer le jeu qui s'y trouve.
Fabf :
Elle fonctionne sous BlueMSX si on choisi normal ROM.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie