Aller au contenu
ichigobankai

[release] SMS Dumper

Messages recommandés

Suite a ce que j'avais posté donc mon topic de réalisation,

j'ouvre donc un topic dédié à cette petite babiole.

 

SMS Dumper est basé sur un STM32, un microproc ultra lowcost (2€).

Le tout en connexion USB sur ordi.

 

DUMP des cartouches,

Mappers pris en charge :

- sega master system

- codemasters

- coreens "mappers larges" type Jang Pung III

- A ajouter : mappers coreens type msx 8kb 

 

INFOS+
Les jeux SG1000, SC-3000 et Othello Multivision fonctionnent également (choisir mapper sega)
(j'ai testé pour SG1000 et Multivision via mon adaptateur Mark3)

 

 

DUMP des sauvegardes (SRAM) des jeux type RPG

 

RE-ECRITURE des SRAMs

(histoire de tricher un peu quand même) 

- permet aussi d'effacer la SRAM

 

- Détection des "overdumps" (si vous dumper la rom de facon "trop large")

 

Proto du bouzin en version "réduite" avec seulement le port master system euro (le jap étant différent):

post-5150-0-59112000-1495017325_thumb.jpg post-5150-0-73815900-1495017301_thumb.jpg

 

La version finale aura 2 slots cartouche, un euro/us et un jap.

Pour dumper les  Sega My Card (euro, jap ou sg1000) il vous faudra un card catcher.

 

Commandes en ligne et lancement de la rom fraîchement dumpée, ainsi que la détection des overdumps (redondances) et estimation de la taille réelle de la rom.

post-5150-0-69950900-1495021446_thumb.png post-5150-0-09194600-1495021445_thumb.png post-5150-0-60607200-1495021447_thumb.png post-5150-0-29749900-1495021659_thumb.png

post-5150-0-98529300-1495030244_thumb.png

 

Niveau vitesse ca donne grosso modo :

Dump ROM 512ko : 16 sec

Dump SRAM (8ko) : 0.25 sec

Write SRAM (8ko) : 0.5 sec

 

Ces chiffres peuvent fluctuer car sont dépendant de l'usb (pour les dump de roms)

 

Les fichiers seront mis à dispo ici (routage eagle, fichiers coté soft et coté STM32) et sur github.

Je me réserve juste la version "classe" du pcb (avec découpe acrylique au laser, skin etc).

 

Sources sous github, incluant
* code STM32

* code soft (pré compilé windows et mac)

* fichier eagle (version low)

https://github.com/ichigobankai/SMS_dumper

 

Executables :

Windows : SMS_dumper-WINDOWS.zip

Mac : SMS_dumper-MAC.zip

Linux : SMS_dumper_LINUX(deb64).zip

 

Fichiers Eagle :

SMS_dumper-EAGLE.zip

 

Niveau elec vous aurez besoin :

- 1 x STM32F103C8T6 (*)

- 2 x 74LS273

- Bouton poussoir type SPST 8x8mm

- Connecteur usb type B femelle 

- Condos : 2 x 100nf et 1x 22uf

- Résistance 220 ohms

- Led duo Rouge/Verte a cathode commune

- Slot SMS 50 pins au pas de 2.54mm 

 

(*) Nécessite un S-Link v2 pour flasher le STM32

 

Modification à apporter sur mes pcb pour pouvoir etre re-flashé à volonté :

post-5150-0-71431700-1495913761_thumb.jpg

*Contrairement à ce qui est indiqué, en l'état cela ne marche qu'avec la série 39SFxxx de chez Microchip !
Les codes commandes (erase/write) pour les 29Fxxx sont différents. Le support des ces dernières sera ajouté plus tard.

Partager ce message


Lien à poster
Partager sur d’autres sites

GG Chef, comme toujours.
Mais j'ai juste une question commune à X-d pour son MDDumper.
Pourquoi ? Alors que des full sets sont dispos un peu partout ?
Je ne comprends pas l'intérêt de dumper de la SMS/MD de nos jours.

PS : Si tu veux un GUI, je te le fais avec plaisir.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca servira a dumper des jeux qui ne l'ont pas encore été !

(C'est prévu depuis le départ que j'en donne 1 ou 2 à Bock de SMSpower pour dumper les protos, jeux coreens etc.)

 

Et accessoirement je mets aussi en place un truc pour re-programmer mes cartouches avec (bon là c'est purement perso)
Sans parler du dump/écritures des sauvegardes.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai rajouté l'écriture des eprom type flash (39SFxxx) avec mes pcb !
(1 fil a ajouter pour que cela marche sur les pcb actuels, je ferais une révision dudit pcb où ce sera prise en charge directement - juste le /WE eprom a relier... à /WE de la cartouche)

 

post-5150-0-84018400-1495152778_thumb.png post-5150-0-65881800-1495152775_thumb.png

 

ca met ~32s pour écrire 512ko (cad 2x plus lent)

j'ajouterais la prise en charge des 29Fxxx (sequence de commande différente) et ca sera peu près tout...

Partager ce message


Lien à poster
Partager sur d’autres sites

la GG le souci c'est que le port est proprio...

les card avec un card catcher tu peux les dumpers sans souci normalement (mais j'en ai pas, faut que j'en achete un)

 

Quand au dumps, je ne pense pas qu'il reste bcp de jeux normaux hors coreens/protos a dumper.

Mais ca permettrait de faire un set 100% clean en tout cas et comparer les versions US, euro etc de façon précise.

 

Edit.

Au final niveau vitesse je suis un tout petit peu plus rapide qu'un GQ4x

J'ai modifié un peu le code, car vu que l'on doit effacer la flash avant d'écrire, je skippe les 0xFF.

Au niveau STM32 ils sont evités/testé 1 à 1, au niveau du soft ordi qui lance les commandes, ils sont zappés par blocs de 32 bytes (32 fois un 0xFF consécutifs)

 

un GQ4x niveau perf avec une 39SF010 (soit 128Ko)

read  :  4,57 sec
write :  22,03 sec
erase :  0,13 sec
 
ce STM sans drivers, meme composant
read : 4sec
erase+write+read(verif) : 21sec
 
le erase+write+verif sont indissociables pour moi.
De toute facon c'est obligatoire de faire un erase avant un write... et la verif c'est quand même plus "secure".

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai apporté diverses petites corrections au code.

Principalement modification des timeouts pendant les échanges usb, le pc étant un veau sans nom... 

 

C'est compilable sous windows et mac (pas testé sous linux) sans erreur/warning.

Ajout de la date de compilation dans le fichier, ca peut toujours servir.

 

Encore 1 souci a corriger pour la version PC... le write merde à la 1ere écriture (après l'allumage),
il faut la faire 2 fois consécutives pour qu'elle soit parfaite. (comme si l'erase n'était pas fait au 1er coup).

Tant que l'on éteint pas, une fois le premier write fait, tous les autres sont bons.

Sur Mac c'est 100% bon du 1er coup...

 

typiquement le genre de truc qui a tendance a me gonfler >_<

T'écris 1000 lignes de code en 3 soirs et tu passes encore 3 soirées a debugguer/comprendre pourquoi 15 lignes ne fonctionnent pas partout pareil.

Partager ce message


Lien à poster
Partager sur d’autres sites

Version Windows 100% fonctionnelle !

saloperie de timeouts >_<

 

Les sources seront sous github dans le weenkend normalement.

 

Bon faut que je fasse une version en ligne de commande mais avec passage de paramètres pour y coller un GUI maintenant...

Félicitations tu n'as pas traîner pour exterminer les bugs

Partager ce message


Lien à poster
Partager sur d’autres sites

Version classe finie de router !

post-5150-0-21296800-1496086469_thumb.png

 

Pour la petite histoire j'ai du router 2 fois le port JAP...

l'empreinte sur le net dans la lib SEGA est 100% fausse  :evil:

- mauvais pas ; 1" au lieu de 1.25" (donc mauvaise échelle)

- tous les pins sont inversés... wahouu !

 

Le proto partira en fab en fin de semaine !

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...