|
||||||||
|
||||||||
| This page is also available in English | ||||||||
| L'idée | [cacher] |
Un jour, je me suis acheté un genesis avec quelques jeux. J'en ai eu assez de jouer a Sonic et
Micro Machines alors j'ai décidé de construire une cassette reprogrammable. Il est possible
de faire plusieurs choses avec cette cassette:- Développement: Faire ses propres programmes ou jeux et avoir la chance de les essayer sur la vrai machine. (plutot que dans un émulateur). Si cela vous intéresse, je crois que la page de documentation technique sur le genesis chez zophar est un bon point de départ. - Musique: Écouter de la musique de genesis (.gym) sur la vrai machine. Il y a un rom nommé "Flavio's GYM Player v1.0" qu'on combine avec un fichier .GYM pour ensuite l'exécuter dans un émulateur ou un vrai genesis. Le voici: Flavio's GYM Player V1.0 (PD).zip Téléchargez les fichiers de musique depuis l' archive de zophar - Utilisations de démos et roms dans le domaine publique: Les démos sont de petites présentations ou jeux fait par une personne ou un groupe avec de la musique est divers effets spéciaux permettant de démontrer les capacités de(s) auteur(s). Il y a quelques démos de genesis sur ces pages: http://www.gameasylum.com/demoscene.html http://www.zophar.net/roms/genesis.html Et ici: Flavio's Color Bar Screen (PD).zip Flavio's DMA Test (PD).zip Flavio's GYM Player V1.0 (PD).zip Flavio's Raster Effects Test (PD).zip - Utilisations de roms commerciaux: On peut aussi télécharger des roms de jeux pour les utiliser avec cette cassette. Malheureusement, c'est illégal. Certaines personnes prétendent que si on efface le jeu dans les 24 heures qui suivent c'est légal (Je ne sais pas..). Aussi, la pluspart de ces jeux ne sont plus vendus et peuvent peut-être être considérés comme 'Abandonware'. (Encore la, je ne sais pas...) IMPORTANT:Ne me contactez pas pour savoir où trouver des roms, ni pour me demander de vous en faire parvenir. |
| Images | [cacher] |
| Shémas | [cacher] |
Voici le shéma pour la deuxième version de la carte. Des puces flash
de 512K de type AT49F040 sont utilisés. La carte peux contenir un jeu/logiciel d'une
taille de 1Meg (1024K) ou deux jeux/logiciels de 512K. Dans le deuxième cas, on peux
alterner entre les deux jeux/logiciels avec le bouton reset de la console:![]() Voici une version pdf: genesis_8mbit_cart.pdf Deux flash sont utilisés car le BUS de donnés du Genesis est de 16 bit. Une flash s'occupe des bits 0 à 7 et l'autre des bits 8 à 15. L'ancienne version qui utilisait des flash AT49F002 n'avait pas 74ls90 pour alterner entre deux segment. A18 n'était tout simplement pas connecté car l'addressage des flash AT49F002 arrête à A17. Datasheet des flash AT49F002 (256K): doc1017.pdf Datasheet des flash AT49F040 (512K): doc0998.pdf |
| Circuit imprimés | [cacher] |
J'ai utilisé un logiciel nommé PCB pour créer le circuit.
PCB est disponible à pcb.sourceforge.net et
fonctionne sous les systèmes Unix.Voici les fichiers sources: La deuxième version (1024K): cart_8mbit.pcb La première version (512K): cart_512k.pcb Voici les fichiers gerber: cart_8mbit_gerbers.zip Attention: Il y a de petites erreurs dans la version 512K du PCB. Prenez note de l'emplacement des fils sur les photos. La version 1024K sur les photos avait des erreurs aussi mais elles sont corrigés dans le fichier source. |
| Programmation | [cacher] |
| Pour programmer les flash, j'utilise un vieux programmeur universel de
xeltek. Vous pouvez acheter un programmeur universel
sur ebay pour environ 50$ US ou construire votre propre programmeur car les datasheet
expliquent comment programmer les flash. Mon programmeur accepte les boitiers DIP seulement. Il accepte les plus grosses flash et les autres types de boitier avec des adaptateurs mais je ne trouvais pas de plus grosses flash de plus que 512K. J'aurais pu souder d'autres types de flash mais il m'aurait fallu construire un adaptateur. |
| Outils | [cacher] |
smd2binLes roms de genesis sont généralement en format .smd (Super magic drive). On ne peux pas simplement programmer ce fichier dans les flash, il faut tout d'abord le convertir en binaire.J'ai codé un simple outil de ligne de commande pour convertir un .smd en .bin qui fonctionne sous linux. (c'est du C très simple, il est probablement facile de compiler cela sous n'importe quel système d'exploitation): smd2bin.tar.gz Code source et Makefile. smd2bin.c Code source. smd2bin.exe Executable windows 32 bit. L'utilisation est facile. Pour convertir goldnaxe.smd en goldnaxe.bin: $ ./smd2bin goldnaxe.smd goldenaxe.bin File has 32 16K blocks Wrote 524288 Bytes (512 Kb)J'ai utilisé l'information dans smdform.txt pour programmer cet outil. bin2hiloLes BUS de donnés du genesis est de 16 bits. J'utilise deux flash de 8 bits alors il faut séparer le fichier .bin qui est une suite de mots de 16 bits en deux fichiers, un contenant les bits de poids fort et l'autre les bits de poids faible.J'ai codé un simple outil de ligne de commande pour effectuer cette opération qui fonctionne sous linux. (c'est du C très simple, il est probablement facile de compiler cela sous n'importe quel système d'exploitation): bin2hilo.tar.gz Code source et Makefile. bin2hilo.c Code source. bin2hilo.exe Exécutable windows 32 bit. $ ./bin2hilo movie_trailer_demo.bin movie_trailer_demo_h.bin movie_trailer_demo_l.bin wrote 2 245760 Bytes (240 Kb) filesVous pouvez maintenant programmer vos flash ou eprom avec ces deux nouveaux fichiers. Il est possible que le logiciel que vous utilisez avec votre programmeur de flash/eeprom ait une option permettant de lire seulement les bits de poids fort ou faible lorsque vous chargez un fichier binaire. Dans ce cas, l'utilisation de bin2hilo n'est pas nécésaire. |
| Références | [cacher] |
|
Datasheet des flash AT49F002 (256K): doc1017.pdf Datasheet des flash AT49F040 (512K): doc0998.pdf Informations sur les cassettes de genesis (signaux et explications): genhw.txt Informations sur l'en-tête des fichiers smd: smdform.txt Pour le développement de logiciels, il y a de l'information sur le genesis ici: http://cgfm2.emuviews.com/gen.php http://www.zophar.net/tech/genesis.html |
| Avertissement | [cacher] |
|
Je ne saurais être tenu responsable pour les dommages
que la mise en oeuvre des instructions présentées
sur cette page pourraient causer à votre équipement
ou à vous-même. Aussi, je ne donne aucune garantie quant
à l'exactitude des informations et à leur fonctionnement.
Notez toutefois que les procédures ci-haut ont fonctionnées
sans aucun problème pour moi. |
Codé manuellement avec
|