Jump to content
ichigobankai

[release] SMS Dumper

Recommended Posts

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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

L aspect partage de sauvegardes entre membres peut aussi être sympa.

+1 pour le gui :-)

Share this post


Link to post
Share on other sites

Voilà donc un truc propre léger optimisée et multiplateforme.

Si possible avant lundi ?

Merci

cordialement

Share this post


Link to post
Share on other sites

@X-d, on a dit gui, pas gay... T'es toujours intéressé ? :D
T'as changé depuis tes vacances à Marseille :D

J'attends tes sources sur le git et je te fais ça ;)

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other sites

J'ai rajouté la verification après l'écriture, ca peut toujours etre "utile" !

post-5150-0-95256400-1495190476_thumb.png

 

Du coup ca rallonge un peu le temps (du à la verif/re-lecture du chip), mais c'est pour la bonne cause ^^

Share this post


Link to post
Share on other sites

Hormis des titres Coréens exotiques et quelques protos, il reste des cartouches SMS, Mark III ou SG1000 à dumper en 2017 ?

Share this post


Link to post
Share on other sites

Je pense que le truc ultime serait les empreintes pour le slot Game Gear et le slot Sega Card !

Share this post


Link to post
Share on other 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".

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Merci à vous ;)

 

Du coup je vais pouvoir extrapoler ce code/pcb pour faire un PCE dumper/writer a pas cher ^^

(le fameux programmeur standalone que je comptais faire il y a déjà qq années)

Share this post


Link to post
Share on other sites

Rajouter les sources compilées (windows, mac et fichier eagle) dans le bas du 1er post ainsi que la liste des quelques composants.

 

+modif sur mes pcb pour les rendre "re-flashables"

Share this post


Link to post
Share on other 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 !

Share this post


Link to post
Share on other sites

Je pense que t'as sévèrement moyen d'optimiser l'espace ^^

Share this post


Link to post
Share on other sites

J'imagine bien que tu fais pas une course au m2 de pcb pour le fun ^^

Share this post


Link to post
Share on other sites

×
×
  • Create New...