X-death 32 Report post Posted January 27, 2017( 01/27/2017 08:40 PM) Bonjour, J'ai décidé de publier mon projet de lecteur de cartouche Megadrive en USB. Ce topic fait suite à celui de la création/développement du projet visible ici Description du projet : Le but est d'avoir un outil "moderne" et peu couteux qui permet de Lire les cartouches des jeux de Megadrive. Le lecteur fonctionne avec un processeur ARM et une architecture de communication USB HID qui est supporté de manière générique par tous les systèmes d'exploitation classique ( pas besoin de driver supplémentaire). Pour le logiciel PC j'ai coder un outil simple type "shell" afin d'avoir une solution légère et portable ( pas d'installeur , pas de DLL et aucune dépendance). Il est compatible avec la quasi totalités des jeux commerciaux sauf : -Super Street Fighter II et Virua Racing qui utilisent du hardware additionnel -Certains jeux non licenciées qui utilisent des protections anti-copie ( UNL chinois ou jeux récent post SEGA). Le support des sauvegardes fonctionnent rien ne vous empêche donc de commencer sur la console et de poursuivre sur un émulateur , dans un sens comme dans l'autre. Les cartouches Master/System MARKIII peuvent être lues en utilisant un adaptateur officiel (ou celui de Tototek) jusqu’à une taille de 512 Ko. Description du logiciel: Pour installer MD_Dumper il vous suffit de vous rendre sur mon compte Github et de télécharger la version qui corresponds à votre système d'exploitation et placer l'exécutable dans le répertoire de votre choix. Pour l'utiliser il suffit simplement d'insérer une cartouche dans le lecteur et d'appuyer sur le bouton reset ( celui du STM ou celui du PCB). Le jingle USB de connexion doit se faire entendre , vous n'avez plus qu'a démarrer l’exécutable. Vous pouvez ignorer les éventuels message de pilote il s'agit du DFU Bootloader qui n'est pas nécessaire au bon fonctionnement du lecteur. Je vous conseille fortement de : -débrancher la connexion USB pour chaque changement de cartouche. -Faire un reset entre chaque action ( DUMP ROM - DUMP/WRITE SAVE ) Dès le démarrage du logiciel MD_Dumper commence par vérifier la bonne communication avec le STM32. Si tout est OK la phrase "found HID Megadrive Dumper" doit apparaître. Il reçoit ensuite les premières informations qui contiennent l'identification de la cartouche ( Megadrive ou Master System) et quelques autres informations utiles ( taille du jeu , taille de la sauvegarde). Faites votre choix en écrivant le chiffre correspondant et valider avec entrée. Voici une description des options possibles : 1. Dump SMD ROM : Il s'agit de la fonction principale du lecteur. Le contenu de la cartouche va être lu et enregistrer dans un format directement lisible par un émulateur. Afin de déterminer la taille maximum à lire vous avez deux choix possible: -Lire avec la taille déclarer dans les informations de la cartouche ( mode AUTO) -Spécifier une taille de lecture Mode Manuel ( format décimal et en Ko). Le temps de DUMP est d'environ 30s pour 512 Ko 2. Dump SMD Save : Cette fonction permet de faire une copie du contenu de la mémoire de sauvegarde de la cartouche. un fichier dump.srm sera créer au même endroit que l’exécutable. tout comme la fonction DUMP ROM vous devez choisir entre les modes AUTO et Manuel. beaucoup de jeux déclare mal la taille de la sauvegarde. La taille classique pour les jeux à sauvegardes est 8 Ko sauf pour les derniers jeux à sauvegardes de la console qui font 32 Kb ( exemple La légende Thor , Shining Force II , Phantasy Star IV). 3. Write SMD Save : Le fichier save.srm sera envoyer dans la sauvegarde de la cartouche. Vous devez obligatoirement spécifier la taille de la mémoire car certains jeux ( ex: Phantasy Star II) contrôle l'intégrité des données lors du démarrage du jeu. 4. Erase SMD Save : Cette fonction permet d'effacer entièrement le contenu d'une sauvegarde. Pratique avant de faire un Cartmod car certains jeux ne proposent pas cette option. 5. Dump SMS ROM : Si vous posséder un adaptateur Master System vers Megadrive vous pourrez également récupérer le contenu de vos jeux. MD_Dumper doit détecter la cartouche de Master System dès le démarrage. Vous devez obligatoirement spécifier une taille en Ko, il n'ya pas de mode automatique car quasiment tous les jeux de Master System déclare une fausse taille pour accélérer le boot du bios. Un fichier dump.sms sera écrit à la racine du projet. 8/9 : Hex Viewer Les deux dernières options permettent de naviguer dans la ROM en entrant une adresse ( format décimal). Pratique pour vérifier la bonne écriture d'une sauvegarde ou d'un Cartmod Description du circuit : La soudure du circuit ne demande pas de compétences particulière ,Les composants sont de type traversant y compris le µC qui dispose de son propre circuit à souder par dessus. Liste des composants : - 1 x STM32 minimum développement Board- 3 x 74LS273- 1x Push Button- 1x Megadrive Slot ( Card Edge Slot Socket Connector 32x2P ) - 1x câble MicroUSB vers USB Voici à titre d'indication des liens d'achats vers chacun de ces composants : STM32 ( Aliexpress ) STM32 (Ebay) 74LS273 ( Ebay ) | Megadrive Slot ( Ebay) Câble Micro USB ( Ebay) Programmateur STM32 Je propose à la vente un pack STM32 flasher avec le programme + PCB ( sans composant) + envoi suivi 50g à 8,5€ Le mot de la faim :D: Comme évoqué lors du topic de développement , je publie intégralité du projet aussi bien les codes sources que le circuit de fabrication toutefois cela est fait sous licence GPLV3. Il s'agit d'une licence contaminante, c'est a dire que toute utilisation directe de code source licenciée GPL V3 implique que le reste du code source soit également GPL V3. MD_Dumper est sous licence GPL V3 car j'utilise Libopencm3 pour le code ARM. Pour résumer rapidement vous avez le droit de : -Modifier le code/circuit pour répondre à vos besoins -Redistribuer des copies du code/circuits à vos amis -Partager avec d'autres vos modifications en privée en toute légalité -Revendre votre propre circuit modifié en fixant votre propre tarif En revanche vous n'avez pas le droit de : -Faire une nouvelle mise à disposition public sans publier les sources avec vos modifications au format GPL3 + le fichier qui contient la copie de la licence. -Retirer les mentions de propriété intellectuelle -Faire une modification de la licence sur les fichiers existants -Me réclamer une garantie ou une maintenance suite à vos modifications Ce projet est la concrétisation de beaucoup d'heures de travail que je ne facture pas , je vous demande donc de respecter mon travail et de suivre ces règles. Dans le cas contraire je ne partagerai plus ;) N'hésitez pas à poser vos questions/remarques dans ce topic. Bon Dump ! Sources du projet µC & soft : https://github.com/X-death25/STM32_Projects/tree/master/Megadrive_HID Remerciments: -Ced2911 pour avoir trouver cette board STM32 -Paul Fertser pour son exemple USB Hid avec un STM32 -Ichigo pour son aide sur le portage et l'optimisation des routines -SFC pour le magnifique Logo qu'il a fait en un temps records ! -Eikacy / X-calibur pour leurs participation aux tests. firmware.zip PCB_kicad.zip Soft_Windows.zip Soft_Linux.zip Share this post Link to post Share on other sites
eikacy 5 Report post Posted January 28, 2017( 01/28/2017 12:35 PM) Allez ! C'est finis ! Des soirées de larmes, des humeurs massacrants s’entrechoquant dans le silence de nuit maussades et interminables.... Chacun à du se surpasser dans son domaine ! Des vapeur de flux et soudures se sont élevés d'entre les mains de fées des valeureux soudeurs / testeurs ! De pleurs et de rire nous somme fait ! De cette magie intemporelle émane ce projet. Et crotte c'est déjà finis ! Allez on se reverra pour un autre projet ! :D Et félicitation ! Vraiment ! Good Bye !!!! Share this post Link to post Share on other sites
Belette 25 Report post Posted January 28, 2017( 01/28/2017 05:24 PM) Beau boulot, pour ceux qui ont raté le retrode c'est une belle occasion d'avoir un dumper! :) Share this post Link to post Share on other sites
SkUnK 43 Report post Posted January 30, 2017( 01/30/2017 10:11 AM) Bravo pour être aller au bout. Rapport qualité prix imbattable :) Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted January 30, 2017( 01/30/2017 12:18 PM) J'ai compilé le soft pour mac, je mettrai ca tout à l'heure dans le 1er post. edit. Ajouté dans le 1er post Share this post Link to post Share on other sites
hyuga78 3 Report post Posted January 30, 2017( 01/30/2017 02:28 PM) Bravo pour le super boulot :) Share this post Link to post Share on other sites
SFC49 11 Report post Posted January 30, 2017( 01/30/2017 03:26 PM) Content que le projet soit terminé, bravo pour le rendu, c'est propre! Cela fait plaisir d'avoir participé avec ce petit logo qui est maintenant bien installé sur les PCB :D Share this post Link to post Share on other sites
tomdomix 20 Report post Posted February 13, 2017( 02/13/2017 05:08 PM) Coucou comme promis je te fait un retour. Pour ma part je trouve ça très bien facile à monter et le soft bien aussi. C'est un peu lent pour une rom de 2Mo mais bon ce n'est pas non plus énorme :D Pour une prochaine version de ton pcb moi je mettrais deux/trois trous histoire de pouvoir le fixer dans un boitier ou support car avec mes gros doigts ce n'est pas facile d'extraire la cartouche. Voilou encore merci et bravo pour ton projet -= Sega Megadrive USB Dumper -=Detecting USB Device ...found HID Megadrive Dumper !Receiving game info ...Megadrive/Genesis cartridge Detected !Game Name : DRAGON BALL ZRelease Date : 1994.MARGame Size : 2048 KoSave Support : NoRegion : E---Menu---1.Dump SMD ROM2.Dump SMD Save3.Write SMD Save4.Erase SMD Save5.Dump SMS ROM8.SMD Hex View9.SMS Hex ViewWhat do you want ?1Dump mode :1.Auto (Size from header)2.Manual (Size from user)1Sending command Dump ROMDumping please wait ...Dump completed in 78089 ms Share this post Link to post Share on other sites
Gakman 0 Report post Posted March 8, 2017( 03/08/2017 03:38 PM) Bien reçu, merci ! Dès que je reçois les pièces (slot MD, 74LS273), j'assemble tout et je teste. :) Super projet. Share this post Link to post Share on other sites
hyuga78 3 Report post Posted March 9, 2017( 03/09/2017 01:51 PM) Bien reçu aussi, merci beaucoup :D Share this post Link to post Share on other sites
X-cAlibur 23 Report post Posted March 9, 2017( 03/09/2017 03:14 PM) Tu vois que ton week-end mise au vert à la Fist t'a été profitable X-d. GG gamin ;) Share this post Link to post Share on other sites
ltrmars 8 Report post Posted March 9, 2017( 03/09/2017 07:42 PM) Bien recu Share this post Link to post Share on other sites
KrazyP 35 Report post Posted March 18, 2017( 03/18/2017 01:43 PM) J'ai enfin monté le mien. Je suis le seul à avoir un "Périphérique USB non reconnu" sous Windows ?? Share this post Link to post Share on other sites
X-death 32 Report post Posted March 18, 2017( 03/18/2017 02:41 PM) A la première connexion c'est "normal" Y'a un driver DFU dedans qui est chargée pour le bootloader. Normalement ce message ne doit apparaitre qu'une fois et ne gène pas la détection de HID MD Dumper. tu doit pouvoir le détecter avec le Soft windows ? Share this post Link to post Share on other sites
KrazyP 35 Report post Posted March 18, 2017( 03/18/2017 09:19 PM) Ca revient à chaque fois hélas. Ote moi d'un doute : l'arduino que tu m'avais envoyé, il était bien programmé, non ? Share this post Link to post Share on other sites
X-death 32 Report post Posted March 18, 2017( 03/18/2017 09:45 PM) Au niveau des leds tu est comment ? ça clignote constamment ou c'est fixe ? J'ai normalement tester et flasher tous les STM32 que j'ai envoyer. C'est pour ça que le sachet bleu qui contient le STM32 + barettes était découper et re-scotcher. Je peu te passer un petit soft qui va scanner les périphériques USB et affiche toutes les infos. Voici comme MD_Dumper doit être énumérer si il est correctement monter : usbview.zip Share this post Link to post Share on other sites
KrazyP 35 Report post Posted March 18, 2017( 03/18/2017 09:56 PM) J'ai que la led Power qui est vert fixe. L'autre reste éteinte.Même résultat sur 3 PCs différents.Je veux bien le soft, on verra bien...Pas mieux : Edit : Je viens de vérifier, et évidemment, j'ai de quoi flasher les Altera, faire du TTL, du RS232, mais rien pour du STM32... Ca irait ça : ? http://www.ebay.fr/itm/ST-Link-V2-STLINK-V2-USB-Programming-Unit-Mini-STM8-STM32-Emulator-Downloader-/401190575149 Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted March 19, 2017( 03/19/2017 07:30 AM) J'ai normalement tester et flasher tous les STM32 que j'ai envoyer. Sauf le mien :lol: (je te taquine ^^) @Krazy, oui il faut juste ce petit boitier usb pour flasher du stm32. Attention aux cables usb, testes en plusieurs. J'ai eu le coup aussi du truc pas détecté car le cable usb devait avoir des microcoupures. Donc le stm était alimenté mais la connexion usb elle même ne marchait pas correctement. Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted April 15, 2017( 04/15/2017 01:14 PM) X-death est en train d'ajouter l'erase/write des eeproms/flash dans son MD Dumper. Du coup en bricolant on a "customisé" un peu un de mes pcb + adaptateur MD de Krazy pour faire un pcb (re)flashable ^^ C'était un mod de Water Margin avant ;) Share this post Link to post Share on other sites
tomdomix 20 Report post Posted April 15, 2017( 04/15/2017 02:35 PM) Beau boulot comme d'habitude Share this post Link to post Share on other sites
SkUnK 43 Report post Posted April 15, 2017( 04/15/2017 11:00 PM) ça sent une nouvelle rev du pcb complet flashable avec empreinte tsop48. :roll: Share this post Link to post Share on other sites
X-death 32 Report post Posted April 16, 2017( 04/16/2017 07:11 AM) Pourquoi faire ? Je vais faire une mise à jour du github et des photos mais l idée est surtout de pouvoir reprogrammer des cartmods déjà souder et ce quelque soit la réf de flash utilisée. Fini la peur de l ecran noir/rouge et ça sera pratique pour les majs de traduction. Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted April 16, 2017( 04/16/2017 08:06 AM) Skunk parle du pcb MD je pense ;) C'est pas prévu pour le moment en tout cas que je trace un autre pcb avec tsop. Share this post Link to post Share on other sites
KrazyP 35 Report post Posted April 16, 2017( 04/16/2017 12:20 PM) Et vu le succès tout relatif des pcb md tsop je suis pas prêt de me ruer pour le faire... Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted April 16, 2017( 04/16/2017 12:29 PM) On a un choix de technologies plutôt large sur le forum pour faire des mods, donc oui ca presse carrément pas. Share this post Link to post Share on other sites
X-death 32 Report post Posted May 27, 2017( 05/27/2017 10:24 AM) Petite Maj du code qui bénéficie du travail de Fab sur son SMS Dumper. -Ajout d'un indicatif de progression de dump en % -Correction de bug USB sur les timings : maintenant ça devrait marcher sur tous les PC Je met à jour l'exe dans le premier topic : les sources sont actualisée dans le github. Le/Les personnes qui avaient des souçis peuvent elles faire un retour ? Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted June 1, 2017( 06/01/2017 01:24 PM) Pour aider notre X-death j'ai commencé à remettre à plat le code coté soft et coté stm. En l'état j'ai obtenu quasi les meme perfs que sur mon sms dumper, cad 512ko dumper en ~16sec (cad le max possible en hid avec requete send/receive d'1ms / paquet de 64bytes) 24s pour 768Ko. - J'ai ajouté la verif de checksum après dump (peut aider a detecter un dump foireux par exemple) - Nom du dump automatique via nom dans le header Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted June 5, 2017( 06/05/2017 07:16 PM) J'ai quasi fini de reecrire le code STM et soft du MD dumper de X-death.(dump rom, dump save, erase save, write save, erase flash et write flash fonctionnels, me reste que la partie SMS ^^) Ceux ayant un GQ4x pouvant lire / ecrire des 29LVxxx pourriez vous me faire qq relevés ? il me faudrait au moins erase, lecture et ecriture de : - 29LV160 - 29LV320 Merci ! (c'est pour comparer avec mes specs) Share this post Link to post Share on other sites
Megazapunk 4 Report post Posted June 6, 2017( 06/06/2017 06:43 AM) Je peux te faire ça ce soir si tu veux, des screenshot te suffiront ? Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted June 6, 2017( 06/06/2017 07:07 AM) juste par ecrit ca me suffira ;) Merci ! De mon coté pour une 29W320 (idem à une 29LV320) avec une rom de 4Mo Erase: 15 secondes (erase complet du chip, pas par secteurs) Program: 3min10 (200 secondes) Read: 2min25 (145 secondes) Erase: impossible d'aller plus vite (le xeltek met le meme temps) je check le pin DQ7 pour savoir si c'est terminé (comme indiqué dans le datasheet) Prog: quasi idem, je check DQ7 pour la fin d'écriture d'un word (2 octets) et je suis limité par le hid et ses 64 bytes/ms Read: limité par le hid 64 bytes/ms pour aller plus vite : - changer de protocole USB, mais nécessitera logiquement un driver adapté... OU trouver un trick (si ca existe) pour passer plusieurs descripteurs/endpoint en HID (le protocol actuellement utilisé) - ajouter du 12v pour bénéficier du "accelerated program/fast program" des chips (ne sert a rien si l'usb ne va pas plus vite) Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted June 6, 2017( 06/06/2017 01:26 PM) Bon j'ai rebricolé le code et j'ai énormément gagné en temps ! Rom 4Mo Program: 1min15 (75 secondes) Faut que je change le read de la meme facon, car maintenant la prog est plus rapide que le dump, lol. Share this post Link to post Share on other sites
Megazapunk 4 Report post Posted June 6, 2017( 06/06/2017 07:35 PM) Voila les résultats en USB2 avec un GQ-4X : 29LV160DB: - lecture : 12.37 Sec - ecriture (ROM Ristar MD 2Mo) : 269.43 Sec - erase : 23.26 Sec Par contre j'ai pas de 29LV320, juste quelques 640, tu veux que je teste ? Share this post Link to post Share on other sites
ichigobankai 137 Report post Posted June 6, 2017( 06/06/2017 07:49 PM) tu peux . j'ai pas de 640 sous la main, mais quand j'en aurais je pourrai comparer ! Merci à toi ;) PS t'es sur de tes temps lecture /ecriture ? la différence entre les deux me parait monstrueuse ! de mon coté 29LV160DB rom Ristar 2mo Read : 72 sec Erase : 11 sec Write : 38 sec J'arrive pas a baisser le read... J'ai des desynchro entre le stm et l'ordi et je recup du coup de mauvaises données... sinon ce serait "un peu plus rapide" que le write. Pour l'ecriture y'a aucun problem/mauvais envoi, c'est le STM qui fait quasi tout le boulot... l'ordi ne fait qu'envoyer les datas aussi vite qu'il peut (et le stm va plus vite que la connexion usb) Share this post Link to post Share on other sites
Megazapunk 4 Report post Posted June 6, 2017( 06/06/2017 08:14 PM) J'ai recommencé la programmation du 160 et je t'ai fait un screen, toujours avec la même rom de RISTAR sur MD Les chiffres sont sensiblement les mêmes PS: et j'utilise un ADP-077 pour lire les puces Share this post Link to post Share on other sites
SkUnK 43 Report post Posted June 7, 2017( 06/07/2017 07:40 AM) Si besoin je pourrais faire le test avec des 320. Impressionnant la vitesse d'écriture de ton dernier code. Share this post Link to post Share on other sites