Aller au contenu
tomdomix

Beggar Prince

Messages recommandés

J'ouvre un sujet sur ce jeu dont la rom est disponible mais apparemment il y à une protection qui empêche de sauvegarder

D'après X-death la mémoire est mapper dans un endroit inhabituel.

 

Avez vous des infos sur cette protection pour essayer de la retiré et d'en réalisé un cartmod ?

 

post-5914-0-51016200-1417387628_thumb.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Tomdomix.

 

Beggar Prince ou plutôt Xin Qi Gai Wang Zi de son vrai nom est déjà émuler ( merci Eke Eke).

 

Comme dit sur la ShoutBox l'autre soir, le problème de ce jeu est qu'il mappe la SRAM à un endroit inhabituel.

L'adresse habituel est 0x200001 tandisque l'adresse utilisé par le jeu est 0x400000.

 

Alors la bonne nouvelle c'est qu'en dehors de ça il ne semble pas y avoir de protection sur ce jeu, le preuve se trouve dans le code source de Genesis Plus GX :

http://code.google.com/p/genplus-gx/source/browse/trunk/source/cart_hw/sram.c?r=347

 

J'ai tester et effectivement la Roms et la sauvegarde marche parfaitement.

 

post-4965-0-83392000-1417871215_thumb.png

 

Les émulateurs classique type Gens , Kega , Regen qui mappe leur SRAM à un endroit fixe ne font donc pas fonctionner cette roms correctement.

 

Conclusion :  un cartmod de ce jeu ne devrait pas être trop difficile car tu n'a pas besoin de faire de modif dans la ROM et il n'y a pas de Mapper ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Ouai donc une cartouche 4Mo+ SRAM , une bascule sur A21 au lieu d'A19 et roule ma poule....

(une piste a couper/rediriger)

Merci X-Death :)

EDIT : Aprés reflexion meme une cartouche type 2Mo+SRAM pourrait suffire, par contre j'espere qu'un GM76C88 suffira pour la sauvegarde.

Partager ce message


Lien à poster
Partager sur d’autres sites

Si quelqu'un à un jeu à sram classique à sacrifier pour tester voici ce qu'il faudrait faire :

 

-Utiliser A21 au lieu de A20 pour la condition de bascule

-Relier /UWR au lieu de /LWR sur le /WR de la SRAM. ( B29 au lieu de B28 car la SRAM est mappé sur les adresses paires )

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui c'est A20 cartouche a mettre a A20 Maskrom et decaller ce qu'il y avait sur A20 cartouche a A21 cartouche.

 

Mon excuse a 2 balles : ca m'est arrivé de faire des jeux 2Mo+SRAM avec des cartouche 1Mo+SRAM (oui,des jeux bien bien pourri de chez EA :P ) d'ailleur si c'est ce genre de PCB qui sert : il faudra faire un pont entre les 2 broches qui remonte du connecteur cartouche (A19/A20) aux pates du NAND avant de les relier a A21 cartouche.

Sans oublier de mettre A19 et A20 cartouche aux bon endroit sur le Maskrom.

 

Comment noyer le poisson en justifiant n'importe quoi.....hum je devrais faire de la politique un jour. :ph34r:

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour Tomdomix suite à MP avec jeu Electronic Arts

 

Par contre ça risque de pas être simple avec ce type de PCB ^^

c'est un 74HC138 que tu a et pas un 74HC00.

 

Alors on peut quand même essayer mais si ça ne marche pas il faudra que tu prenne une 74HC00 ça sera beaucoup plus simple.

 

Voila ce que je te propose de tester.

 

1) normalement de base les pattes 1 & 2 du 74HC138 doivent être connecter à B8 et B9.

Il faut que tu lève ces deux pattes et que tu soude le reste du composants

 

2)Tu lève la patte A20 de la 27C322 et tu soude la Maskrom.

Tu relie la patte de A20 à la pastille de la patte 2 du 74HC138.

 

A ce stade les 4Mo de la Maskrom sont mapper sur le Bus , le jeu doit démarrer.

Si le jeu en démarre pas tu peu forcer l'activation de la Maskrom en soudant la patte 15 du 74HC138 avec la pin /CE de l'Eprom ( tu penseras à enlever cette redirections quand tu testeras avec les redirections pour la SRAM).

 

Pour la gestion de la sauvegarde maintenant.

 

Tu lève la pin 27 de la SRAM ( qui devait être relier sur B28) et tu la soude sur B29.

Tu soude le reste de la SRAM sans redirection

 

Ensuite voila les redirections que je tenterais pour le 74HC138

 

patte 1 sur A20 Maskrom

patte 2 sur B10 connecteur console

 

J'attends ton retour.

 

P.S Je met ça sur le topic de Beggar Prince

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok je vais faire les essais ce soir par contre avoir vu de pcb avec un 74HC00 ( mis à part celui de PSIV ).

Je vais cherché dans tout mes pcb si j'en trouve un ou si quelqu'un en connais qui me le dise je le commanderais pour les essais.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai testé le coup des redirections.

sur un pcb MD sram/pile classique 

 

J'ai bien un beau splash screen sega écrit en blanc...puis un interminable écran noir.

 

pour résumer, j'ai mis

- ROM A20 sur connecteur B9

- coupé l'ancienne piste qui reliait B9 au 74xx00 et relier B10 à la place (0x400000)

- coupe l'ancienne piste B28 /L_WR de la sram et relié B29 /U_WR à la place, pour avoir les adresses paires.

Faudrait t-il les 2 ? (paires + impaires)

 

car dans la doc du lien plus haut on voit ca :

 * The SRAM definition is held at offset 0x1b0 of the ROM header.
 *
 *  1B0h:   dc.b   'RA', %1x1yz000, %00100000
 *  1B4h:   dc.l   RAM start address
 *  1B8h:   dc.l   RAM end address
 *   x 1 for BACKUP and 0 If not BACKUP
 *   yz 10 if even address only 
 *      11 if odd address only 
 *      00 if both even and odd address

Partager ce message


Lien à poster
Partager sur d’autres sites

 

J'ai testé le coup des redirections.

sur un pcb MD sram/pile classique 

 

J'ai bien un beau splash screen sega écrit en blanc...puis un interminable écran noir.

 

pour résumer, j'ai mis

- ROM A20 sur connecteur B9

- coupé l'ancienne piste qui reliait B9 au 74xx00 et relier B10 à la place (0x400000)

- coupe l'ancienne piste B28 /L_WR de la sram et relié B29 /U_WR à la place, pour avoir les adresses paires.

Faudrait t-il les 2 ? (paires + impaires)

 

car dans la doc du lien plus haut on voit ca :

 * The SRAM definition is held at offset 0x1b0 of the ROM header.
 *
 *  1B0h:   dc.b   'RA', %1x1yz000, %00100000
 *  1B4h:   dc.l   RAM start address
 *  1B8h:   dc.l   RAM end address
 *   x 1 for BACKUP and 0 If not BACKUP
 *   yz 10 if even address only 
 *      11 if odd address only 
 *      00 if both even and odd address

Tu as pris quoi comme PCB ? j'ai cherché dans tout les mien pas moyen de trouvé un jeu avec une 74hc00

 

Sinon j'ai testé les nouvelle redirection pour le 47hc138 et j'ai ecran noir meme plus le splash screen sega blanc 

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est étonnant que ça ne démarre pas , car sur ma X-flash64 ça démarre.

j'ai pas la sauvegarde car /WR de la SRAM est relier directement à /LWR du Bus et ne passe pas par le FPGA.

 

Ichigo si tu ne relie pas B10 est ce que le jeu démarre ?

 

Sinon :

 

 

J'ai testé le coup des redirections.

sur un pcb MD sram/pile classique 

 

J'ai bien un beau splash screen sega écrit en blanc...puis un interminable écran noir.

 

pour résumer, j'ai mis

 

- coupé l'ancienne piste qui reliait B9 au 74xx00 et relier B10 à la place (0x400000)

 

Est-tu sur d'avoir tout coupé ?

D'après la docs B9 est reliée en 4&5 du 74HC00 mais aussi en 9.

 

Tu peut me confirmer que tu est bien sur cette config :

 

post-4965-0-87471100-1418664413_thumb.gif

Partager ce message


Lien à poster
Partager sur d’autres sites

sur mon pcb B9 était relié en #5 et #9 du 74xx00 d'origine.

 

et j'ai coupé au juste au dessus du connecteur cartouche, donc y'a plus rien de connecté pour sur derriere.

 

moi c'est un pcb MD Sega "standard" avec sram / pile.

 

je vais refaire une cartouche test au cas où ca viendrait de mon vieux pcb soudé/dessoudé maintes fois (mais bon jusqu'à présent il a toujours ± fonctionné)

 

j'ai utilisé une 29l3211+adaptateur avec 2 diodes+condo pour l'alim de l'eprom (vcc+byte)

et A18/19/20 reliés sur le port cartouche.

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est blizzard votre problème , car si vous avez le TMSS c'est que /CE est bien relier....

 

Sinon pour moi 0x400000 est actif lorsque A21 est à "1" et même si ce n'est pas le cas , le jeu doit quand même démarrer et ensuite planter lorsqu'un accès est fait c'est à dire juste après le Logo de la SFT !

 

Edit : d'après le débugger de Regen il semble y avoir une écriture à 0x400001 pendant l'affichage du Logo donc ça voudrait dire que l'écriture se ferait aussi bien sur les adresses paires que impaires.

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai testé avec plusieurs gate

 

OR (7432), AND (7408), en direct sur /UWR ou /LWR et ca save pas.

 

pour sauvegarder, le truc le plus rapide c'est bien d'aller dans la petite maison située sur la droite du village ?

sinon j'ai trouvé qq photos du pcb !

 

post-5150-0-84376300-1418676527_thumb.jpg post-5150-0-46752100-1418676529_thumb.jpg

on voit que seul /LWR est utilisé...

ce cpld sert à quoi par contre ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui c est ça pour la save ;-)

merci pour tes tests :-)

Par contre je suis tout aussi etonner de voir un CPLD :-o

 

Y en a un dans chaque cartouche ou c est celle qui a servit au dev ?

Bon je vais devoir faire des tests sur la X-flash 64.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai peut être une suggestion.

 

Quand je regarde la docs du connecteur cartouche on constate que /CE ne doit pas pouvoir contrôler une SRAM mapper à 0x400000

 

 

Chip Enable for the cartridge, low when accessing $000000-$3FFFFF

 

Pour pouvoir adresser au delà de $3FFFFF il faut surement utiliser /ASEL (B26), c'est comme ça que javait écrit le mode de configuration 8Mo de la X-flash 64.

 

 

/ASEL Read or Write on $000000-$7FFFFF region

 

Perso ,Je n'aurais pas le temps de tester ça avant vendredi mais si l'un d'entre vous veut essayer ii faudrait voir comment la ROM se comporte:

 

-Avec /ASEL à la place de la /CE et sans la SRAM

-avec /ASEL à la place de la /CE SRAM

 

Donc dans notre ancien montage la SRAM ne devait jamais être active lors de la demande d'écriture ( un test avec une Led pourrait le confirmé)

Partager ce message


Lien à poster
Partager sur d’autres sites

je teste ca de suite ;)

 

/AS c'est en B18

 

d'ailleurs via les photos du pcb , j'ai relevé ce qui était utilisé :

 

front pcb (B side)
2  /h_rst

4  a9
5  a10
6  a18
7  a19
8  a20
9  a21
10 a22
11 a23

16 /oe
17 /ce_l
18 /as

22 d15
23 d14
24 d13
25 d12

28 /wr_l

32 /cart_in

Edit. ca marche pas avec cette méthode "avec /ASEL à la place de la /CE SRAM"

Ca ne démarre pas quand je mets le B18 (AS) à connecté au /CE de la sram - pas de sega/rien.

 

il faut certainement passé le AS dans une porte pour activer le /CE SRAM lorsque la rom n'est pas utilisé.

 

pinout cartouche MD

post-5150-0-82548800-1418838718_thumb.gif

Partager ce message


Lien à poster
Partager sur d’autres sites

marche pas non plus, mais j'ai le "splash screen" SEGA, c'est déjà ca ^^

 

il faudrait peut etre passer le /ASEL au travers d'une gate pour n'activer la SRAM que lorsque B10 = 1 (0x400000),

faut juste un OR (7432) en plus

 

en gros recup le ligne qui n'est plus utilisée sur le 7400 pour avoir B10 et VCC (en input),

relier la sortie vers l'input d'un 7432 (pin1), mettre /ASEL  sur le 2ème input (pin2) , puis output (pin3) vers le /CE SRAM.

 

la théoriquement ca devrait activer le CE SRAM que lorsque B10 = 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Comme prévu j'ai fait un test avec la X-flash 64.

Pour moi en remplacant /CE par /ASEL le jeu fonctionne et la sauvegarde aussi.

 

post-4965-0-12551700-1419080463_thumb.jpg

 

post-4965-0-65049700-1419080417_thumb.jpg

 

Cependant j'ai des glitchs au niveau de tous les sprites :

 

post-4965-0-70595300-1419080559_thumb.jpg

 

Ce bug est "normal" car j'utilise constamment /ASEL , ce qu'il faut faire maintenant c'est l'utiliser en remplacement de /CE que quand il y a un accès > à $3FFFFF :)

 

Je vais continuer mes tests et dès que j'aurai trouver je vous donne les équations logique.

 

Edit : c'est bon j'ai plus de bug de Sprite :mrgreen:

Partager ce message


Lien à poster
Partager sur d’autres sites

Voila ce que j'ai écrit

 

  CE_SRAM <= (ASEL NAND ASEL) NAND MD_ADDR(21);
  CE_FLASH <= (MD_ADDR(21) NAND MD_ADDR(21)) NAND (MD_CE NAND MD_CE);

 

donc juste avec le 74HC00 ça doit suffire

 

Ce câblage permet de faire marcher la ROM et la sauvegarde.

 

Cependant il doit y avoir des protections dans la ROM car quand je parle au magicien qui me donne la 1er magie , le jeu redémarre après l'obtention de la première magie... ( même chose sur ému)

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Restaurer la mise en forme

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement

×
×
  • Créer...