MSX Village forum

L'école MSX ForteII Pesadelo

Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 08/03/2014 à 23h30

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 LS139

1 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 :oups Edité par Fabf Le 08/03/2014 à 23h45
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 09/03/2014 à 06h55
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
   
z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 956

Le 09/03/2014 à 07h12
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é !


TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours) :top
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,... :\'(
   
z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 956

Le 09/03/2014 à 07h18
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 :p Edité par z80 Le 09/03/2014 à 10h57


TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours) :top
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

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 09/03/2014 à 10h53
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 :moue :gne :hum

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 :top Edité par Fabf Le 09/03/2014 à 11h19
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 02/07/2014 à 20h42
Quelques nouvelles ^^



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 :hum




SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 03/07/2014 à 10h24
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.


Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/07/2014 à 10h27
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.
SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 03/07/2014 à 12h04
@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.



Philips.NMS.8245/50/80, Sony.F1XV/HBF-700D, Pana.FSA1FX/A1WX(x2)/A1GT, OCM, GR8BIT.... et ...
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/07/2014 à 12h17
Chez moi ça marche pas :(
Tu colle bien la totalité de la ROM en 4000h ?
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/07/2014 à 12h21
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 :lol

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

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 03/07/2014 à 12h27
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 ! :heink 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

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/07/2014 à 12h32
Fabf :
Il y a aussi la ROM décodée.

Elle fonctionne sous BlueMSX si on choisi normal ROM.
SveN Membre non connecté

Villageois

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 03/07/2014 à 12h42
Fabf :
Fabf :
Il y a aussi la ROM décodée.

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

Rang

Avatar

Groupe : compte ++

Inscrit le : 22/11/2011 à 21h14

Messages: 865

Le 03/07/2014 à 13h11
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... ! :tchin
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

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 03/07/2014 à 13h29
SveN :
Fabf :
Fabf :
Il y a aussi la ROM décodée.

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