Outils pour la 3ième génération des adaptateurs raphnet GC/N64 à USB



À propose de ce projet

La troisième génération de mon adaptateur Gamecube/N64 à USB peut être mise à jour par l'utilisateur et offre des fonctionnalités avancés comme la configuration de la fréquence d'interrogation et l'accès aux cartes mémoire N64.

Comme cela dépasse les capacités d'une manette de jeu standard, les systèmes d'exploitation ne prennent pas en charge ces nouvelles fonctions. Le développement de logiciels complémentaires a donc été nécessaire.

Ces outils (graphiques ou en ligne de commande) sont distribués et documentés sur cette page.

Fonctionnalités:

goto top Retour en haut


Téléchargements

Flux RSS pour cette table
Fichier(s)DateDescription
gcn64ctl-install-1.6.0.exe (7.1 MB)
gcn64tools-1.6.0.tar.gz (345.6 KB)
6 Avril 2017 (Jeudi) Ajout du support pour le Transfer Pak:
  • Lecture du ROM des cartouches de types ROM-Only, MBC1, MBC3 et MBC5
  • Lecture et écriture de la RAM de sauvegarde pour les cartouches de type MBC1, MBC3 et MBC5
gcn64ctl-install-1.5.0.exe (7 MB)
gcn64tools-1.5.0.tar.gz (333.3 KB)
4 Février 2017 (Samedi) Support pour la gestion d'un adaptateur GC à N64:
  • Affichage de la version du firmware
  • Affichage de certains paramètres de configuration (non modifiables pour le moment)
  • Fonction de mise à jour du firmware
gcn64ctl-install-1.4.1.exe (7 MB)
gcn64tools-1.4.1.tar.gz (331 KB)
29 Janvier 2017 (Dimanche)
  • Mises à jour de firmware maintenant plus fiables:
    • Les mises à jour échouaient systématiquement s'il y avait des espaces dans le chemin d'accès vers le fichier .hex
    • Effacement forcé de la puce avant la programmation (car quand la mémoire n'est pas totalement vierge, la programmation ne réussit pas)
  • Lors des mises à jour de firmware, un fichier journal est désormais créé (le fichier raphnetupdatelog.txt est créé dans le répertoire d'origine (home) de l'utilisateur). En cas d'échec de mise à jour, je voudrai voir ce fichier.
gcn64ctl-install-1.4.exe (7 MB)
gcn64tools-1.4.tar.gz (328 KB)
16 Janvier 2017 (Lundi)
  • Support des adaptateurs avec firmware de la série 3.4.x
  • Support du Bio sensor (ligne de commande seulement)
gcn64ctl-install-1.3.exe (7 MB)
gcn64tools-1.3.tar.gz (324.5 KB)
27 Novembre 2016 (Dimanche)
  • Support des adaptateurs avec firmware de la série 3.3.x
  • Support multi-joueurs (outils en ligne de commande seulement)
gcn64ctl-install-1.2.exe (7.2 MB)
gcn64tools-1.2.tar.gz (322.8 KB)
2 Octobre 2016 (Dimanche) Amélioration et correction du processus de mise à jour des adaptateurs:
  • Ajout d'une fonction 'recover adapter' pour réparer les adaptateurs dont la mise à jour du firmware a échouée
  • Corrige un problème lors des mise à jour (Affichait l'erreur 'Update failed' sans que ce soit réellement le cas. L'utilisateur n'avait alors qu'à débrancher et rebrancher l'adaptateur pour terminer la mise à jour)
gcn64ctl-install-1.1.exe (7.2 MB)
gcn64tools-1.1.tar.gz (324.3 KB)
25 Mai 2016 (Mercredi) Ajout de support pour le firmware 3.2
gcn64ctl-install-1.0.exe (7.2 MB)
gcn64tools-1.0.tar.gz (323.9 KB)
16 Février 2016 (Mardi) Première version
Ce projet est aussi disponible sur GitHub!
Pour suggérer de nouvelles fonctionalités, rapporter un problème ou contribuer au projet, vous pouvez m'écrire ou utiliser le dépôt GitHub:
https://github.com/raphnet/gcn64tools
Vous cherchez un fichier .hex de mise à jour de firmware? Les firmwares sont distribués depuis la page de l'adaptateur.

goto top Retour en haut


Interface graphique

L'interface graphique permet de tester la vibration, de faire la mise à jour de l'adaptateur et la lecture/écriture de mempak N64. L'éditeur de mempak intégré supporte les formats .N64 et .MPK. Le gestionnaire permet également d'exporter et d'importer des sauvegardes («notes») à l'unité.
Écran principal (Linux)

Écran principal (Linux)

Écran principal (Win7)

Écran principal (Win7)

Éditeur de mempak

Éditeur de mempak



Le processus de mise à jour vous demande de choisir le fichier .hex et fait quelques vérifications pour éviter les erreurs (ex: Mettre un firmware incompatible). Une fois le fichier choisi, il n'y a qu'à appuyer sur "Start update". Si tout se passe bien (surtout ne débranchez rien!) après quelques moments la fenêtre de succès (Update successful) confirmera la mise à jour.
Avant

Avant

Pendant

Pendant

Après

Après


goto top Retour en haut


Outils en ligne de commande

Les outils en ligne de commande sont très pratiques si c'est quelque chose que vous savez apprécier. L'installateur sous Windows les place dans le répertoire d'installation et créé un raccourci permettant d'y accéder facilement:


Outil gcn64ctl

Voici quelques exemples d'utilisations de gcn64ctl. Utilisez l'option --help pour avoir une liste complète.
# Lister les adaptateurs
$ ./gcn64ctl -l
Simply listing the devices...
Found device 'GC/N64 to USB v3.0', serial '000001'
1 device(s) found
# Pour afficher la version d'un adaptateur
$ ./gcn64ctl -s 000001 --get_version
Firmware version: 3.1.0
# Pour afficher la fréquence d'interrogation présentement configurée
$ ./gcn64ctl -s 000001 --get_poll_rate
Poll interval: 5 ms

# Et pour la configurer:
$ ./gcn64ctl -s 000001 --set_poll_rate 10
Setting poll interval to 10 ms
# Pour lire un mempak N64
$ ./gcn64ctl -s 000001 --n64_mempak_dump --outfile backup.n64
Output file: backup.n64
Reading mempak...
Reading address 0x7fe0 / 0x8000
Wrote file 'backup.n64' in N64 format

Outils de manipulation d'image de mempak

Ces outils permettent de convertir entre les formats .MPK et .N64, d'afficher et manipuler le contenu d'une image (ajouter/enlever/exported des «notes»), etc. Ces outils agissent sur des fichiers et n'accèdent pas au mempak. Pour lire et écrire le mempak d'un manette, utilisez gcn64ctl ou l'outil graphique.

Note: Toutes ces manipulations de sauvegardes sont également possibles via l'outil graphique.
# Afficher le contenu
$ ./mempak_ls test2.n64
File size: 36928 bytes
.N64 file detected
Mempak image loaded. Image type 3 (N64)
Mempak content is valid
Block usage: 97 / 123
Note 0: PERFECT DARK. (28 blocks) 
Note 1: QUEST64.0 (2 blocks) 
Note 2: TUROK LVL 8. (16 blocks) 
Note 3: RAMPAGE WT. (7 blocks) 
Note 4: TUROK LVL 8. (16 blocks) 
Note 5: PERFECT DARK. (28 blocks) 
Note 6: Free
...
Note 15: Free
# Pour effacer une « note » (numéro de note de mempak_ls)
./mempak_rm test2.n64 5
File size: 36928 bytes
.N64 file detected
Loaded pakfile in N64 format.
Deleting note 5 (28 blocks)
# Convertir le format d'image
./mempak_convert test2.n64 test2a.mpk -f mpk
File size: 36928 bytes
.N64 file detected
Loaded file 'test2.n64' (N64 format)
Wrote file 'test2a.mpk' in MPK format
# Création d'une image (formattage)
$ ./mempak_format new.n64
Wrote empty (formatted) memory card file 'new.n64' in 'N64' format
# Extraire une note
$ ./mempak_extract_note test2.n64 3 rampage.note
File size: 36928 bytes
.N64 file detected
Exported note 3 to file 'rampage.note'
# Insérer une note
$ ./mempak_insert_note new.n64 rampage.note
File size: 36928 bytes
.N64 file detected
Loaded pakfile in N64 format.
Current free blocks: 123
Note size: 7 blocks
Note name: RAMPAGE WT.
Note imported and written to slot 0

goto top Retour en haut


Mettre un adaptateur à jour sous Windows

Utilisateurs de Windows, SVP lire ceci:
  1. Lorsque vous ferez la mise à jour d'un adaptateur pour la toute première fois, Windows détectera un nouveau périphérique et voudra installer un pilote. C'est normal. Par contre, cela prends tellement de temps que la mise à jour échouera. Pas de panique, débranchez l'adaptateur, redémarrez et réessayez.
  2. Avec la version actuelle de l'outil, il y a malheureusement une fenêtre noire qui vient et part constamment durant la mise à jour. Ne vous inquiétez pas, c'est normal. Je corrigerai cela un jour, mais en attendant au moins ça fonctionne.
Note: Avant de vous plaindre des défauts de l'outil, sachez que mon absence d'intérêt pour la programmation d'interfaces graphiques combinée à une forte aversion pour la programmation sous Windows font que l'existence même de cet outil est pratiquement un miracle.

Prêt

Prêt

Fenêtre noire

Fenêtre noire


goto top Retour en haut


Notes pour Linux

Si bien que l'adaptateur soit branché l'outil ne le détecte pas, c'est très probablement parce que votre utilisateur n'a pas les droits pour y accéder.

Exécuter l'outil en tant que root fonctionnerait, mais c'est une très mauvaise pratique. Il vaut mieux configurer udev pour donner les droits à un utilisateur ou à un groupe. Sur mon système, mon usager est membre du groupe plugdev, et les fichiers suivants donnent accès au groupe plugdev à l'adaptateur en mode normal (99-raphnet.rules) et en mode de mise à jour (99-atmel-dfu.rules).

/etc/udev/rules.d/99-raphnet.rules
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="289b", ATTRS{idProduct}=="0017", MODE="0664", GROUP="plugdev"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="289b", ATTRS{idProduct}=="001d", MODE="0664", GROUP="plugdev"
/etc/udev/rules.d/99-atmel-dfu.rules
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff0", MODE="0664", GROUP="plugdev" # ATmega32U2 DFU
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffb", MODE="0664", GROUP="plugdev" # AT90USB128 DFU
Note: Il va de soi que ces instructions pourraient nécessiter des adaptations selon la nature de votre système ou vos besoins.

goto top Retour en haut


Transfer Pak

Le Transfer Pak permet de lire et écrire la mémoire RAM de sauvegarde. Vous pouvez ainsi faire des copies de vos parties, ou les transférer vers des émulateurs. La mémoire ROM peut également être lue vers un fichier pour utilisation avec un émulateur...

Les types de cartouches

Il existe plusieurs types de cartouches Gameboy dont seulement quelques unes sont supportées en ce moment. Les types de cartouches et jeux testés jusqu'à présent sont:

Transfert vers un émulateur

Les donnés de sauvegarde lues par cet outil seront au format .sav qui est utilisé par plusieurs émulateurs. Démarrez d'abord le jeu dans votre émualteur afin de créer un fichier de sauvegarde vierge. Trouvez ensuite l'endroit où votre émulateur stocke les fichiers .sav et écrasez celui dont le nom correspond lorsque vous lirez la mémoire de votre cartouche originale.

Voici un exemple utilisant VisualBoyAdvance sous Windows 10. Le fichier .sav est crée dans le même répertoire que le ROM (fichier .gb) et porte exactement le même nom:


Transfert vers la cartouche

Transférer la sauvegarde d'une émulateur vers une cartouche physique est le processus inverse de ce qui est décrit ci-dessus. Il s'agit de trouver l'endroit où l'émulateur a stocké votre toute dernière partie et de sélectionner le ficher correspondant pour lancer l'écriture. Les données seront ensuite inscrites dans la mémoire RAM, puis vérifiées par relecture.

Attention!: Avant d'écrire vers une cartouche contenant une précieuse partie, assurez-vous d'en avoir fait une copie et d'avoir testé la copie dans un émulateur (car qui sait, et s'il y avait eu une erreur de lecture?). Et quoi qu'il arrive, que cette précaution ait été prise ou non, je ne suis pas responsable si votre partie s'efface.

goto top Retour en haut


Avertissement

Je ne saurais être tenu responsable pour les dommages que l'utilisation des informations ou la mise en œuvre des instructions présentées sur cette page pourrait causer à votre équipement, à vous-même ou à autrui. Aussi, je ne donne aucune garantie quant à l'exactitude des informations et à leur fonctionnement.

goto top Retour en haut


Les marques de commerce utilisées dans ce site appartiennent à leurs propriétaires respectifs.
Copyright © 2002-2017, Raphaël Assénat
Site codé avecSite codé avec vimDernière mise à jour: 7 Avril 2017 (Vendredi)